事件概述
Ultralytics是一个开源的计算机视觉、深度学习和人工智能项目,旨在提供易于使用的工具和库,以帮助开发人员训练、评估和部署深度学习模型。此项目目前在github的标星数量达33.6k,具有较多的用户量。
从12月5号开始,Ultralytics的github项目上陆陆续续有人反馈问题:
投毒分析
hxxps://files[.]pythonhosted.org/packages/d0/99/13d92174aa6a470d348a95e31164769f2cdf77838ea3c3e3fd476285777d/ultralytics-8.3.41-py3-none-any.whl
具体被投毒文件为:
./ultralytics/models/yolo/model.py
./ultralytics/utils/download.py
攻击者在model.py文件的YOLO类中添加了额外的下载代码,当用户进行YOLO类初始化时,根据操作系统类型不同将分别请求以下链接:
https://api.github.com/repos/ultralytics/ultralytics/git/blobs/665bb8add8c21d28a961fe3f93c12b249df10787
https://api.github.com/repos/ultralytics/ultralytics/git/blobs/ 5e67b0e4375f63eb6892b33b1f98e900802312c2
下载攻击者上传的挖矿程序,落盘名为ultralytics_runner
在download.py文件中,攻击者额外增加了名为safe_run的函数,其中内置了钱包地址与矿池地址,在正常版本的download.py文件并不存在该函数,安装程序在下在落盘挖矿木马后,将以内置的钱包地址与矿池地址作为参数启动, 然后即开始进行挖矿。
截至2024-12-05 18点, 受感染的 Ultralytics 版本已从 PyPi 中删除。
自查方案
pip list
2. ultralytics可能作为ComfyUI-Impact-Pack等其他软件包的依赖项自动安装,此类情况仍可使用pip命令进行版本排查。
3. 由于pypi镜像源的存在,在pypi安装ultralytics包时推荐使用8.3.40以及之前的版本:
pip install ultralytics==8.3.40
4. 由于github仓库源码未被污染,也可通过指定github安全安装:
pip install git+https://github.com/ultralytics/ultralytics.git
IOC
ECE94F77F6BAE2E5DA89E97AC1522101
EB5506148A2D59F6D7A0DB4725DB1F05
BDA5BC07B3579CCA96D5AA5A88C096B4
8F4FFF0DED94F1141768220906ABFBB8
https://api.github.com/repos/ultralytics/ultralytics/git/blobs/665bb8add8c21d28a961fe3f93c12b249df10787
https://api.github.com/repos/ultralytics/ultralytics/git/blobs/ 5e67b0e4375f63eb6892b33b1f98e900802312c2
connect.consrensys.com
4BHRQHFexjzfVjinAbrAwJdtogpFV3uCXhxYtYnsQN66CRtypsRyVEZhGc8iWyPViEewB8LtdAEL7CdjE4szMpKzPGjoZnw
点击阅读原文至ALPHA 7.0
即刻助力威胁研判