事件经过
Pluto Security追踪了一个通过31个恶意Hugging Face仓库(涉及7个账户,另有ModelScope镜像)传播的加密货币挖矿/后门活动,记录下载量超过32,000次。载荷利用Transformers的文档化行为:使用trust_remote_code=True加载仓库会以调用者权限导入仓库中的Python代码(通过config.json中auto_map指定),然后才加载权重。载荷投放看门狗(/tmp/.cch/svc.py)、向shell配置文件追加持久化钩子、植入SSH后门和反弹shell,并通过memfd_create/fexecve启动一个伪装为内核工作进程的UPX打包挖矿程序(peakminer);后期一个阶段是针对GPUStack的/var/lib/gpustack的容器到宿主机逃逸。该活动在被清理后数天内重新出现,弃用硬编码SSH密钥转而使用反弹shell。
影响分析
模型仓库正在成为恶意软件传播渠道:感染发生在推理之前,以调用者权限运行,并将执行隐藏在HF杀毒软件和权重格式扫描器不分析的auto_map Python代码中。攻击目标包括自托管推理(Xinference、GPUStack)、租用GPU、笔记本和CI作业,并留下比挖矿程序更持久的后门/SSH访问。
攻击途径
加载被投毒的仓库(from_pretrained并设置trust_remote_code=True)会在模型进程中执行仓库的Python代码,投放挖矿程序、反弹shell和SSH后门。
受影响系统
Hugging Face模型仓库和Transformers加载auto_map/trust_remote_code模块;自托管的Xinference/GPUStack部署。
缓解措施
在加载前审查auto_map引用的.py文件;避免对不可信仓库使用trust_remote_code=True;固定受信任的模型ID和哈希;扫描/tmp/.cch和.bashrc钩子;检查Xinference/GPUStack模型仓库中的异常状态条目;隔离GPU工作负载。