我已经完成了我的 python 3 应用程序,它正在使用 PyPi 的多个公共(public)模块。
但是,在我部署它以在我公司的企业内运行(处理我们客户的凭据和访问第 3 方 API)之前,我需要尽职调查以确保它们既安全又安全。
我必须执行哪些步骤:
- 验证 PyPi 模块的安全性和使用安全性,重要的是要注意目标 Python 3 应用程序将处理凭据?
- 最推荐的验证 PyPi 模块签名的方法是什么?
- PyPi 模块签名是否可信?
顺便说一句,Python 3 应用程序将在 Docker 容器中运行。
谢谢
最佳答案
这是 3 个独立的问题,因此:
您必须审核包(或让其他人来做)才能知道它是否安全。没有简单的解决方法。
所有 pypi 包都附加了 md5 签名(文件后括号中的链接)。其中一些还附加了显示在同一位置的 pgp 签名,但是否发布由作者决定。 (例如 https://pypi.python.org/pypi/rpc4django 包括 md5 和 pgp)Md5 验证完整性。 Pgp 验证完整性和来源,因此在可用时是更好的选择。
与任何其他签名一样。
如果您担心该级别的依赖性,我认为您应该考虑维护您的内部 pypi 存储库。它为您提供了更好的验证(只需在初始下载后自己签署包并只接受您的签名)。它为您提供更好的可靠性和速度(如果 pypi 出现故障,您仍然可以构建软件)。并且它避免了您尚未审核/批准的已替换/更新包的问题。
关于python:PyPi 公共(public)模块:如何确定是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37956106/