Python包索引(PyPI)的管理团队已经开始采取行动,以提升其上列出的数十万种软件包的安全性。此举旨在识别和阻止携带恶意软件的包在开源社区中传播,保护Python开发者和用户的安全。这项名为ProjectQuarantine 的努力始于去年,为了防止恶意包的进一步传播。
项目“隔离”的介绍
该项目的相关信息在Mike Fiedler的中进行了描述。他是负责Python安全的唯一管理员,项目使PyPI的管理员和选定开发者能够将某些项目标记为潜在有害,从而防止它们被用户轻易安装,避免造成更大损害。
Python的流行反而使其成为了目标。PyPI目前列出了超过625,000个软件包,并且每日都有新包加入,这为恶意软件作者提供了可趁之机,将他们的代码植入这些包中。随着开发者无意中传播了这些恶意代码,危害随之而来。
由于包的数量庞大,该索引一直受到恶意行为者的威胁。恶意攻击包括利用与正当包类似名称的包进行“拼写蹲点”,或者制造进一步的依赖混淆。正如中所述:“Python是模块化的,大多数Python应用程序依赖PyPI提供所需的核心功能依赖,而非每次都重新发明轮子。PyPI也是Python应用程序和库的主要分发点。”
“新程序员被Python吸引,因为它易于学习,这导致许多开发者并不总是考虑安全性。”安全专家EdWoodruff对CSO表示。“在隔离措施实施之前,安全性并没有受到重视,现在我很高兴看到这个项目的领导作用。”
与PyPI相比,其他开源项目通常拥有的新包数量较少,或者有商业机构提供资金和资源,作为“监督者”。例如,Java软件的包管理器NPM由GitHub维护,“GitHub在恶意软件筛查方面做得很出色,他们拥有世界上最优秀的安全研究人员。”ForresterResearch的分析师Janet Worthington告诉CSO。
根据Jfrog安全研究副总裁ShacharMenashe的说法,NPM拥有更多的资源来预防受损包的传播。“PyPI只有四名全职管理员,Fiedler是唯一的安全专家。”即使NPM拥有密集的资源,他们每天仍会看到大约十多个恶意Java包。
除隔离机制之外,还有其他补充手段可以更有效地保护广泛的开源代码库。例如,多家供应商提供,并且有其他工具能够,增加对依赖项目的可视化。在2021年Apache暴发时,该清单的重要性被大大提升,并且这是最近关于促进更好软件安全的 [拜登行政命令](https://www.csoonline.com/article/3802476/biden-white-house-to-go- all-out-in-final-sweeping
Leave a Reply