VIGIL: defending LLM agents against tool-flow injection with "verify before submit"
VIGIL: Defending LLM Agents Against Tool Stream Injection via Verify-Before-Commit
VIGIL以提交前验证防御工具流注入,Qwen3-max工具流总体ASR为8.13%(Table 2)。
标准 black-box:信任边界含系统指令与私有记忆,外部环境不可信。
- 开放环境中的LLM智能体必须摄入不可信外部数据。作者称工具流里的伪造定义和运行时反馈会被当成绑定约束,强对齐模型因此优先执行注入规则;plan-then-execute又会切断纠错所需的反馈。
- VIGIL先从用户查询生成抽象流程和不可变约束,并把工具描述与反馈改写成客观事实。投机推理在沙箱中展开多条轨迹,经不变式合规和语义蕴涵两级检查后才提交;失败则回溯,成功路径被缓存。SIREN含959例工具流注入和949例数据流基线。
- 在Qwen3-max与Gemini-2.5-pro上,Table 2中VIGIL工具流总体ASR为8.13%与11.99%,UA为27.53%与18.46%。作者称相对动态防御降幅超过22%,Qwen3-max上受攻击效用提高一倍以上。
- 作者指出大假设空间有计算开销,不可变约束难适应子目标随检索数据涌现的任务;后续包括剪枝、轻量验证、动态约束、多模态界面和训练对齐。实验为两个骨干、temperature=0;论文未报告重复次数及各模块所用模型。
- Threat model
- 标准 black-box:信任边界含系统指令与私有记忆,外部环境不可信。攻击者无权重和内部状态,只能操纵交互中检索到的信息;作为被攻陷的第三方工具提供者,可在规划阶段向工具定义注入约束,并在执行阶段伪造反馈,以使用户意图让位于恶意指令。
- Evaluated models
- Qwen3-maxGemini-2.5-pro
- Benchmarks
- SIRENAgentDojo
- Metrics
- ASRUABU
VIGIL defends LLM agents against tool-flow injection with a "verify-then-commit" protocol, combining speculative hypothesis generation with intent-anchored verification to balance reasoning flexibility and safety control. The authors also propose the SIREN benchmark, containing 959 tool-flow injection cases that simulate threats with dynamic dependencies. Experiments show that VIGIL reduces attack success rate by more than 22% compared to the state-of-the-art dynamic defense, and more than doubles utility under attack relative to a static baseline.
Paper analysis
What problem does this paper attempt to solve?
工具流注入可劫持执行,静态隔离又会切断自适应恢复。
工具流中的间接提示注入会劫持执行,而静态隔离又切断纠错所需的反馈。
- 场景:作者称开放环境中的智能体要处理从邮件到关键基础设施维护的敏感流程,必须摄入不可信外部数据,因而面临 Indirect Prompt Injection。工具流不同于网页或数据库里的被动内容,模型会把工具定义和运行时反馈当成有约束力的操作指令。
- 两类失败:Figure 1 标出对齐驱动的脆弱性(Alignment-Driven Vulnerability)与静态防御的脆弱性(Static Defense Fragility)。作者称强推理模型因严格对齐,会把注入规则置于用户意图之上;弱模型常因语义解析不足而良性失败。plan-then-execute 在执行前冻结权限,伪造错误返回后无法恢复,作者称任务完成率会崩溃。
- 思路:把限制性隔离改成 verify-before-commit,用锚定用户意图的验证约束投机探索,把推理灵活与不可逆动作分开。
- 提出的对象:框架 VIGIL(Verifiable Intent-Grounded Interaction Loop),以及基准 SIREN。SIREN 含 959 例工具流注入、五类向量,另有改编自 AgentDojo 的 949 例数据流基线;环境有 496 个竞争工具和动态依赖。
- 威胁模型:
- 知识:标准 black-box。攻击者没有模型权重或内部状态。
- 边界:信任边界包含系统指令和私有记忆,外部环境不可信。
- 能力:只能操纵交互中检索到的信息。攻击者作为被攻陷的第三方工具提供者,可在规划阶段向工具定义注入恶意约束,在执行阶段伪造反馈。
- 目标:模仿权威系统命令,使智能体在看似合法的工具使用下优先执行恶意指令,而不是用户意图。
What related research exists?
论文把本文放在同时不信任数据流与工具流的位置。
工具流攻击
- 数据流 IPI:恶意指令放在网页(Liao et al., 2024; Xu et al., 2024)或数据库(Su et al., 2024; Li et al., 2025b)等静态上下文。
- 工具流:model context protocol(Hou et al., 2025)把功能定义和运行时反馈带入上下文;Wang et al.(2025)与 Yang et al.(2025)考察开放协议上的工具风险。论文称伪造描述或欺骗性错误可以绕过上下文级防御并直接操纵决策,引用 Jiang et al.(2025)与 Jing et al.(2025)。
防御架构
- 早期过滤:Hines et al.(2024)的 Spotlighting 与 Rahman et al.(2024)用启发式提示工程或外部检测模块过滤恶意输入。论文称这类经验方法常挡不住自适应攻击。
- 静态隔离:Rosario et al.(2025)讨论 plan-then-execute;ACE(Li et al., 2026)与 CaMeL(Debenedetti et al., 2025)在交互前生成不可变计划并隔离权限。论文称其在确定环境中有效,但冻结控制流、切断反馈,难以处理复杂任务或从意外错误恢复。
- 动态策略:DRIFT(Li et al., 2025a)在交互中更新安全策略;MELON(Zhu et al., 2025)用 masked re-execution 检测工具调用异常。论文称它们主要清洗数据流、默认工具可靠,因而易受把注入指令误当成系统约束的 mimicry 攻击。
安全评测
- 有状态环境:AgentDojo(Debenedetti et al., 2024)与 Agent Security Bench(Zhang et al., 2024a)评估多步交互。论文称这些基准默认工具完整,评测几乎只覆盖恶意邮件一类数据流,忽略可执行工具集,并引 Evtimov et al.(2025)与 Levy et al.(2024)。
- 工具流基准:MCPTox(Wang et al., 2025)与 MCPSecBench(Yang et al., 2025)暴露工具流漏洞。论文称现有评测仍把数据风险与工具风险当作正交向量,或只覆盖推理复杂度有限的场景。
基线方法为 Spotlighting、DeBERTa-Classifier、Tool-Filter、CaMeL、MELON、DRIFT,以及未加防御的 Vanilla ReAct(Yao et al., 2022)。基准/数据集为自建 SIREN,数据流部分使用 AgentDojo 的 949 例内容注入。
作者称 VIGIL 明确不信任数据流和工具流,用 verify-before-commit 与投机推理同时处理安全约束和复杂求解;SIREN 把双流威胁和推理依赖放进同一评测。
How does the paper address this problem?
VIGIL先生成假设轨迹,经意图约束验证后才提交动作。
VIGIL 把直接选动作改成先生成假设轨迹、验证通过后再提交。标准策略把查询 q 与可能含注入的数据 Dδ、反馈 Fδ 直接映到动作。提交对象来自通过验证的轨迹:τ∗=select(τi∈H | V(τi,C,q)=true)。C 是锚定用户意图且执行中不改写的约束,H 是假设轨迹集合。
问题设定与验证分解
- 五个组件:Intent Anchor 从 q 合成 C;Perception Sanitizer 清洗输入;Speculative Reasoner 生成 H;Grounding Verifier 实现 V;Validated Trajectory Memory 按验证结果做适应。Figure 2 给出这一流程。
- 两步验证:V(τi,C,q)=Vcompliance(Mτi,C)∧Ventailment(τi,q)。先核对动作元数据是否满足不变式,再判断该轨迹对完成 q 是否必要。作者称拆开后可降低认知负荷、收窄决策空间,从而降低相对单一执行提示被劫持的风险。
- 实现角色:锚定与验证由角色化 LLM 完成,锚定角色配置为安全分析员。附录 C 给出四个模块的完整提示词。论文未写各模块是否换用与骨干不同的模型,也未写分支数或概率阈值。
SIREN 的环境与向量
- 重建:以 AgentDojo 为底,加入语义工具冗余和随机运行时反馈。工具库扩到 496 个,嵌入表示重叠但参数规格不同;随机失败和伪造状态信息迫使智能体做异常处理与重规划。
- 规划期(Table 1):Explicit Directive 174 例,在文档字符串中放强制约束,对应 Compliance Bias,良性/恶意/同域工具数为 0/68/0。Dependency Trap 184 例,伪造前置工具,对应 Causal Reasoning,0/67/52。Feature Inducement 179 例,用有吸引力的功能描述造成同域混淆,对应 Semantic Confusion,53/54/54。
- 执行期:Runtime Hijacking 272 例,在返回值中放对抗指令,对应 State Tracking,53/22/22。Error Hijacking 150 例,用阻塞错误配上恶意规程利用异常处理,对应 Exception Handling,53/21/21。五类合计 959 例。
- 数据流基线:949 例内容注入来自 AgentDojo,注入面为邮件或网页等用户数据,对应 Context Distraction,工具数 53/0/0。附录 A–B 与 Table 4–6 给出构造和案例,此处不复述注入文本。
意图锚定与输入清洗
- 信任根:锚定函数只从 q 得到抽象流程草图,以及该查询专属的逻辑不变式,而不是通用安全规则。论文举例:旅行规划可得到范围限于 Travel、交易类型属于 MERCHANT。验证器用这些条件提前剪掉违规路径。
- 客观改写:清洗函数把工具描述的命题内容与其语力分开,去掉祈使或紧迫等操纵性修饰,保留功能语义。论文举例:带强制调用指令的描述会被改成只陈述用途的事实句,再交给后续推理,以避免顺从偏差在推理阶段被触发。
投机推理与提交
- 沙箱探索:每步用清洗后的工具信息展开多个候选分支。每条轨迹是动作序列,画像函数为每个动作抽取操作类型和信息流等元数据。过程发生在假设沙箱中,验证通过前不提交。
- 批准条件:合规检查把元数据与硬约束的一致性当作窄域分类。论文举例:点对点交易会因违反预定交易类型约束被拒绝。通过者再做语义蕴涵判断,看该轨迹是否为完成用户意图所必需。两阶段都通过才批准。
- 回溯与缓存:验证失败触发反思式回溯;成功轨迹写入记忆,供后续推理复用。
What experiments did the paper conduct?
Table 2:VIGIL工具流总体ASR,Qwen3-max为8.13%,Gemini-2.5-pro为11.99%。
实验设置
- 基准:SIREN 全部 959 例工具流注入,以及改编自 AgentDojo 的 949 例数据流;工具库 496 个。
- 骨干:Qwen3-max 与 Gemini-2.5-pro,全部模型 temperature=0。论文未报告重复次数。
- 对照:输入侧为 Spotlighting 与 DeBERTa-Classifier;静态隔离为 Tool-Filter 与 CaMeL;动态防御为 MELON 与 DRIFT;下界为未防御的 Vanilla ReAct。共七种。
- 指标:BU 是非对抗环境的任务完成率。ASR 是攻击者成功执行恶意目标的案例比例。UA 要求同时完成用户任务并消除恶意指令,作者称这是严格标准。
- 判定:论文未写 LLM 裁判、阈值或人工一致性,称遵循 Zhu et al.(2025)与 Debenedetti et al.(2024)的协议。
- 内部模型:VIGIL 的锚定与验证写成角色化 LLM。论文未单独点名与骨干不同的模型。
主结果
下表为 SIREN 工具流 Overall,单位 %。表注称该列是五类向量的 macro-average。据 Table 2。
Swipe horizontally to read the table
方法 Qwen ASR Qwen UA Gemini ASR Gemini UA Vanilla ReAct 73.83 15.95 58.92 12.93 Spotlighting 63.61 20.33 50.89 11.57 DeBERTa 47.24 10.64 33.26 10.32 Tool-Filter 20.13 5.11 18.56 7.19 CaMeL 25.34 11.68 27.84 10.74 MELON 36.70 19.50 32.64 13.87 DRIFT 32.64 14.60 33.06 15.85 VIGIL 8.13 27.53 11.99 18.46 - 作者称 VIGIL 打破刚性与效用的权衡。Figure 3 是两模型的 UA–ASR 图,作者称 VIGIL 位于右下象限;图中文字未给出各点坐标。作者称相对 CaMeL,工具流平均 ASR 从超过 25% 降到 Qwen3-max 约 8%、Gemini-2.5-pro 约 12%;相对 DRIFT 的幅度为 22% 到 24%。摘要写超过 22%,贡献列表写超过 18%。引言称工具流平均 ASR 约为 8~12%。
- 作者称 Tool-Filter 与 CaMeL 的工具流 UA 低于 12%,并称 VIGIL 在 Qwen3-max 上把这类静态基线的任务完成率提高一倍以上。数据流上作者称与严格白名单相当:Qwen3-max 的 ASR,VIGIL 为 0.32%,Tool-Filter 为 0.11%,CaMeL 为 0.00%;DRIFT 的数据流 UA 为 59.75%,高于 VIGIL 的 40.57%(Table 2)。
- BU:Qwen3-max 上 VIGIL 为 74.49%,Vanilla ReAct 为 79.59%,DeBERTa 为 43.88%,CaMeL 为 46.79%。Gemini-2.5-pro 上 VIGIL 为 40.82%,Vanilla ReAct 为 65.31%,Tool-Filter 为 48.98%,CaMeL 为 30.84%。作者称 Gemini 上的折中来自验证器偏保守,并称仍优于严格隔离方法;Table 2 中 Tool-Filter 的 BU 高于 VIGIL。
组件消融
- 设置:Table 3 在 SIREN 上分别去掉 Anchor、Sanitizer、Reasoner、Verifier。论文未说明骨干模型;Full System 的数据流 40.57/0.32、工具流 27.53/8.13 与 Table 2 中 Qwen3-max 的 VIGIL 行相同。
- 数字:去掉 Verifier 后工具流 ASR 为 45.05%,数据流 ASR 为 6.95%。去掉 Reasoner 后工具流 UA 从 27.53% 到 9.07%,ASR 为 8.45%。去掉 Sanitizer 后工具流 ASR 为 24.19%、数据流 ASR 为 12.33%;去掉 Anchor 后工具流 ASR 为 15.33%。
- 作者解读:作者称去掉任一模块都会使安全或效用变差,各模块需要同时存在。
规模与攻击密度
- 工具规模:100 个连续任务。标准规模 496 个工具,大规模扩到 3,074 个同域工具。作者称大规模初期验证成本更高,平均开销随后收敛到常数,并归因于轨迹记忆缓存安全路径。Figure 4(a)(b) 横轴为 Number of Tasks,刻度 0、25、50、75、100;文本未给出曲线端点数值。
- 攻击密度:良性比恶意从 1:1 到 1:8。作者称 ASR 保持低位,UA 逐步下降但未崩溃。Figure 4(c) 纵轴为 Percentage (%),刻度 0、20、40,未标注各比例的读数。
其他消融与分析
- Explicit Directive:Qwen3-max 上 VIGIL 的 ASR/UA 为 16.09%/17.24%,CaMeL 为 44.83%/23.56%(Table 2)。
- Dependency Trap:VIGIL 的 ASR 为 1.09%(Qwen3-max)与 1.63%(Gemini-2.5-pro)(Table 2)。
- Feature Inducement:VIGIL 的 ASR 为 24.02% 与 37.99%;Gemini-2.5-pro 上 CaMeL 为 37.43%,Tool-Filter 为 22.91%(Table 2)。
- Runtime Hijacking:两模型上 VIGIL 的 ASR 均为 0.00%(Table 2)。
- Error Hijacking:VIGIL 的 ASR 为 3.33% 与 2.67%,CaMeL 均为 0.00%;UA 为 14.67%/12.67% 对 2.00%/1.33%(Table 2)。
- 数据流:VIGIL 的 ASR 为 0.32% 与 0.21%,UA 为 40.57% 与 39.30%;DRIFT 的 UA 为 59.75% 与 47.63%(Table 2)。
What are some points that can be further explored?
作者指出假设空间开销和不可变约束的适应问题,并写出后续方向。
作者指出的局限与后续方向
- 计算开销:探索大假设空间会带来计算开销,后续可用轻量验证器或更进一步的剪枝(Limitations)。Conclusion and Future Work 也写可用剪枝提高投机推理器的计算效率。
- 不可变约束:安全锚定在初始用户查询的不可变约束上,可能限制对开放任务的适应,因为子目标会从检索数据中动态出现;后续可研究动态约束演化(Limitations)。
- 多模态:verify-before-commit 可扩展到多模态智能体,以处理视觉界面中的注入面(Conclusion and Future Work,引 Cao et al., 2025)。
- 训练对齐:可与基于训练的对齐技术结合,形成纵深防御(Conclusion and Future Work)。
实验覆盖范围
- 被测骨干为 Qwen3-max 与 Gemini-2.5-pro,temperature=0(§5.1)。
- 主实验使用 SIREN 五类工具流共 959 例、数据流 949 例,以及七种对照防御(Table 1、Table 2)。
- 消融去掉 Anchor、Sanitizer、Reasoner、Verifier(Table 3);规模实验为 100 个连续任务、496 与 3,074 个工具;攻击密度从 1:1 到 1:8(§5.3、Figure 4)。
- 论文未报告重复次数和查询次数,也未报告实现锚定、清洗与验证的模型名称是否不同于骨干(§4、§5)。
- 论文未报告统计检验,以及 ASR、UA、BU 与人工判定的一致性;§5.1 称指标遵循既有协议。
Summarize the main content of the paper
VIGIL用意图约束下的提交前验证处理工具流注入。
VIGIL 用 verify-before-commit 处理智能体的工具流注入,并配有基准 SIREN。
- 问题:开放环境里,伪造的工具定义和运行时反馈可以劫持执行。作者称强对齐会让模型优先服从注入规则,而执行前冻结计划的防御会在伪造错误下失去完成任务的能力。
- 做法:只从用户查询生成流程草图和不可变约束,并把工具描述与反馈改写成客观事实。投机推理在沙箱中展开多条轨迹,经不变式合规和语义蕴涵检查后才提交;失败则回溯,成功路径被缓存。SIREN 有 959 例工具流、五类向量,以及 949 例数据流基线,工具库 496 个。
- 威胁设定:标准 black-box。攻击者没有权重和内部状态,作为被攻陷的第三方工具提供者操纵检索到的工具定义和运行时反馈。
- 结果:骨干为 Qwen3-max 与 Gemini-2.5-pro,temperature=0。Table 2 中 VIGIL 的工具流总体 ASR 为 8.13% 与 11.99%,UA 为 27.53% 与 18.46%。作者称相对动态防御的 ASR 降幅超过 22%,贡献列表写超过 18%;并称 Qwen3-max 上受攻击效用比静态基线提高一倍以上。Qwen3-max 的 BU 为 74.49%,未防御为 79.59%;Gemini-2.5-pro 的 BU 为 40.82%,未防御为 65.31%。去掉验证器后,Table 3 的工具流 ASR 为 45.05%。
- 作者结论:作者称把投机探索与不可逆执行解开,可以在开放环境中同时保住安全与推理灵活。作者同时指出大假设空间的计算开销,以及不可变约束对开放任务的适应问题;后续方向包括剪枝、动态约束、多模态界面和训练对齐。