跳转到帖子

PYPI添加了项目归档系统以阻止恶意更新

recommended_posts

发布于
  • Members

Python软件包索引(PYPI)宣布了“项目档案”的引入,该系统允许发布者归档其项目,并向用户表明预计不会更新。这些项目还将在PYPI上托管,用户仍然可以下载它们,但会看到有关维护状态的声明。

基于劫持开发人员帐户并将恶意更新推向广泛使用但废弃的项目是开源空间中的常见情况,所以这项新功能旨在提高供应链的安全性。

除了降低用户的风险外,它还通过确保与项目的生命周期状态进行沟通来减少用户的支持请求。

banner.webp.png

关于存档项目的警告字样

项目档案如何工作

根据PYPI新项目档案系统开发人员的详细博客表示,该功能提供了维护者控制的状态,该状态允许项目所有者将其项目标记为已存档,向用户发出信号,并表明将不会有进一步的更新。

PYPI建议维护者在归档项目之前发布最终版本,以包括对项目的详细信息和解释,尽管这不是强制性的。如果维护者选择恢复工作,可以在将来的任何时间都不构建其项目。

在引擎盖下,新系统使用最初用于项目隔离的生命周期模型,其中包括一个可以在不同状态之间过渡的状态机器。一旦项目所有者单击PYPI设置页面上的“存档项目”选项,该平台将自动更新其元数据以反映新状态。

PYPI新项目档案系统开发人员说,有计划添加更多的项目状态,例如“弃用”,“功能完整”和“未经许可”,使用户对项目状况有了更清晰的了解。

option.jpg

项目设置中的新选项

警告字样旨在通知开发人员,他们需要寻找积极维护的替代依赖性,而不是继续依靠过时的和潜在的不安全项目。除此之外,攻击者通常是针对废弃的包裹,接管未来的项目并通过更新几年后来注入恶意代码的情况。

在其他情况下,维护者选择在计划停止开发时删除项目,这会导致“复兴劫持”攻击之类的问题。从安全的角度来看,给那些维护者的归档选项要好得多。

最终,由于开源的性质,许多项目被放弃,但会使部分用户仍会猜测他们是否还在维护中。新系统应提高开源项目维护的透明度,删除猜测并提供有关项目状态的明确信号。

  • 查看数 704
  • 已创建
  • 最后回复

参与讨论

你可立刻发布并稍后注册。 如果你有帐户,立刻登录发布帖子。

游客
回帖…