PyPI 限制旧版本发布新文件以降低供应链风险
Simon Willison4 天前
Python Package Index(PyPI)已开始拒绝向发布时间超过 14 天的版本上传新文件。
这一限制的目的,是降低软件供应链攻击风险:如果某个 PyPI 项目的发布令牌或自动化发布工作流被攻破,攻击者可能尝试向已经长期稳定、被广泛信任的旧版本中追加恶意文件,从而“污染”这些版本。
目前已知范围内,这种攻击方式尚未被实际滥用。但从技术上看,过去并没有机制阻止攻击者这样做,风险主要取决于攻击者是否意识到这一可能性。
这项变更意味着:
- 已发布超过 14 天的版本不能再追加新文件;
- 项目维护者需要在发布窗口期内完成文件上传;
- 对依赖 PyPI 的 Python 生态而言,这是一次面向供应链安全的防护加固。
对于维护者来说,发布流程应更加注意一次性完整上传构建产物,避免在较长时间后再补传文件。
