执行加密的python字节码。
pyce的Python项目详细描述
Pyce
pyce
是一个库,用于处理加密的python字节码。它补充道
通过扩展内置关键字
import
有效。目前,它假设将使用聚合加密,
但图书馆可以扩建。例如,功能可以添加到
通过Hashicorp's Vault解密文件
支持将聚合加密作为一种操作模式)。
pyce
通过
确保每个部署的文件正是开发人员想要的
实施端到端加密。即使只有一点点
导入的python文件被修改。
我怎么用?
首先,您需要加密模块或包。注意:这是 破坏性操作。不要在未保存的代码基上运行此操作 其他地方。这可以对文件夹递归操作,并支持排除 列表(不加密某些文件)。
pyce
期望使用命令将文件预编译为python字节码
类似于python3 -mcompileall -b
,其中-b
执行就地编译。
frompyceimportencrypt_pathencrypt_path('pyce/hello.pyc')[('pyce/hello.pyce','443df1d5f9914d13ed27950dd81aa2dd9d3b708be416c388f3226ad398d71a14')]
其次,注册密钥并尝试从加密模块导入,或者 套餐:
frompyceimportPYCEPathFinderPYCEPathFinder.KEYS={'pyce/hello.pyce':'443df1d5f9914d13ed27950dd81aa2dd9d3b708be416c388f3226ad398d71a14'}importsyssys.meta_path.insert(0,PYCEPathFinder)frompyce.helloimporthellohello()
密钥分发不在本项目的范围内。你需要
通常通过使用网络密钥服务器(如Hashicorp's
Vault)来维护密钥。你可以按环境传递密钥
变量,stdin
,或其他一些机制。
通常,您将保留(排除)一个存根文件,该文件设计为仅挂接 python的导入路径解析器,设置键,然后执行代码。
我能用它做什么?
文件完整性监视:您可以保护正在运行的生产代码 在应用程序服务器上,通过添加导入的自动加密检查。
许可:您可以将加密模块发布到pypi,并且只发布 解密某些组织、人员或其他人的密钥!你可以发表 任何地方都有这样的模块!
at rest代码保护:您可以通过集成
使用ide或其他软件即时解密。这更像是
在这个时间点上的diy项目,但是pyce
提供了所有的构建块
你需要!
许可证
所有这些代码都是在Apache v2.0 License下发布的。