YOLO 官方库 ultralytics 被投毒

Ultralytics YOLO11 是一个前沿的、最先进的(SOTA)模型,它建立在之前 YOLO 版本成功的基础上,并引入了新的功能和改进,以进一步提升性能和灵活性。YOLO11 设计得既快又准确,易于使用,使其成为各种目标检测和跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。

MinerU:一站式开源高质量数据提取工具,将 PDF 转换成 Markdown 和 JSON 格式。

今天(2024-12-07)想在本地构建 MinerU 的 Docker 镜像,在测试执行:magic-pdf --help 的时候发现报错:

Traceback (most recent call last):
  File "/opt/mineru_venv/bin/magic-pdf", line 5, in <module>
    from magic_pdf.tools.cli import cli
  File "/opt/mineru_venv/lib/python3.10/site-packages/magic_pdf/tools/cli.py", line 10, in <module>
    from magic_pdf.tools.common import do_parse, parse_pdf_methods
  File "/opt/mineru_venv/lib/python3.10/site-packages/magic_pdf/tools/common.py", line 14, in <module>
    from magic_pdf.pipe.OCRPipe import OCRPipe
  File "/opt/mineru_venv/lib/python3.10/site-packages/magic_pdf/pipe/OCRPipe.py", line 7, in <module>
    from magic_pdf.user_api import parse_ocr_pdf
  File "/opt/mineru_venv/lib/python3.10/site-packages/magic_pdf/user_api.py", line 15, in <module>
    from magic_pdf.pdf_parse_by_ocr import parse_pdf_by_ocr
  File "/opt/mineru_venv/lib/python3.10/site-packages/magic_pdf/pdf_parse_by_ocr.py", line 3, in <module>
    from magic_pdf.pdf_parse_union_core_v2 import pdf_parse_union
  File "/opt/mineru_venv/lib/python3.10/site-packages/magic_pdf/pdf_parse_union_core_v2.py", line 34, in <module>
    from magic_pdf.model.sub_modules.model_init import AtomModelSingleton
  File "/opt/mineru_venv/lib/python3.10/site-packages/magic_pdf/model/sub_modules/model_init.py", line 9, in <module>
    from magic_pdf.model.sub_modules.mfd.yolov8.YOLOv8 import YOLOv8MFDModel
  File "/opt/mineru_venv/lib/python3.10/site-packages/magic_pdf/model/sub_modules/mfd/yolov8/YOLOv8.py", line 1, in <module>
    from ultralytics import YOLO
  File "/opt/mineru_venv/lib/python3.10/site-packages/ultralytics/__init__.py", line 6, in <module>
    import package
ModuleNotFoundError: No module named 'package'

研究之后发现是 ultralytics 库被投毒:

https://github.com/opendatalab/MinerU/issues/1202

在这里插入图片描述

而笔者环境中的版本刚好是 8.3.46

ultralytics 的 issues 中有更详细的讨论:

https://github.com/ultralytics/ultralytics/issues/18027#issuecomment-2524853952

在这里插入图片描述

https://inspector.pypi.io/project/ultralytics/8.3.46/packages/c4/2b/5b4b1228e807124a9df047e8c807e8a8bdd5934b5deb074dac630475510f/ultralytics-8.3.46-py3-none-any.whl/ultralytics/__init__.py

在这里插入图片描述

由此可以看出被加的料是一个挖矿程序 XMRig,GitHub:https://github.com/xmrig/xmrig

最好笑的是攻击者没有用自己的地址替换 XMRig 默认的捐赠地址:

https://github.com/ultralytics/ultralytics/issues/18027#issuecomment-2524956083

在这里插入图片描述

总结

这次事件就是一次开源供应链投毒,但是由于投毒者尝试 import package,由于默认未安装,所以在执行到安装挖矿程序之前就失败了。无法安装 package 模块,所以会报错 No module named 'package'

https://github.com/ultralytics/ultralytics/issues/18027#issuecomment-2525068361

在这里插入图片描述

所以这次事件的解决方案就是降级 ultralytics8.3.40 或者更新到最细的版本 >= 8.0.47

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值