0.1% 的预训练数据投毒,就能给 Agent 装一个远程后门
我们习惯把模型安全理解为“对齐问题”:模型会不会说错话、会不会被提示词绕过、会不会拒绝不当请求。…
文章目录
我们习惯把模型安全理解为“对齐问题”:模型会不会说错话、会不会被提示词绕过、会不会拒绝不当请求。但一篇新论文把视角往前推了一大步——问题可能不在后训练,也不在提示词,而在预训练语料本身。研究者证明,只要在预训练数据里掺入 0.1% 的恶意内容,就能让一个 CLI Agent 在触发条件下执行攻击者指定的命令。
一分钟速览
- 研究者从零预训练 Qwen3 的 0.6B、1.7B、4B 三个尺寸,再用干净流程后训练成命令行 Agent。
- 仅投毒 0.1% 的预训练语料,即可植入远程代码执行后门。
- 4B 模型在 0.1% 投毒率下攻击成功率约 92%,投毒率降到 0.0005% 仍有正向效果。
- 攻击成功率随模型规模上升,说明能力越强的模型可能越容易被利用。
攻击是怎么成立的
传统的后门研究多集中在微调阶段:给模型一批带触发词的数据,让它学会“看到某个标记就输出特定内容”。这次的不同在于,投毒发生在预训练阶段,而且后训练流程是完全干净的——开发者没有使用任何恶意数据,也没有改动对齐步骤。后门是在模型“读世界”的过程中被悄悄写进去的。
结果是一个具备实际破坏力的 Agent:平时表现正常,回答、调用工具、执行任务都没有异常;一旦输入里出现特定触发条件,它就会在用户机器上执行攻击者事先选定的命令。由于 Agent 本来就有执行权限,这类后门不需要额外漏洞,直接绕过了“模型只是生成文本”的假设。
为什么规模越大越危险
论文给出的数据有点反直觉:攻击成功率随模型规模上升。0.6B 和 1.7B 也能被植入后门,但 4B 在同样 0.1% 的投毒率下达到了约 92% 的成功率。研究者的解释是,更大的模型有更强的模式学习能力,也更容易把语料里的隐蔽关联学成稳定行为。
更值得警惕的是低投毒率的有效性。即使把比例压到 0.0005%,攻击仍然呈现正向效果。对一个动辄万亿 token 的训练集来说,0.0005% 也意味着数千万 token 的恶意内容——足够藏在爬虫抓来的论坛帖、代码仓库、文档镜像里,而且很难被常规的数据清洗发现。
防线应该放在哪
第一道防线是数据来源与溯源。预训练语料来自公开网络,但“公开”不等于“可信”。对高风险来源做签名、版本锁定、变更审计,比事后检测更现实。第二道防线是训练阶段的异常检测:投毒数据往往在分布上有细微偏移,统计检验和影响函数可以帮忙定位,但成本很高。
第三道防线在部署侧,也是最容易被忽视的:Agent 的权限边界。如果 Agent 默认拥有 shell 执行、文件写入、网络访问权限,任何模型层后门都会直接变成系统层入侵。最小权限、沙箱、命令白名单、人工确认,这些“传统安全”手段在 Agent 时代重新变得关键。
这不是某一个模型的问题
论文用的是 Qwen3,但结论并不针对某个厂商。任何从公开网络大规模采集语料、再后训练成 Agent 的流程,都面临同样的风险。开源模型尤其如此:权重可以审计,预训练数据却很难完整复现,使用者往往只能相信发布方的数据治理。
对企业的现实含义是,采购模型时要问的问题变了。过去问“跑分多少、价格多少”,现在还要问“预训练数据怎么来的、有没有来源审计、发现投毒后的召回机制是什么”。对个人开发者来说,给 Agent 开放高权限之前,先假设模型可能被污染,按这个前提设计隔离。
趋势洞察
AI 安全的重心正在从“输出层”下沉到“供应链层”。提示词注入、越狱、后门,本质上是同一个问题的不同切面:我们无法完全信任模型的输入,也无法完全信任模型的来源。真正的防御不会来自某一种检测工具,而来自一整套假设“模型可能不可信”的工程架构。这篇论文的价值,不是制造恐慌,而是把这个假设变成了可测量的实验。
本文地址:https://www.163264.com/18917