Python软件包索引(PyPI)推出了一项名为“项目存档”的新功能,以增强开源供应链的安全性。该系统允许项目维护者将其项目标记为已存档,向用户发出信号,表明不会提供进一步的更新、修复或维护。用户仍然可以下载已存档的项目,但他们将收到有关项目维护状态的警告,从而使他们能够对依赖项做出明智的选择。来源。 这项新功能的主要目标是降低被劫持的开发人员帐户被用于将恶意更新推送到已废弃但广泛使用的项目的风险。通过清楚地传达项目的生命周期状态,PyPI旨在减少用户的支持请求。维护者被鼓励(但不是强制要求)发布包含有关存档决策详细信息的最终版本。如果维护者决定恢复项目的工作,可以取消项目存档。 存档系统利用LifecycleStatus模型,该模型包括一个用于管理不同状态之间转换的状态机。一旦维护者选择通过PyPI设置页面存档项目,此过程就会自动完成。进一步的增强功能(例如其他项目状态)计划在未来实施。