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


由此可以看出被加的料是一个挖矿程序 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

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

被折叠的 条评论
为什么被折叠?



