人物 · Tom Bonner

把恶意软件分析那套方法搬进 AI 供应链,证明模型文件本身就是攻击载体
- 身份:HiddenLayer,SVP of Research
- 主页:https://www.hiddenlayer.com/about-us/
- 从哪读起:先读 Pickle Files: The New ML Model Attack Vector——它给出的是野生样本而不是构造的 PoC,读完你会改掉随手
torch.load别人权重的习惯;再读 ShadowLogic。 - 成名作:他领导的 HiddenLayer SAI 团队发布的 ShadowLogic——不改权重、不改训练数据、不带任何可执行代码,直接改 ONNX 等格式的计算图就能种下一个能扛过下游微调的后门。
| 时期 | |
|---|---|
| 至今 | HiddenLayer,SVP of Research(公司官网 about-us 页逐字列出) |
| 此前 | BlackBerry,Distinguished Threat Researcher |
| 此前 | Cylance,Director of Threat Research |
| 更早 | 恶意软件分析与安全咨询(含 HPE 等) |
他的出发点不是对抗样本,是恶意文件
Bonner 的背景是传统威胁研究:Cylance 的 Threat Research 总监、BlackBerry 的 Distinguished Threat Researcher。这类岗位每天干的事是拿到一个可疑二进制,反解它怎么落地、怎么持久化、怎么横向移动。带着这套习惯去看 ML 生态,第一个问题自然不是「扰动多少个像素能翻转分类」,而是「我从一个公开仓库下载一个 .pkl,加载它的那一刻,我的机器上跑了谁的代码」。
这个视角的差别很实在:学界研究者假想的攻击者常常是另一个研究者(有白盒访问、有 GPU、有耐心做梯度搜索);Bonner 假想的攻击者是勒索软件运营方——他要的是初始访问权,最好还能一次打到几千个下载了同一个模型的组织。他把 Hugging Face 这类平台当成一个没有代码签名、没有沙箱、任何人都能上传二进制的软件分发网络来看,而不是当成一个学术资源站。
pickle 那条线:真样本,不是构造的 PoC
Python 的 pickle 在反序列化时会调用对象的 __reduce__,而 __reduce__ 可以返回「调用 os.system 并把这串字符串传进去」。所以一个 pickle 格式的权重文件天然是可执行体:torch.load 一个陌生权重,等价于运行一个陌生脚本。这件事的机制并非他首次指出,但他任内 HiddenLayer 团队做的两件事把它从「理论上可行」推成了「已经在发生」——Weaponizing ML Models with Ransomware 演示了把勒索软件和 Cobalt Strike Beacon(红队常用的远控植入体,落地后攻击者就有一个交互式后门)塞进模型文件;随后的 Pickle Files: The New ML Model Attack Vector 则直接从公开仓库里捞出三个真实的恶意 pickle,分别投递 Cobalt Strike、Metasploit 和 Mythic,其中最早的一个 2022 年 1 月就传上去了,用的是最土的办法:pickle 里嵌一段 Python 脚本,用内置 exec 跑掉。
后来的行业变化——picklescan 这类扫描器、Hub 上的自动模型扫描、safetensors(一种只存张量数据、不含任何可执行结构的格式)成为默认——是多方共同推动的,Trail of Bits 和 Hugging Face 自己都是主力。把这条因果全记在他头上不成立;能确定的是这批带真实样本的报告给了「换格式」这个成本不低的决定一个具体的现实理由。
ShadowLogic:后门在计算图里,权重和代码都是干净的
这是他团队最有辨识度的结果。做法是直接编辑模型的计算图——就是 ONNX/TensorFlow/CoreML/OpenVINO 这些格式里存的那张「先做卷积、再做加法、然后走这条边」的算子拓扑图。攻击者往图里插一小段条件分支:检测到触发条件就走另一条路,否则一切照旧。三个演示分别是 ResNet(特定像素值出现即误分类到指定类别)、YOLO(特定物体组合出现时抑制检测框——比如让它看不见某样东西)、Phi-3 Mini(识别到触发短语就把输出 token 换成预设内容)。
关键性质有三条。一,它不含任何可执行 payload,所以查恶意代码的扫描器看不见它——文件格式本身是「安全格式」。二,它跨格式转换存活。三,据其报告,后门能扛过下游微调;这一点是它和 BadNets 那类数据投毒后门的分水岭——数据投毒的后门常常被后续训练冲淡,而计算图里的一条 if 分支,微调不会去动它。这直接打在一条很多人默认成立的防御假设上:「我只从可信 Hub 下载 safetensors 就安全了」——换格式挡住的是代码执行,挡不住图结构本身被改。
同一个团队的产出,可信度差别很大
2025 年 HiddenLayer 发的 Policy Puppetry 值得单独拿出来当判据用。方法是把有害请求伪装成一份 XML/INI/JSON 格式的「系统策略配置」,配上角色扮演和 leetspeak(把字母替换成形近数字,如 h4rmful),公司称其对所有主流前沿模型通用,并列了从 GPT-4o、Claude 3.7 Sonnet 到 Gemini 2.5 Pro、Llama 4、DeepSeek R1 的一长串。
这是厂商自述,无独立复现。它没有给出可复现的评测协议:测了多少条有害请求、判定「越狱成功」的口径是什么(模型开口就算,还是内容真的可用才算)、每个模型的具体版本与测试日期、成功率数字、有没有拿现成的越狱方法做对照。相比之下 pickle 和 ShadowLogic 那条线的结论是二元的——代码执行了没有、触发器输入后模型输出变了没有——谁都能自己跑一遍验证。分界线在这里:结论二元可判定的,厂商发布也可信;结论是「成功率高」「普遍有效」这类连续量的,缺了评测协议就只能当线索。
他把这些塞进了哪些既有流程
作为 exec 而非研究员,他推的是一件挺具体的事:让 AI 模型与框架的漏洞走进已经存在的漏洞流程,而不是停在博客里。HiddenLayer 在 2023 年 12 月成为 CVE Numbering Authority,可以给不归属其他 CNA 的第三方软件漏洞直接分配 CVE 编号——意味着一个 ML 框架里的反序列化漏洞能拿到编号、进扫描器、进企业的补丁流程,而不是靠一条推文传播。同一条线上还有年度 AI Threat Landscape Report,2026 年那版基于 250 位 IT 与安全负责人的调研,报告称自主 agent 已占已报告 AI 事故的八分之一以上,而被引用最多的事故来源(35%)仍是公开模型与代码仓库里的恶意软件——正好是他从 2022 年就在追的那条线。
利益关系要摆出来:CNA 身份、模型扫描器产品、这些研究发布,是同一家公司的同一条业务线。他们发现的攻击面越大,他们卖的扫描器越有用。这不使 pickle 样本或 ShadowLogic 的演示变假——那些是能自己复现的——但决定了哪些结论该自己验一遍再信。
已核实来源
- https://hiddenlayer.com/about-us/
- https://www.hiddenlayer.com/research/shadowlogic
- https://www.prnewswire.com/news-releases/a-novel-method-for-implanting-codeless-backdoors-in-ai-models-hiddenlayer-sai-team-unveils-shadowlogic-302273264.html
- https://www.hiddenlayer.com/research/pickle-strike
- https://hiddenlayer.com/innovation-hub/weaponizing-machine-learning-models-with-ransomware/
- https://hiddenlayer.com/innovation-hub/novel-universal-bypass-for-all-major-llms/
- https://www.prnewswire.com/news-releases/hiddenlayer-partners-with-cve-program-as-a-numbering-authority-to-secure-ai-302020231.html
- https://www.prnewswire.com/news-releases/hiddenlayer-releases-the-2026-ai-threat-landscape-report-spotlighting-the-rise-of-agentic-ai-and-the-expanding-attack-surface-of-autonomous-systems-302716687.html
- https://uk.linkedin.com/in/thomas-j-bonner
本文由自动化管道生成(采集 → 逐字核验 → 模型撰写),未经人工改写。