已发现托管在Python软件包索引(PyPI)代码库中的三个恶意软件包,它们共计被下载12,000次——并且可能被偷偷安装在各种应用程序中。
独立研究员安德鲁·斯科特(Andrew Scott)在对PyPI中包含的代码进行近乎全站范围的分析时发现了这些包,PyPI是用Python编程语言创建的软件代码存储库。与GitHub、npm和RubyGems一样,PyPI允许编码人员上传软件包,供开发人员用于构建各种应用程序、服务和其他项目。
不幸的是,一个恶意包可以被安装到多个不同的项目中——用加密矿工、信息窃程序等感染它们,并使修复成为一个复杂的过程。
在本例中,Scott发现了一个包含已知木马恶意软件和两个信息窃取程序的恶意软件包。
他说,这个木马包被称为“aws-login0tool”,一旦安装该软件包,它就会获取一个有效载荷可执行文件,结果证明它是一个已知的木马。
Scott在周日的一篇帖子中解释说:“我发现这个包是因为它在我查看setup.py时的多个文本搜索中被标记,因为这是Python包中恶意代码最常见的位置之一,在安装时可以在那里执行任意代码。”“具体来说,我是通过查找import urllib.request发现这一点的,因为它通常用于窃取数据或下载恶意文件,它也是由from subprocess import Popen触发的,这有点可疑,因为大多数包不需要执行任意命令行代码。”
Scott还通过查看import urllib.request字符串确定了另外两个恶意软件包,这两个包都是为数据渗漏而构建的。
这两个名为“dpp-client”和“dpp-client1234I”的文件是由同一个用户在二月份上传的。在安装过程中,他们收集有关环境和文件列表的详细信息,并且似乎“专门寻找与Apache Mesos相关的文件”,Scott说,这是一个管理计算机集群的开源项目。据研究人员称,一旦收集到信息,就会将其发送到一个未知的web服务。
Python安全团队在12月10日收到通知后删除了已识别的包,但由于这些项目在删除之前就被导入了,所有三个包都继续存在。
Scott表示,该木马程序包于12月1日首次添加到PyPI中,随后被下载了近600次。至于数据窃取者,dpp-client包下载量超过10000次,其中上个月下载量600+;dpp-client1234已被下载约1,500次。并且这两个软件包的源代码URL都模仿了现有的流行库,“所以任何人在PyPI中浏览软件包或分析库的流行程度时,都会看到大量的GitHub星星和分支,这代表了良好的声誉。”
软件供应链已成为一种越来越流行的恶意软件分发方法。例如,上周在Node.js软件包管理器(npm)代码库中发现了一系列旨在收集Discord令牌的恶意包。这些软件包可以用来接管毫无戒心的用户的帐户和服务器。
本文翻
转载请注明:IT运维空间 » 安全防护 » 恶意PyPI代码包下载量达数千次
发表评论