![pip 和 easy_install 能安全地下载 Python 包吗?](https://linux22.com/image/1322735/pip%20%E5%92%8C%20easy_install%20%E8%83%BD%E5%AE%89%E5%85%A8%E5%9C%B0%E4%B8%8B%E8%BD%BD%20Python%20%E5%8C%85%E5%90%97%EF%BC%9F.png)
例如,他们是否检查数字签名(如 apt-get 和 Windows Update)或者是否要求他们使用 SSL?如果没有,我有点担心下载的软件包可能被木马病毒感染。
答案1
答案2
并非所有 Python 软件包都托管在 pypi.python.org 上,但 easy_install 会在 PyPi 页面上查找下载链接。许多常见软件包(如 PIL 和 lxml)都使用自己的分发服务器(事实上,这通常会给软件包使用者带来问题)。示例:http://pypi.python.org/pypi/PIL/
pypi.python.org 本身似乎不提供任何类型的 HTTPS 支持。
如果您希望提供安全的 easy_install / pip 环境,我建议您将所需的包镜像到您自己维护 HTTPS 的服务器,然后使用--allow-hosts
选项限制到该服务器的下载:
http://packages.python.org/distribute/easy_install.html#restricting-downloads-with-allow-hosts
答案3
如果可用,应将 MD5 信息添加到下载 URL 中,方法是附加格式为 #md5=... 的片段标识符,其中 ... 是 32 个字符的十六进制 MD5 摘要。EasyInstall 将验证下载文件的 MD5 摘要是否与给定值匹配。
http://packages.python.org/distribute/easy_install.html
看起来 easy_install 做了一些验证,但似乎仅有的检查软件包存储库是否提供 MD5 密钥。
这未来的计划同一页面的部分进一步强调了这一点:
未来的计划:
- 签名检查?SSL?能否抑制 PyPI 搜索?