本文约2600字建议阅读5分钟本文介绍了 VIGIL 框架及 SIREN 基准有效防御 LLM Agent 工具流注入。这篇论文聚焦 LLM Agent 在开放工具环境中的一个新型安全问题——工具流注入Tool Stream Injection。攻击者不再只是把恶意指令藏在网页、邮件等数据里而是直接污染工具说明、函数签名和运行反馈诱导 Agent 偏离用户真实意图。针对强模型更容易被伪装规则劫持与静态防御框架出现性能崩塌的两难问题论文提出 VIGIL一种 “Verify-Before-Commit先验证、再提交”的新范式在保留动态推理能力的同时为真正执行前的动作增加基于用户意图的验证环节。作者还构建了 SIREN 基准系统评测五类工具流攻击。实验表明VIGIL 能把工具流攻击成功率降低至约 8%–12%并在遭攻击时显著提升任务完成能力实现安全性和可用性的更优平衡。论文标题VIGIL: Defending LLM Agents Against Tool Stream Injection via Verify-Before-Commit论文作者Junda Lin†, Zhaomeng Zhou†, Zhi Zheng*, Shuochen Liu, Tong Xu, Yong Chen, Enhong Chen收录会议ACL 2026 main论文链接https://arxiv.org/pdf/2601.05755代码链接https://github.com/MINE-USTC/vigilHighlights论文把 Agent 安全的关注点从数据流注入进一步推进到工具流注入指出恶意工具说明、伪造依赖关系、欺骗性报错与运行反馈都可能劫持 Agent 的任务执行流。提出了 VIGIL 框架将防御思路从事先静态隔离改为先探索候选路径再基于用户意图验证后提交尽量不牺牲交互式 Agent 必需的动态推理能力。构建了 SIREN 基准包含 959 个工具流注入案例、5 类攻击向量用来统一评测 Agent 在开放环境中的安全与可用性。在 Qwen3-max 和 Gemini-2.5-pro 上VIGIL 将工具流攻击成功率ASR降至约 8%–12%相较近期动态防御框架进一步降低 22%–24%同时相较静态防御框架将攻击下效用UA提升到两倍以上。1、背景随着 LLM 从会说话的模型走向会调用工具、会操作流程、会执行任务的系统它们越来越频繁地暴露在开放、动态、不可完全信任的外部环境中。过去大家更关注的是数据流里的间接提示注入例如网页、邮件、数据库中存在的恶意指令。但在开放工具生态里真正更危险的是工具流工具说明、调用约束、返回值、报错信息本身也可能被伪装成必须遵守的系统规则。这篇论文指出了现有 Agent 防御面临的两个关键矛盾。第一越强的模型越可能因为过度遵守“看起来像规则”的恶意工具信息而被劫持第二很多现有静态防御依赖“先规划、后执行”的强权限隔离一旦执行过程中出现伪造报错或异常反馈系统就难以回退和重规划最终出现严重的可用性坍塌。换句话说安全和可用性在现有方案里常常被迫二选一。VIGIL 想解决的正是这个核心矛盾能不能既不盲信工具反馈又不把 Agent 的动态推理能力一刀切掉论文给出的答案是把推理探索和真实提交拆开允许模型先假设、先试探、先比较但真正落地执行前必须经过一个与用户原始意图对齐的验证环节。2、方法VIGILVIGIL 的核心思想可以概括成一句话不是让 Agent 一上来就执行而是先在“假设空间”里探索可行路径再把候选动作拿回到用户真实意图上做验证确认没问题后才提交。整个框架主要由五个部分组成Step 1Intent AnchorVIGIL 首先从用户查询本身出发提炼出高层任务草图和不可违背的约束条件例如操作范围、允许访问哪些对象等。这样一来后续所有候选动作都有了一个“根信任”参照不会轻易被外部工具文档牵着走。Step 2Perception Sanitizer面对外部工具说明和运行反馈VIGIL 不直接把它们原样送给模型而是先做一次客观化改写保留功能事实移除“必须”“立刻”“先调用某工具”“否则失败”这类带操控性的指令语气。这样做的目标是把工具流里的“伪系统命令”还原成普通信息避免模型在推理阶段就被合规偏置带跑。Step 3Speculative Reasoner和静态防御不同VIGIL 不会提前把计划完全锁死而是允许 Agent 基于净化后的工具信息探索多个可能的执行分支。重要的是这个阶段只是假设而不是提交因此系统可以比较不同工具、不同恢复路径甚至在出错后进行回退与重规划。Step 4Grounding VerifierVIGIL 的关键在于验证器。它在动作真正落地之前做两层检查第一层看是否违反硬约束比如是否越权、是否出现不该发生的操作第二层看是否真的有助于完成用户任务也就是动作在语义上是否必要。只有同时通过这两层检查动作才会被允许真正执行。Step 5Validated Trajectory Memory一旦某条执行轨迹通过验证并成功完成任务VIGIL 会把它缓存起来后续面对类似问题时可以更快定位安全路径。这也解释了为什么论文在扩展到更大工具集时验证开销不会一直线性增长。3、实验3.1 基准构建SIREN 不只是“加几个攻击样例”为了系统评测工具流注入论文构建了 SIRENSystemic Injection Reasoning Evaluation beNchmark。这个基准在一个包含 496 个工具、存在动态依赖和运行反馈的环境中组织了 959 个工具流攻击案例并额外纳入 949 个数据流攻击案例作为基线。它覆盖五类工具流攻击1. Explicit Directive在工具说明里直接注入必须遵守的伪规则2. Dependency Trap制造假的依赖诱导 Agent 先调用恶意工具3. Feature Inducement用更智能、更具吸引力的描述诱导 Agent 选错工具4. Runtime Hijacking在返回值里注入高优先级恶意指令5. Error Hijacking用伪造报错和恢复 SOP 强行改写后续参数或流程。这套评测框架的价值不只是更难而是更贴近真实 Agent 系统的风险形态攻击者不再只污染输入内容而是直接污染 Agent 自己依赖的工具接口与执行反馈。3.2 主实验结果VIGIL 真正打破了“安全—可用性”二选一论文在 Qwen3-max 和 Gemini-2.5-pro 两个骨干模型上进行评测。结果显示VIGIL 在工具流整体指标上明显优于现有防御框架在 Qwen3-max 基座 上VIGIL 的工具流整体 UA 27.53%ASR 8.13%在 Gemini-2.5-pro 基座上VIGIL 的工具流整体 UA 18.46%ASR 11.99%。与此同时它在数据流攻击上也保持了很低的 ASR说明这一套机制不是只对工具流有效而是对更广泛的间接注入风险都有抑制作用。更关键的是VIGIL 并不是靠“把系统锁死”换来的安全。论文明确指出相比近期动态防御方法VIGIL 的工具流 ASR 还能进一步降低 22%–24%。而和 Tool-Filter、CaMeL 这类静态防御框架相比VIGIL 在攻击场景下的任务完成能力提升到了两倍以上并且在 Qwen3-max 上仍保持 74.49% 的 benign utility接近未防御的 Vanilla ReAct79.59%。这说明 VIGIL 真正解决的是“既安全又能做事”的问题。3.3 消融与鲁棒性分析论文的消融结果显示去掉验证器后工具流 ASR 会直接飙升到 45.05%去掉推测式推理后工具流 UA 会从 27.53% 降到 9.07%。这说明 VIGIL 的效果不是某一个 prompt 技巧带来的而是“意图锚定 感知净化 假设推理 落地验证 轨迹记忆”这一整套机制协同作用的结果。此外论文还测试了更大规模工具库和更高攻击密度下的表现即便工具数量从 496 扩展到 3,074验证开销也会逐步收敛到稳定水平当恶意工具密度持续上升时系统的 UA 虽然会缓慢下降但 ASR 依然保持较低。4、总结VIGIL 想解决的不是如何让 Agent 更保守而是如何让 Agent 在不盲信外部工具的前提下依然保持完成复杂任务的能力。为此论文把防御从静态隔离推进到先验证、再提交并通过 SIREN 系统证明面对工具流注入安全性和可用性并不一定是零和关系。对整个 LLM Agent 方向而言这篇工作给出的不只是一个防御方法更是一种更适合开放环境的系统设计范式。编辑于腾凯校对李享沣关于我们数据派THU作为数据科学类公众号背靠清华大学大数据研究中心分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识努力建设数据人才聚集平台、打造中国大数据最强集团军。新浪微博数据派THU微信视频号数据派THU今日头条数据派THU