防御位置正在往后移
间接提示注入是智能体特有的风险。传统的内容审核解决的是「模型会不会说出不该说的话」,而智能体的问题更进一步:一段藏在网页、邮件或文档里的恶意指令,可以让模型去调用一个它本来不该调用的工具,把一次错误理解变成一次真实的外部动作。发邮件、下单、改配置、删记录——这些动作一旦发生,就很难撤回。
围绕这个风险,此前的思路大多集中在「内容侧」:在模型读到外部内容之前先过滤、在系统提示里声明外部内容不可信、或者对模型做安全对齐训练。这些做法有效,但都有各自的局限——过滤会漏,声明会被绕过,对齐训练会被新的攻击手法消耗。
近期出现的三篇研究,方向有一个共同点:把防御的位置往后移,从「读到的内容」移到「即将执行的动作」。它们分别处理的是动作与授权是否一致、推理过程能否识别冲突、以及动作在放行前是否该被拦一道。
需要先说明边界。三篇研究都在受控环境或合成数据上完成评测,与真实生产系统的复杂攻击面仍有距离;研究者本人也把结论限定在实验设置内,官方及行业暂未披露更多细节,后续将持续跟进迭代动态。本文只讨论它们公开的机制与数据。
一篇:把「该做什么」和「做了什么」画成两张图来对
AuthGraph 的思路是给每一次智能体运行同时画两张图,然后比较它们是否一致。这个「双图对齐」的设计,试图解决单图防御缺少干净参照的问题。
其中一张是授权图。它由一个规划模型只根据「用户提示」与「工具目录」两项输入来构建,完全不接触任何工具返回、文档内容或智能体之间的消息。它会输出一个预期的工具调用序列,并为每个安全敏感参数给出一条参数策略,必要时还会给出允许重新规划的白名单。由于它的输入里没有来自不可信渠道的内容,这张图在信息论意义上与注入内容相互独立——这是整套设计的关键前提。
另一张是注入推理图。它由一个图构建器根据实际执行轨迹来构建,并且会把每一个参数值归因到它的来源观测上——这个值是从哪个工具的返回里来的。
有了两张图,检查器分三层比对。一层是程序化白名单,凡是落在授权集合之外的调用直接硬拦,这一层没有模型参与。二层是工具名检查,由一个模型把边界情况判成「额外步骤可接受」「跳过步骤可接受」或「可疑」。三层是参数来源核验,按照参数策略去确认这个值是否真的来自声明的来源工具,用字符串匹配对照原始观测文本,匹配不确定时再用模型兜底——作者特意强调要对照原始文本而不是图构建器的摘要,因为摘要本身也是攻击面。
论文报告了消融实验的结果,说明每一层都不可省:去掉二层,攻击成功率从 0.01 升到 0.21;去掉三层,升到 0.18;去掉一层,升到 0.12。在 AgentDojo 基准上以某个小模型为执行器时,无防御的攻击成功率为 0.40、效用率 0.79;加上 AuthGraph 后攻击成功率降到 0.01,效用率降到 0.69。作为对照,另一类主张严格隔离控制流与数据流的方案能把攻击成功率压到 0.00,但效用率也掉到 0.48。在包含动态任务的另一组评测里,AuthGraph 保持 0.02 的攻击成功率与 0.37 的效用率,而严格隔离方案的效用率跌到 0,原因是它无法容纳运行时扩展工具。
代价也是明确的:延迟 4.61 秒,约为基线的 1.87 倍;每个任务消耗约 4.74 万词元,约为基线 1.12 万的 4.23 倍。这个开销比严格隔离方案低,但高于另一类较轻量的方案。作者还列出了四个会失效的边界条件:当攻击者控制的正是权威来源本身——比如被攻破的搜索后端或被污染的检索语料——来源核验会通过,因为值确实来自声明的工具;多智能体场景不在设计范围内,跨智能体的信息流无法追踪;过于宽松的重规划白名单会让攻击者在白名单内部拼出有害序列;以及成本受限的工作负载难以承受数倍开销。
另一篇:让模型在推理里把冲突说出来
与 AuthGraph 在系统层面加检查不同,ReasAlign 选择在模型层面做防御。它的核心想法是让模型在给出答案之前,先执行一套结构化的推理步骤:分析用户请求、检测相互冲突的指令、并保持用户原意的连续性。当外部内容里藏着一条与用户意图冲突的指令时,这套推理会把它显式地识别出来,而不是默默接受。
为了保证推理逻辑本身的质量,研究者还引入了一个测试时扩展机制:用一个经过偏好优化的评判模型给多条推理轨迹打分,然后选出最好的一条。这相当于把「想一遍」变成「多想几遍再挑一遍」,用额外的推理开销换取更稳的判断。
评测结果给出了较明显的对比。在一个包含多类注入任务的开放式安全基准上,ReasAlign 达到 94.6% 的效用率与 3.6% 的攻击成功率;而此前被报告为较强的对齐防御模型,效用率为 56.4%、攻击成功率为 74.4%。两组数字的差距同时体现在两个维度上——既守住了安全,也没有牺牲可用性,这正是防御类工作最难同时满足的两项。研究者开放了代码与实验结果。
需要谨慎解读的是,这类模型级防御的有效性高度依赖攻击的形态。如果攻击手法与训练时见过的模式差异很大,防御效果可能下降;而论文的评测集是固定的,真实世界里攻击者会持续迭代。因此它更适合作为多层防御里的一层,而不是单独依赖的方案。
第三篇:在动作放行前加一道轻量门
第三篇研究提出的 RA-Guard 走的是运行时门控路线。它不试图理解整段内容,而是在动作即将执行之前做一个快速判断:这个动作该放行、该复核,还是该拦截。
它的判断依据是多路证据的加权组合,包括是否存在指令注入、指令之间是否冲突、被调用工具的敏感程度、权限是否匹配,以及是否存在信息外泄的可能。这些信号被合成为一个分数,再映射到「放行、复核、拦截」三种结果之一。作者强调这是一个轻量的运行时决策层,设计目标是能在动作执行前快速给出结论,而不是替代完整的安全体系。
评测在一批受控的合成用例上完成,共 129 条带标注样本,覆盖正常行为以及直接注入、间接注入、工具误用、权限提升与数据外泄尝试。留出集上的结果是:准确率 93.02%,精确率 100%,召回率 88.75%,F1 分数 94.04%。在实验设定的不安全动作定义下,基准没有产生误报,但有 11.25% 的攻击用例未被标记出来。消融实验显示两个环节都有作用:去掉分数聚合这一步,召回率降到 66.25%、F1 降到 79.70%;去掉上下文分析,召回率降到 86.25%。
作者自己写明了最重要的一条限制:检测器与测试语料都是合成的,因此这些数字应当被当作原型层面的证据,而不是生产级的安全保证。这句话值得被认真对待——合成语料的分布往往比真实攻击更规整,真实环境里的漏报率可能更高。
三篇放在一起看
把三篇研究并排,能看到防御正在从「一个检查点」变成「一条链」。ReasAlign 在最前,试图让模型在理解阶段就不被带偏;AuthGraph 在中间,用干净的授权基准去对照实际执行轨迹;RA-Guard 在最后,作为动作放行前的兜底门。三者的防御位置不同,覆盖的攻击面也不同,理论上可以叠加。
但它们也有共同的软肋。AuthGraph 自己承认,当权威来源本身被污染时,来源核验会失效;RA-Guard 依赖合成语料,真实漏报率未知;ReasAlign 依赖攻击形态与训练分布的相似度。三者都建立在「不可信内容与可信意图可以区分」这个前提上,而这个前提在多智能体、跨系统协作的场景里会变得更脆弱——一条经过多次转述的指令,其来源归属本身就很难确定。
这与近期的其他观察是一致的。此前有研究指出,智能体对工具输出存在系统性过度信任,会把被污染的结果当成证据采纳,即便内部推理已经察觉到冲突;也有工作显示,让权限信息仅仅对规划器可见并不足够,变更边界处仍然需要一个确定性的护栏。这些结论与三篇防御研究的判断方向相同:安全不能只落在模型的判断上,必须有一部分落在模型之外。
中立思辨
需要辩证看待几件事。其一,攻击成功率从 0.40 降到 0.01 这类数字很有冲击力,但它对应的是一组固定基准与固定攻击手法,防御方与攻击方在真实世界里是持续对抗的,静态数字会随时间贬值。其二,代价与安全之间存在明确取舍:AuthGraph 的词元开销超过四倍,对高频调用的智能体意味着成本显著上升,而降低检查层数又会让安全性下降,这个平衡点没有通用答案。其三,RA-Guard 的 100% 精确率来自合成语料,而真实环境里「看起来像攻击但其实正常」的边界情况更多,误报带来的业务中断成本往往被低估。其四,模型级防御存在被对齐税侵蚀的风险——为了提高安全性而做的推理约束,可能让模型在其他任务上变得过度谨慎,长期效果需要更大范围的评测。其五,三篇研究都没有覆盖「防御本身被攻击」的情况,如果检查器所依赖的模型被诱导,防御层可能反而成为新的攻击入口。其六,多智能体场景被多数方案列为超出范围,而现实中协作型智能体正在增加,这块空白短期内难以补上。
趋势研判
短期看,运行时门控这类轻量方案会先被企业采纳,因为它不需要重训练、可以叠加在既有系统上,且拦截动作的收益直观;中期看,双图对齐这类需要规划器与检查器协同的方案,会随着智能体框架本身提供钩子而变得更容易落地——如果框架原生支持「规划产物」与「执行轨迹」的分离,这类防御的集成成本会大幅下降;长期看,真正的解法可能不在单次防御的强度,而在权限设计本身:如果每个工具暴露的都是最小可用能力,如果高风险动作默认需要人工确认,那么即便一次注入成功,它能造成的损害也是有界的。这与近期行业推动的智能体身份与授权治理是同一个方向。
对正在上线智能体的团队来说,一个务实的起点是先列出「一旦被注入成功就无法挽回」的动作清单——转账、删除、对外发送、权限变更。把这份清单上的动作全部改成需要人工确认或二次校验,比给所有动作都加一层昂贵的检测要划算得多,而且它不依赖任何检测器的准确率。