【问题标题】:Security considerations of `pip --allow-external``pip --allow-external` 的安全注意事项
【发布时间】:2014-01-28 01:39:30
【问题描述】:

使用pip--allow-external--allow-all-externals 选项有哪些安全注意事项?

描述这些选项的文档部分(pip installpip wheel)非常简洁,并没有解释使用它们的危险。我在 Internet 上也找不到任何可以这样做的资源。

【问题讨论】:

    标签: python security pip


    【解决方案1】:

    我在 FreeNode #pip 频道上问过这个问题。以下是我对收到的回复的解释。感谢来自#pipagronholmdstufft 回答我的问题。

    可以通过三种不同的方式在 PyPI 上维护包:

    1. 直接在 PyPI 上。如果包托管在 PyPI 上,则不需要额外的开关来安装它。与 PyPI 的连接受 HTTPS 保护,因此下载被认为是可信的。

    2. 在外部站点上,PyPI 存储相关文件的安全校验和。在这种情况下,pip 需要--allow-external 开关才能继续。虽然下载可能来自不安全的服务器,但下载的文件会根据存储在 PyPI 上的安全校验和进行检查。因此,这种情况也被认为是安全的。

    3. 在外部站点上,没有 PyPI 存储任何校验和。在这种情况下,无法确保下载是安全的。在这种情况下--allow-external 不足以启用安装,pip 需要--allow-unverified

    因此,单独使用--allow-external 被认为是一个安全开关,而仅使用--allow-unverified 是一个潜在的安全问题。这也是为什么pip--allow-all-external 选项,但没有--allow-all-unverified 的原因。

    附带说明,--allow-external 不是作为安全功能引入的,而是因为在处理第三方网站时可能存在速度、正常运行时间和便利性问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多