黑客在 HuggingFace 上传恶意 AI 模型,用“损坏”pickle 文件规避监测
黑客在 HuggingFace 上传恶意 AI 模型,用“损坏”pickle 文件规避监测
2月10日消息,据 The Hacker News 于8日报道,网络安全研究人员发现,在 HuggingFace 平台上,有两个恶意机器学习(ML)模型利用了一种非常规的“损坏”pickle 文件技术来规避安全检测。ReversingLabs 研究员 Karlo Zanki 表示:“从这些 PyTorch 存档中提取的 pickle 文件,在文件开头揭示了恶意的 Python 内容。两者的恶意载荷都是典型的平台特定反向 shell,连接到硬编码的 IP 地址。”
这种方法被称为 nullifAI,意在通过明确绕过现有的安全防护措施,避免被识别为恶意模型。Hugging Face 上发现的两个相关模型存储库如下:
glockr1/ballr7
who-r-u0000/0000000000000000000000000000000000000
who-r-u0000/0000000000000000000000000000000000000
这些模型被认为更像是一个概念验证(PoC),而非真实的供应链攻击案例。
pickle 序列化格式在机器学习模型分发中很常见,但它一直被认为存在安全隐患,因为它允许在加载和反序列化时执行任意代码。

被检测出的这两个模型使用的是 PyTorch 格式,实质上是压缩的 pickle 文件。虽然 PyTorch 默认使用 ZIP 格式压缩,但这些模型使用的是 7z 格式,这种不同的压缩方式让它们能够避开 Hugging Face 的 Picklescan 工具的恶意检测。
Zanki 进一步指出:“这个 pickle 文件的一个有趣之处是,对象序列化(4分贝注:即 pickle 文件的核心功能)在恶意载荷执行后就断裂,导致无法正确反编译对象。”
后续分析表明,尽管存在反序列化错误,损坏的 pickle 文件仍然能够被部分反序列化,从而执行恶意代码。该问题已被修复,Picklescan 工具也更新了版本。
Zanki 解释说:“pickle 文件的反序列化是按顺序进行的,pickle 操作码会在遇到时执行,直到所有操作码执行完毕或遇到损坏的指令。由于恶意载荷插入在 pickle 流的开头,Hugging Face 的安全扫描工具未能检测到模型的执行是有风险的。”
免责声明:
本站提供的一切内容信息、软件、教程、影音仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!