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

标签 python security docker pypi

我已经完成了我的 python 3 应用程序,它正在使用 PyPi 的多个公共(public)模块。

但是,在我部署它以在我公司的企业内运行(处理我们客户的凭据和访问第 3 方 API)之前,我需要尽职调查以确保它们既安全又安全。

我必须执行哪些步骤:

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

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

谢谢

最佳答案

这是 3 个独立的问题,因此:

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

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

  3. 与任何其他签名一样。

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

关于python:PyPi 公共(public)模块:如何确定是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37956106/

相关文章:

python - 如何在 Coverity Scan 中忽略生成的 cpp 文件(来自 swig/python)?

Python - 分类的最低方差的箱大小

python - 手动更改 Bokeh 图的 x 范围

Python Docker API 需要知道 attach(**kwargs) 到容器的语法

python - 安装 python shapely 时出现 Alpine 错误

linux - ASP.NET 5 和 Docker 错误 :/bin/sh: [dnx,:找不到命令

python - 如何在python中使用 Mechanize 确定nr值

android - 为什么调试证书不能安全地签署 Android APK?

git - git history 是否会破坏使用 OpenSSL 加密的文件?

security - 了解服务器安全证书