python:PyPi公共模块:如何确定是否安全?

jef*_*tle 8 python security pypi docker

我已经完成了我的 python 3 应用程序,它使用了来自 PyPi 的多个公共模块。

但是,在我将它部署到我公司的企业中运行之前,该企业将处理我们客户的凭据并访问 3rd 方 API,我需要进行尽职调查,确保它们既安全又安全。

我必须执行哪些步骤:

  1. 验证 PyPi 模块的安全性和使用安全性,重要的是要注意目标 Python 3 应用程序将处理凭据?
  2. 最推荐的验证 PyPi 模块签名的方法是什么?
  3. PyPi 模块签名可以信任吗?

顺便说一下,Python 3 应用程序将在 Docker 容器中运行。

谢谢

vir*_*tor 4

这是 3 个独立的问题,所以:

  1. 您必须审核该包(或让其他人这样做)才能知道它是否安全。没有简单的方法解决它。

  2. 所有 pypi 包都附加了 md5 签名(文件后面括号中的链接)。其中一些还附加了出现在同一位置的 pgp 签名,但这取决于作者是否发布。(例如https://pypi.python.org/pypi/rpc4django包括 md5 和 pgp)Md5 验证完整性。Pgp 验证完整性和来源,因此在可用时它是更好的选择。

  3. 就像任何其他签名一样。

如果您担心该级别的依赖关系,我认为您应该考虑维护内部 pypi 存储库。它为您提供了更好的验证(只需在初次下载后亲自签署软件包并仅接受您的签名)。它为您提供更好的可靠性和速度(如果 pypi 出现故障,您仍然可以构建软件)。它可以避免您尚未审核/批准的替换/更新软件包的问题。