概述
美团安全部的供应链检测系统近期检测出PyPI源遭多次投毒攻击,这些恶意包在安装时会自动下载运行含有恶意行为的程序。
恶意行为 | 包名 |
(安装时自动触发)访问外网下载含有恶意行为的可执行文件到本地并自动运行。 | TensorFolw、lxlm、falsk、Kears、Gesnim、Seabron、tqmd、ipaddres、ipadress、inda、douctils、mokc |
(安装时自动触发)先检测本地是否运行着某些杀毒软件,没检测到就会向本地写入含有恶意行为的可执行文件并运行。 | typing-unions、aiogram-types |
恶意行为动态检出
在最近一次检测中,我们捕获捉到typing-unions和aiogram-types在安装时产生执行系统命令的行为:
TensorFolw、lxlm、falsk等包在安装时有访问外网下载文件并自动执行的行为:
恶意包源码分析
typing-unions与aiogram-types
在typing-unions-3.10.0.1源码包的setup.py
中第79-80行可以看到经过编码处理的命令执行代码
经过base64解码后得到最终代码样例:
可以看出这段代码尝试在windows环境下做杀毒软件检测,在没有检测到一些杀软程序的情况下会写入自己的恶意二进制文件并执行。
aiogram-types包与typing-unions包行为逻辑相同。
TensorFolw、lxlm、falsk等
不难发现TensorFolw在仿冒TensorFlow,lxlm在仿冒lxml,falsk在仿冒flask。
这些包利用typosquatting方式进行投毒,攻击者只需等待受害者因拼写错误而安装恶意包即可实现攻击。
在源码包的setup.py
中最初几行就能看到恶意代码
使用pip install
或python setup.py install
来安装此包时均会自动执行zzr()
函数,在windows环境下安装此包会下载test.exe并执行。经过沙箱检测test.exe有类似木马行为。
风险排查方式
可使用
pip list检查是否误装了这些包。
打开进程管理,查杀可疑进程。
检查requirements.txt或其他自动化安装脚本,确认没有包名拼写错误情况。
恶意包的相关信息
上传用户:John3298
上传时间:08月13日
包名:
typing-unions
aiogram-types
上传用户:devfather777
上传时间:08月13日
包名:
falsk
inda
douctils
ipadress
ipaddres
mokc
tqmd
lxlm
Seabron
TensorFolw
Kears
Gesnim
声明:本文来自美团安全应急响应中心,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。