PyPI恶意代码包被下载上万次

近日,托管在Python Package Index(PyPI)代码存储库中的三个恶意程序包,被下载总计超过12000次,这些恶意包最终很可能会潜入各种应用程序的安装包中。

PyPI是用Python编程语言创建的软件代码存储库。与GitHub、npm和RubyGems一样,PyPI允许编码人员上传软件包,供开发人员在构建各种应用程序、服务和其他项目时使用。

独立研究员Andrew Scott在对PyPI中包含的代码进行近乎全面分析时发现了这些恶意包:一个包含已知木马恶意软件,两个包含信息窃取程序的恶意软件包。

被木马化的包被称为“aws-login0tool”,一旦安装,它就会获取一个有效负载可执行文件,结果证明它是一个已知的特洛伊木马。

“我发现这个包是因为它在我查看setup.py的多个文本搜索中被标记,因为这是Python包中恶意代码最常见的位置之一,因为在安装时可以在那里执行任意代码,”Scott解释说:“具体来说,我是通过查找import urllib.request发现的,因为它通常用于窃取数据或下载恶意文件,它也是由from subprocess import Popen它触发的,这有点可疑,因为大多数包不需要执行任意命令行代码。”

Scott还通过查看import urllib.request字符串发现了另外两个恶意包,这两个包都是为数据泄露而开发的。

这两个名为“dpp-client”和“dpp-client1234I”的恶意包是同一个用户在二月份上传的。在安装过程中,他们收集有关环境和文件列表的详细信息,并且似乎“专门寻找与Apache Mesos相关的文件”,Scott说,这是一个管理计算机集群的开源项目。据研究人员称,一旦收集到信息,就会将其发送到一个未知的网络服务。

Python安全团队在12月10日收到通知后删除了已识别的包,但在删除之前导入恶意包的项目中,所有三个包都继续存在。

Scott表示,该木马程序包于12月1日首次被添加到PyPI中,随后被下载了近600次。至于数据窃取包,其中一个dpp-client下载量超过10000次,11月下载量600+;dpp-client1234已被下载约1500次。并且这两个包都用它们的源代码URL模仿了一个现有的流行库,“所以任何人在PyPI中查看这些包或分析库的流行程度都会看到大量的GitHub好评和分支——看上去拥有良好的声誉。”

软件供应链攻击已经成为越来越流行的恶意软件分发方法。例如,上周在Node.js包管理器(npm)代码库中发现了一系列旨在收集Discord令牌的恶意包。这些软件包可用于接管用户的帐户和服务器。

前一篇失控!Log4Shell漏洞出现六十多个恶性变种
后一篇补丁摞补丁?Log4Shell漏洞补丁爆出漏洞