指令与数据共用一根上下文:注入防御的三条路线怎么叠
7a 安全篇下钻(L13 p.10-17)。解剖(p.10):提示注入(prompt injection)里用户任务完全合法,攻击者把指令藏进外部内容——issue 标题这类不可信文本进入模型上下文后被当作指令,最终以 shell 命令作用于系统(出处 Cline postmortem + AgentDojo);病根=指令与数据在上下文里同池。防御三路线:①提示工程——Microsoft Spotlighting(2024)Delimiter/Marking/Datamarking 三技术,GPT 系模型上攻击成功率从 >50% 压到 <2% 且几乎不伤任务性能,本质是概率压制,给不了保证;②架构——CaMeL(Google DeepMind+ETH,2025,arXiv 2503.18813)特权规划器+非特权执行器,不可信内容只能产出「值」不能产出控制流,配安全 LLM 细粒度权限检查,对自适应攻击者具可证明安全性质;SecureClaw(2026,arXiv 2606.09549)双边界:敏感读取经可信网关替换为不透明句柄+有界摘要,外部写入走 PREVIEW→COMMIT 仅受信执行器可提交;Simon Willison lethal trifecta(2025-06-16):私有数据访问+不可信内容消费+对外通信三者并存即可被利用,唯一可靠防御=别让三者同时出现。③训练(p.13-17)——人工红队 p.14(Gray Swan Arena 模拟「读取另一位病人的记录」,agent 确实泄露,引 Zou 等 ART 图 2);自动红队 p.15(PAIR,Chao 等:攻击者模型写提示→目标回答→裁判 judge 打分→迭代);SFT p.16(Nemotron 3 Super §3.1:先判 refuse/help→生成→滤不安全→留训练,示例拒窃卡并转而帮助防护);RL p.17(§3.2.1-3.2.3:抗攻击——奖励守规+自动攻击找难变体、用骗过早期模型的变体训练;避免误拒——合法安全请求奖励有用回答、安全任务与其他域混合);Anthropic 浏览器注入防御(2025-11-24)RL+不可信内容分类器+规模化红队,内部 Best-of-N 自适应攻击者每环境 100 次尝试下攻击成功率降到 1%,官方明言「1% 仍是有意义的风险」。警示:AgentDojo/ASB/InjecAgent 等基准被指存在错误成功度量、实现 bug、攻击太弱并给出修正版(Indirect Prompt Injections: Are Firewalls All You Need,2025,arXiv 2510.05244)。对比四维:部署成本、可证明性、对模型能力依赖、utility 损失。
提示注入 (prompt injection) 大概是 agent 安全里被讨论最多、也最容易被 “加一句系统提示就没事了” 打发掉的攻击。
L13 p.10 的解剖图给出完整病例,出处是 Cline postmortem 与 AgentDojo:用户任务完全合法,攻击者把指令藏进 issue 标题这类 agent 必须读取的外部内容。
agent 执行任务时顺从了这条指令,shell 命令最终落在真实系统上。
病根是结构性的:Transformer 的上下文里指令与数据天然同池,不可信文本进来后与用户指令无法区分,被当作指令对待。加一句系统提示治不了这个。
防御沿三条路线展开:提示工程、架构、训练。
一、路线一・提示工程:给数据围栏,压概率不给保证
Spotlighting(Microsoft Research, 2024) 的思路是不拦外部数据,只给数据挂牌:让模型分得清哪些是要处理的内容、哪些是要服从的指令。三个技术由轻到重。
- Delimiter(定界符):用显式分隔符把不可信数据整块包起来。
- Marking(标记):给外部内容的每一行都加前缀,防止内容中途自封指令。
- Datamarking(数据标记):更狠,把数据自身的分隔符替换成随机记号,让注入文本连伪造结构的机会都没有。
效果在 GPT 系模型上(Microsoft Spotlighting,2024,见资料卡 m7-spotlighting):攻击成功率从 >50% 压到 <2%,且几乎不伤正常任务性能。压得很低,但压不到零。
但要看清边界:<2% 是概率压制,给不了保证。它依赖模型自身的指令遵循 (instruction following) 纪律,换个不那么听话的模型,或遇到针对性的自适应攻击,数字就会回弹。所以它适合当第一道便宜的滤网。单独扛防线,不行。
二、路线二・架构:让不可信内容只能产出「值」
提示工程压概率,架构路线换思路:既然上下文里无法可靠区分指令与数据,那就别让被污染的数据有机会变成控制流 (control flow)。
CaMeL(Google DeepMind+ETH, 2025) 把 agent 劈成两半。特权规划器 (privileged planner) 决定做什么,控制流只在这里;非特权执行器 (unprivileged executor) 接触一切不可信内容。
执行器读到的外部文本至多变成一个值,比如一段要处理的字符串,永远变不成下一步做什么的决定。再配一个安全 LLM 做细粒度权限检查:这个值能不能写进这个文件、发给这个地址。
论文的核心主张是对自适应攻击者 (adaptive attacker) 具备可证明安全性质 (provable security):不是测了很多攻击都没成功,而是结构上就不存在那条攻击路径。
SecureClaw(2026) 把同一思想落成双边界。读侧,对敏感数据的访问经可信网关 (trusted gateway) 中转,模型拿到的是不透明句柄 (opaque handle) 加有界摘要 (bounded summary)。看不见原文,也就泄不出去。
写侧,一切对外写入先产出 PREVIEW,只有受信执行器可以 COMMIT。被注入的模型再想直接把数据发出去,过不了这道闸。
上线前先问三件事:这个 agent 能访问私有数据吗?会消费不可信内容吗?能对外通信吗?三要素并存即可被利用(lethal trifecta,致命三要素),唯一可靠的防御是别让三者同时出现。架构设计的第一个动作是砍要素,加墙排在后面。
架构路线的代价也直白:部署成本最高。CaMeL 要求重写 agent 框架,SecureClaw 要引入网关与提交协议。
utility 上,写操作多一步预览、读操作只见摘要,合法任务的摩擦真实存在。
三、路线三・训练:把「不受骗」练进权重
前两条路线一条压概率、一条锁控制流,训练路线 (L13 p.13-17) 的逻辑是第三种:模型自己是最后一道关卡,那就用训练把识别并拒绝注入变成能力。起点是红队 (red team)。
人工红队 (p.14) 在受控测试里让测试者诱使 agent 违规。Gray Swan 的 Arena 模拟医疗场景,诱导 agent 读取另一位病人的记录,agent 确实照做了(引 Zou 等 ART 图 2)。这条泄露是实测出来的。
自动红队 (p.15) 再用 PAIR(Chao 等)把攻防自动化:
SFT 侧 (p.16),Nemotron 3 Super 报告 §3.1 的管线:先判定该拒绝 (refuse) 还是该帮助 (help)→ 生成回复 → 过滤不安全的 → 只留安全样本进训练集。示例中模型拒绝帮人窃取信用卡,并转而提供防护建议,拒绝的同时把任务引回正道。
RL 侧 (p.17, §3.2.1-3.2.3) Nemotron 同时打两个方向:
- 抗攻击。奖励守规回复;用自动攻击找更难变体,专门用骗过早期模型的变体来训练。
- 避免误拒(over-refusal)。把合法的安全请求也纳入训练、奖励有用的回答,并将安全任务与其他域混合,防止模型见什么拒什么。
这条路线的工业上限看 Anthropic 的浏览器注入防御(2025-11-24):RL 训练在模拟网页内容注入的环境里跑,配不可信内容分类器,再加规模化红队与 Arena 式挑战,三件齐上。
在内部 Best-of-N 自适应攻击者、每环境 100 次尝试的评测下,攻击成功率降到 1%。官方紧接着补一句:「1% 仍是有意义的风险」。训练路线给不出零风险,这是目前最接近可部署的强防线。
四、怎么叠:一张对比与两条警示
三条路线拆完,剩下的问题是怎么叠。
提示工程:部署成本最低(改提示模板即可),无可证明性,强依赖模型指令遵循能力,utility 损失近乎零。架构:部署成本最高(重写框架、加网关),CaMeL 对自适应攻击者可证明安全,不依赖模型能力,utility 损失来自权限摩擦。训练:成本集中在训练侧(红队 + 数据 + RL),无可证明性(1% 仍有意义的风险),依赖持续对抗,utility 风险是误拒。
从 lethal trifecta 起步:先用「砍要素」做产品级减法 —— 能不能不让 agent 同时握有私有数据与对外通道;再在系统层立架构边界(CaMeL 式控制流隔离或 SecureClaw 式读写双闸)兜住最坏情况;最后用训练 + 提示工程把日常攻击成功率往下压。三层各管一件事:架构管「万一」,训练管「大概率」,提示工程管「便宜的第一道滤网」。
其一,Anthropic 把攻击成功率压到 1% 后,仍不把这个数字当安全余量:风险只是被压到了更小、更难测的区间。
其二,评测基准本身也在被审计:Indirect Prompt Injections: Are Firewalls All You Need(2025,arXiv 2510.05244)指出 AgentDojo、ASB、InjecAgent 等基准存在错误成功度量、实现 bug、攻击太弱等缺陷,并给出修正版。你的防御在这批基准上涨的分,先确认尺子修过没有。
与本讲的连接
本篇下钻 7a(官方 Lecture 13,Agent Safety)的 L13 p.10-17:p.10 的注入解剖展开成三道防线,p.13-17 接上 Nemotron 的训练配方与 Anthropic 的工业上限。
八张资料卡各就其位:m7-spotlighting 是路线一三技术的出处,m7-camel、m7-lethal-trifecta 与 m7-secureclaw 撑起路线二的设计哲学与落地。
路线三与基准侧:m7-nemotron-3 与 m7-anthropic-browser-injection 给 SFT/RL 配方与浏览器场景实战,m7-injecagent 是被审计的经典基准、m7-injection-firewalls 提供基准修正的警示。
跨讲连读:第 4 讲的计算机操作 agent 是浏览器注入的主战场,Anthropic 那篇就是为这个场景造的防御;第 6 讲的 agentic RL 系统是把模拟注入环境规模化跑起来训模型的基础设施。
人工红队、自动红队、SFT、RL—— 四步链条,从找出漏洞一路走到把拒绝注入练进权重。
本节论文与规范
- Defeating Prompt Injections by Design (CaMeL, DeepMind+ETH 2025)↗
- Defending Against Indirect Prompt Injection Attacks With Spotlighting (Microsoft Research)↗
- Mitigating the risk of prompt injections in browser use (Anthropic, 2025)↗
- NVIDIA Nemotron 3 Super Technical Report↗
- SecureClaw: Clawing Back Control of LLM Agents (2026)↗
本节资料
- AgentDojo: A Dynamic Environment to Evaluate Prompt Injection Attacks and Defenses for LLM Agents 论文2406.13352进阶官方引用
官方 slides L13 p10/p41 引用。不是静态测试集而是可扩展环境:97 个真实任务(邮件、网银、订票)+629 个安全测试用例,可插入攻击与防御做对抗式评测;发现 SOTA LLM 无攻击也会挂任务。后续大量 2025-2026 防御工作以其为标准靶场。
2025-11-24 发布:Claude Opus 4.5 浏览器场景注入防御三件套——RL 训练(模拟网页内容注入)+不可信内容分类器+规模化红队;内部 Best-of-N 自适应攻击者每环境 100 次尝试下 ASR 降到 1%,官方明言「1% 仍是有意义的风险」。训练路线最新最硬的数字。
- Agent Security Bench (ASB): Formalizing and Benchmarking Attacks and Defenses in LLM-based Agents 论文2410.02644前沿
把 agent 安全形式化为 10 场景×10 agent×400+ 工具×27 类攻防方法×7 指标的全栈基准(2024);实测注入攻击+记忆投毒+Plan-of-Thought 后门,最高平均攻击成功率 84.30%,现有防御普遍乏力。「攻击面分类」的骨架素材。
- Defeating Prompt Injections by Design(CaMeL) 论文2503.18813前沿
2025 年 DeepMind「从架构上根治注入」方案:特权规划器+非特权执行器,不可信内容只能产出「值」不能产出「控制流」,配安全 LLM 细粒度权限检查,对自适应攻击者具可证明安全性质。架构路线的旗帜。
- InjecAgent: Benchmarking Indirect Prompt Injections in Tool-Integrated Large Language Model Agents 论文2403.02691入门
间接提示注入基准的奠基作(经典·高引):1,054 个测试用例、17 种用户工具、62 种攻击者工具,攻击意图分「直接伤害」与「隐私外泄」两类;30 个 LLM agent 实测,ReAct-prompted GPT-4 攻击成功率 24%。理解「外部内容→指令劫持」的第一站。
2025 年发布:在 agent-工具接口布设双防火墙宣称四基准「perfect security with high utility」,同时揭露 AgentDojo/ASB/InjecAgent 的缺陷(错误成功度量、实现 bug、攻击太弱)并给修正版。既是防御参考也是「别尽信基准」的方法论教材。
2025-06-16 发布:私有数据+不可信内容+对外通信三要素并存即可被注入利用,唯一可靠防御是别让三者同时出现。一句话框架讲透防御为何要从架构下手(对应 L13 p21 边界与 p27-29 凭据),社区引用极广。
slides L13 p16-17 出处:§3.1 安全 SFT 配方(先决定 refuse 还是 help→生成回复→过滤不安全→留训练);§3.2.1-3.2.3 RL 安全(抗攻击:奖励守规+自动攻击找更难变体;避免误拒:合法安全请求混入奖励)。
- SecureClaw: Clawing Back Control of LLM Agents 论文2606.09549前沿
2026 年发布:针对未授权外部动作与运行时明文暴露提出双边界架构——敏感读取经可信网关替换为不透明句柄+有界摘要,外部写入走 PREVIEW→COMMIT 仅受信执行器可提交;AgentDojo/AgentLeak/ASB harness 下唯一同时守住效用与两个边界的防御。与 OpenClaw 事件天然呼应。
提示工程路线防御代表(2024):Delimiter/Marking/Datamarking 三种 spotlighting 技术帮模型区分指令与数据,GPT 系模型上把攻击成功率从 >50% 压到 <2% 且几乎不伤任务性能。与架构路线(CaMeL)对比的提示级样本。
AI 生成 · 仅供参考,与课程方无关。选中正文里的任何一段也能直接问我(解释一下 / 举个例子)。
本详解以 CMU 11-768 AI Agents (Fall 2026) 课程大纲为参考框架独立撰写,AI 辅助起草、人工抽审。 涉及的官方课件、论文与课程材料版权归原所有方,讲义为站内镜像、其余外链原文出处; 观点与文字(除标注引用外)为作者原创。