近日,Python官方第三方软件仓库PyPI发现了一个新的恶意库——能够提取信用卡号并打开后台门。作为回应,八个下载量超过30,000次的Python包因包含恶意代码而从PyPI门户中删除。据分析,一个名为noblesse的软件包和五个变体在Windows系统上寻找不一致的身份验证令牌和浏览器存储的信用卡号,并将其传输到远程系统,而另一个名为pytagora的变体将执行远程系统提供的任意Python代码.据悉,这些恶意包使用了简单的混淆技术。noblesse2恶意软件的主代码这一事件再次凸显了包存储库如何演变成供应链攻击的热门目标。巧合的是,根据最新消息,PyPI团队已经修补了平台中的一个远程代码执行漏洞,该漏洞可能被用来劫持整个Python库。该漏洞由信息安全研究员RyotaK报告。事实上,RyotaK一共发现了三个bug:PyPI上的旧文档删除漏洞:允许攻击者删除不受其控制的项目的文档PyPI上的角色删除漏洞:允许攻击者删除项目角色的PyPIGitHubActions工作流程中的漏洞不受其控制:攻击者可以获得对pypa/warehouse存储库的写入权限,从而导致在pypi.org上执行任意代码除其他事项外,围绕PyPI源存储库GitHubActions工作流最容易受到攻击,GitHubActions可用于泄漏具有对pypa/warehouse的写入权限的令牌,可用于更改更多带有恶意内容的任意代码。目前,PyPI维护者已经发布了针对该漏洞的修复。随着npm、PyPI和RubyGems等流行存储库成为攻击目标,一些开发人员仍然完全信任存储库并从这些来源安装包。但正如我们在之前的PyPI研究中看到的那样,公共软件存储库中缺乏自动安全控制,即使是没有经验的攻击者也可以将它们用作传播恶意软件的平台,无论是通过域名抢注、依赖混淆还是简单的社会工程攻击都经过尝试和测试。对供应链安全保持警惕,仍然需要开发商时刻警惕,也需要项目运营方长期努力。
