专注于软件供应链安全管理的研究公司 Sonatype,刚刚在官方的 Python 软件存储库(PyPI)上发现了六个包含不同恶意软件的 Python 包。这些恶意内容被藏于 setup.py 的安装说明文件中,继而导致加密货币挖矿类恶意软件被下载并安装到受害者的系统上。
Nexus 防火墙组件的分析过程(图自: Sonatype )
过去数月,这几款恶意软件包被下载量将近 5000 次,且发布者使用了 nedog123 的用户名。
learninglib 中包含的 maratlib 依赖项
以下是对应的六款恶意软件的名称与下载数:
- ● maratlib:2371
- ● maratlib1:379
- ● matplatlib-plus:913
- ● mllearnlib:305
- ● mplatlib:318
- ● learninglib:626
LKEK 也指向了 maratlib 依赖项
其中一些明显利用了错误的单词拼接方法,并且故意碰瓷 PyPI 上热门的机器学习包文件(比如用李鬼 mplatlib 来假冒官方的 matplotlib)。
maratlib 代码中包含了严重的混淆
尽管此类攻击似乎只是为了窃取部分系统资源,但供应链安全攻击还是让 Sonatype 感到十分紧张。
0.6 代码中高亮显示的 GitHub 网址
即便代码被严重加花、并从 GitHub 上调用了其它包,但 Sonatype 还是详细解释了他们是如何检测到加密货币挖矿类恶意软件的。
aza2.sh 中的 Bash 脚本,也被发现了某些版本的 maratlib 。
最后,Sonatype 指出,此类恶意软件不大可能影响大多数运行高级反病毒防护软件的普通用户,而是更加针对那些拥有高性能 Linux 机器的机器学习研究人员们。