项目隔离: PyPI 抵御恶意软件的新防线

阅读量27776

发布时间 : 2025-01-06 10:48:40

x
译文声明

本文是翻译文章,文章原作者 do son,文章来源:securityonline

原文地址:https://securityonline.info/project-quarantine-pypis-new-line-of-defense-against-malware/

译文仅供参考,具体内容表达以及含义原文为准。

Project Quarantine

Python 软件包索引(PyPI)推出了一项名为 “项目隔离”(Project Quarantine)的功能,在增强 Python 生态系统安全性方面迈出了重要一步。PyPI 管理员兼安全工程师 Mike Fiedler 在一篇博文中详细介绍了这一举措,该举措引入了一种结构化方法来降低恶意软件包带来的风险。

通过 PyPI 散布恶意软件一直是一个反复出现的挑战,威胁者利用该平台的广泛影响力来锁定目标用户。以前,PyPI 管理员依赖于完全删除被标记的项目,这种做法虽然有效,但往往具有破坏性且不可逆转。菲德勒解释说:“这些移除的影响可能是破坏性的,而且移除几乎是不可逆转的。”

项目隔离 ,是一项旨在弥合安全性和用户可访问性之间差距的功能。它能让管理员将可疑项目置于隔离状态,使其在 PyPI 简单索引中不可见,并阻止其安装。在管理员进一步调查的同时,这一主动措施限制了潜在威胁的暴露。

项目隔离功能为项目引入了一种新的生命周期状态,当项目被标记为具有潜在危害时,就会被标记为 “隔离”。据 Fiedler 称,实施过程遵循一套明确的要求:

  • 处于 “隔离 ”状态的项目将从索引中隐藏,无法安装。
  • 项目所有者不能修改被隔离的项目。
  • 管理员、安全研究人员和项目所有人都能看到被隔离项目的状态。
  • 管理员可以根据需要清除、重新隔离或删除项目。

这种方法的一个显著灵感来源于 PEP 592 中描述的 “yank ”功能,但有一个关键区别:yanked 版本仍可安装,而被隔离的项目则完全被阻止。

自 8 月份推出以来,该功能在处理恶意软件报告方面发挥了重要作用。Fiedler 分享说:“隔离功能一直在使用,PyPI 管理员将 ~140 个报告的项目标记为隔离。”在一个值得注意的例子中,一个项目最初因包含混淆代码而被标记,但在 PyPI 管理员的宣传下,项目所有者改正了违规行为,因此该项目被清除。

费德勒在博客中还强调了管理界面的简洁性,它有助于在非工作时间快速做出决策。这一功能与 PyPI 减少恶意项目公开访问时间窗口的目标不谋而合。

项目隔离的未来包括进一步简化流程的自动化计划。Fiedler 概述了一个潜在的系统,该系统可以根据收到的恶意软件报告的数量和可信度自动隔离项目。例如:

  • 来自 “观察者”(使用测试版 API 端点的安全研究人员)的两份或更多报告。
  • 一份 “观察者 ”报告和一份非 “观察者 ”报告。

这些措施旨在减少管理员的工作量,同时确保对威胁采取及时行动。其他增强功能也即将推出,如实时通知和提高管理界面的可见性。

通过为管理员提供灵活而强大的工具来管理被标记的项目,PyPI 能够更好地保护用户的安全。正如费德勒指出的那样:“缩短恶意项目/重放/文件可供最终用户成为受害者的时间窗口是一项改进,它进一步降低了恶意行为者使用 PyPI 作为其传播方式的动机。”

本文翻译自securityonline 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66