黑客在 HuggingFace 上传恶意 AI 模型,用“损坏”pickle 文件规避监测
据The Hacker News的报道,网络安全研究人员在HuggingFace平台上发现了两个利用非常规"损坏"pickle文件技术的恶意机器学习(ML)模型,以规避安全检测。
ReversingLabs的研究员Karlo Zanki表示,从这些PyTorch存档中提取的pickle文件揭示了文件开头的恶意Python内容。这两个恶意负载都是典型的平台特定反向shell,连接到硬编码的IP地址。
这种方法称为nullifAI,目的是通过明确的绕过现有的安全防护措施,以避免被识别为恶意模型。在Hugging Face上发现的两个相关模型存储库如下:
-
glockr1/ballr7
-
who-r-u0000/0000000000000000000000000000000000000
这些模型被认为更像是一个概念验证(PoC),而不是真正的供应链攻击案例。
pickle序列化格式在机器学习模型分发中很常见,但一直存在安全隐患,因为它允许在加载和反序列化时执行任意代码。
被检测出的这两个模型使用的是PyTorch格式,实质上是压缩的pickle文件。尽管PyTorch默认使用ZIP格式压缩,但这些模型使用的是7z格式,这使它们能够避开Hugging Face的Picklescan工具的恶意检测。
Zanki指出,这个pickle文件的一个有趣之处在于,恶意载荷执行后对象序列化就中断了,导致无法正确反编译对象。
后续分析显示,尽管存在反序列化错误,损坏的pickle文件仍然部分反序列化,从而执行恶意代码。该问题已得到修复,Picklescan工具也进行了版本更新。
Zanki解释说,pickle文件的反序列化是按顺序进行的,pickle操作码会在遇到时执行,直到所有操作码执行完毕或遇到损坏的指令。由于恶意载荷插入在pickle流的开头,Hugging Face的安全扫描工具未能检测出模型的执行存在风险。
文内含有的对外跳转链接,仅供参考。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。