← 返回 2026-08-13

ToolHazard:面向LLM智能体安全评测与对齐的可扩展对抗环境合成框架 ToolHazard: Scaling Adversarial Environments for Security Evaluation and Alignment of LLM-based Agents

Yutao Mou, Pengfei Yang, Zhe Yin, Zhangchi Xue, Xiaotian Luan, Dingyao Yu, Tong Zhang, Shikun Zhang, Wei Ye 📅 2026-08-12 👍 9 2026-08-18 18:30
LLM智能体安全 安全对齐 对抗环境合成 强化学习 红队评测基准 间接提示注入

自动合成有状态对抗环境、发现可行注入点并生成可验证攻击,评测并对齐LLM智能体安全性

前置知识

间接提示注入(Indirect Prompt Injection)

攻击者不直接向模型发送指令,而是把恶意指令预先埋进智能体运行时会读取的外部内容里,例如邮件正文、网页、文档、数据库记录或工具返回值。智能体把这些内容当作观测拼入上下文,由于缺乏可靠的“数据与指令”边界,可能按攻击者意图调用工具、篡改数据或泄露信息。本文聚焦环境侧注入:攻击者可以修改环境状态,但不能修改用户查询、系统提示或工具实现。

本文的威胁模型、攻击点定义(可写且会被智能体读到的属性)与全部实验都建立在间接注入之上,不理解它就无法理解攻击点发现机制和 ASR 指标的含义。

有状态可执行环境

指可程序化操作、内部维护状态的工具交互沙盒,论文形式化为 $e = \langle E, R, T \rangle$:$E$ 是结构化实体与状态变量,$T$ 是可用工具 API,$R$ 是状态转移规则与操作约束。每次工具调用按 $R$ 读取或更新状态并返回观测,任务成败可由最终环境状态程序化判定,典型例子包括医院病历系统、电商库存、订票系统等。

ToolHazard 的核心贡献就是自动合成这类环境;攻击靠“写”状态生效,评测靠“读”最终状态完成,整个框架都围绕“状态”这一概念展开。

ReAct 智能体循环

主流工具调用智能体的执行范式:模型在“推理—行动—观测”循环中迭代,先产生思考与工具调用,再把环境返回结果追加进上下文,直到任务完成。长程任务的轨迹会累积大量环境内容,注入文本正是通过观测通道进入模型视野。

论文两条关键实证发现——注入时机越早 ASR 越高、注入位置越靠近观测尾部 ASR 越高——都源于该循环的上下文结构;所有评测也在统一的 ReAct 框架下进行。

GRPO 与可验证奖励

GRPO 是 DeepSeekMath 提出的强化学习算法:对同一任务采样一组轨迹,用组内相对回报作为优势估计,免去价值网络。可验证奖励指不依赖神经网络判分,而是用程序化校验函数打分,结果确定、可复现。本文用轨迹级奖励 $R(\tau) = R_{\mathrm{task}}(\tau) - R_{\mathrm{injected}}(\tau)$ 驱动 GRPO,鼓励完成任务的同时惩罚服从注入指令。

理解第 7.4 节对齐实验的关键:如何把“安全”这个模糊目标转化为可优化的标量信号,以及为什么静态轨迹 SFT 做不到这一点。

校验函数与终局验证

把任务目标分解为 $K$ 个可程序化判定的条件 $\{c_k\}$,由 LLM 为每个条件生成布尔校验函数 $f_{c_k}$,得分为 $\mathrm{Score} = \frac{1}{K}\sum_{k=1}^{K} \mathbb{1}[f_{c_k}(S_{\mathrm{final}})=1]$。验证只依赖最终环境状态 $S_{\mathrm{final}}$、与执行轨迹无关,因此允许存在多条合法解题路径。

这是 ToolHazard 评测可复现(无需 LLM judge)且能支撑 RL 训练的关键设计:BR 和 ASR 都由校验函数在最终状态上程序化计算,奖励信号确定且无歧义。

ASR 与 BR 指标

BR(良性完成率,Benign Rate)衡量智能体在环境扰动下仍能完成用户真实任务的比例,反映效用;ASR(攻击成功率,Attack Success Rate)衡量注入到环境中的恶意任务被执行的比例,反映被劫持程度。两者都基于最终状态上的校验函数通过率计算,评测时不使用 LLM judge。

这是论文所有实验表格的主指标:安全改进要看 ASR 下降、效用保持要看 BR 不降,两者必须同时达标才能说明对齐有效。

研究动机

LLM 智能体通过调用外部工具直接作用于真实系统,一旦环境内容被嵌入恶意指令,就可能被劫持执行未授权操作。但智能体安全研究长期受制于环境构建瓶颈。其一,主流基准依赖人工实现或复用环境:AgentDojo 只覆盖 4 个域、ASB 覆盖 10 个域;任务也很短,AgentHarm 平均每任务仅 3.47 步、3.53 个候选工具,ASB 仅 2.96 步、3.00 个候选工具,AgentDojo 也只有 4.19 步,与真实长程工作流相距甚远。其二,LLM 模拟工具的方案(如 ToolSafety、AgentAlign 采用 LLM-simulated 工具)虽然扩大了覆盖面,但反馈是随机的、不可复现的,既不能支撑可靠的评测,也无法提供 RL 训练所需的一致奖励信号。其三,现有自动红队方法(如 AutoHijacker 等)只在人工预定义的注入位置上优化 payload 措辞,并不会主动发现新环境中哪些状态可以注入、注入后能否沿执行轨迹传播到智能体观测。三者叠加,使智能体安全研究难以扩展到更广的应用领域。

本文的目标是本文要造一台“对抗环境生产线”:给定任意种子智能体任务数据集,自动合成可执行、有状态、可复现的工具交互环境;自动发现其中任务可达的间接注入点;为每个环境生成状态绑定的长程良性任务与配套劫持任务;并用程序化校验函数替代 LLM judge。在此基础设施之上同时支撑两种用途——安全评测(ToolHazard-Bench:28 个环境、512 个工具、87 个长程任务)与对抗对齐(ToolHazard-Align:60 个不相交训练环境、1040 条 SFT/RL 样本),使安全评测与对抗训练能够随新增种子域和算力投入持续扩展,最终在保持良性任务效用的前提下显著提升智能体对环境侧注入的鲁棒性。

与已有工作不同的是,本文的独特切入是把“对抗环境本身”当作可自动合成的第一等研究对象。此前三条路线各有短板:手工环境(AgentDojo、ASB)真实可控但人力成本高、无法规模化;LLM 模拟环境(ToolSafety 等)可扩展但随机不可验证、训练不可靠;自动红队(AutoHijacker 等)默认环境与注入点已经给定,只在 payload 词汇层面做优化。ToolHazard 把环境合成、注入点发现、可验证攻击构造、任务生成统一进一条流水线,且验证只看最终状态、与轨迹无关——这个设计让同一套数据既能当可复现的评测基准,又能当奖励可程序化计算的 RL 训练场,是以往任何一项工作都不具备的组合能力。

核心方法

直觉上,安全评测和对齐都需要源源不断的“新考场”,而不是在一套固定考场里反复出题。ToolHazard 由三个模块构成。Environment Simulator 从种子任务数据(采样自 ToolACE 与 API-Bank)出发,先推断环境类型、状态结构与操作集合,得到自然语言蓝图 $B = f_{\mathrm{ops}} \circ f_{\mathrm{state}} \circ f_{\mathrm{env}}(D)$,其中蓝图包含实体 $E$、约束规则 $R$ 与工具集 $T$;再把蓝图翻译成 OOP 风格的可执行 Python 类(实体为类属性、工具为方法、约束内建于规则);最后由 Testing Agent 与 Checking Agent 组成的双智能体流水线自动质检,按环境得分阈值过滤,初始产出 191 个有效环境。User Simulator 基于环境骨架初始化状态并生成与之绑定的长程良性任务。Attacker Agent 先离线分析工具读写依赖以发现攻击点,再在良性轨迹上过滤出读路径会被激活的注入点,最后以 plan-and-execute 方式完成注入。配套的验证模块把任务分解为可判条件并生成校验函数,只对最终环境状态打分。

核心创新是对“攻击点”的形式化与读写链分析。攻击点定义为可修改的自由文本属性 $p = \langle a_{\mathrm{inj}}, P_w, P_r \rangle$:$a_{\mathrm{inj}}$ 是能承载自然语言 payload 的状态字段,$P_w$ 是可修改它的写操作集合,$P_r$ 是能读取它的读操作集合。通过 LLM 分析工具语义与源码构建“操作—状态依赖图”,只保留同时具备写路径和读路径的属性,从机制上保证注入内容一定会沿任务执行传播到智能体观测——这解决了预定义注入点“埋了但读不到”的问题。第二个关键设计是终局验证:得分为 $\mathrm{Score} = \frac{1}{K}\sum_{k=1}^{K} \mathbb{1}[f_{c_k}(S_{\mathrm{final}})=1]$,只依赖最终状态、与轨迹无关,既支持多条合法解题路径,又让 RL 奖励 $R(\tau) = R_{\mathrm{task}}(\tau) - R_{\mathrm{injected}}(\tau)$ 可以程序化计算。威胁模型上,攻击者与目标智能体共享同一套环境接口与工具,只能毒化环境状态,不能修改用户查询、系统提示或工具实现。

方法步骤详情

全流程分七步。第一步环境蓝图规划:从 ToolACE/API-Bank 采样种子任务 $D$,依次做环境类型推断、状态与规则推断、操作推断,输出含实体 $E$、约束 $R$、工具 $T$ 的蓝图 $B$。第二步可执行程序构建:把 $B$ 翻译为 OOP 类 $P = f_{\mathrm{code}}(B)$,实体实例化为属性、工具实现为带规则约束的方法,并转成标准 API 文档供智能体调用。第三步自动质检:Testing Agent 反复调用工具,Checking Agent 验证执行正确性与规则一致性,环境得分 $\mathrm{score}_{\mathrm{env}} = \frac{1}{N}\sum_{i=1}^{N}\mathrm{Judge}(a_i)$ 低于阈值即丢弃,共得 191 个有效环境(140 个训练候选 + 51 个测试候选)。第四步用户模拟:先生成初始状态 $S_{\mathrm{init}} = f_{\mathrm{init}}(E, R, T)$,再生成状态绑定的长程任务 $q = f_{\mathrm{task}}(S_{\mathrm{init}}, E, R, T)$。第五步攻击点发现:规则类型分析加 LLM 语义过滤识别可注入自由文本的属性,读写分析建立依赖图,匹配出兼具读写路径的攻击点。第六步轨迹对齐过滤与注入执行:在良性轨迹上保留读路径被激活的攻击点且激活越早优先级越高;规划阶段选定攻击点 $p^*$、生成劫持任务并套用六种 payload 包装之一(basic combined、important-template、multi-turn、decision hijacking、reasoning-criteria、tool-selection);执行阶段先读原属性再以写操作追加 payload 完成毒化。第七步验证函数生成:LLM 把任务分解为条件 $\{c_k\} = g_{\mathrm{cond}}(q)$ 并为每个条件生成校验函数 $f_{c_k}$,BR/ASR 分别由良性任务与劫持任务的校验通过率程序化给出。

技术新颖性

与已有工作相比,新颖性有三层。第一,环境可合成:AgentDojo 手工构建 4 个域、ASB 10 个域,而 ToolHazard 以每环境约 0.59 美元、约 190 万 token 的成本把规模推到 88 个环境类(60 训练 + 28 测试),且新增种子域即可持续扩展。第二,注入点是“发现”而非“指定”:AutoHijacker 等红队方法在预定义位置优化 payload,ToolHazard 用读写依赖图证明注入可达、可观测,并根据激活时机排序——这是对注入可行性的机制性验证,而非措辞层面的攻击包装。第三,验证轨迹无关并打通训练闭环:AgentAlign、ToolSafety 只提供静态轨迹做 SFT,ToolHazard 的终局校验让 SFT(711 条干净轨迹)与 RL(329 条、GRPO)运行在同一套程序化奖励上,且训练环境与测试环境完全不相交,为跨环境泛化提供了干净的评估。

Overview of the ToolHazard framework. We scale environments via LLM-based synthesis, develop an attacker agent to proactively plan and execute prompt injections, and design a user simulator to generate benign user tasks.
Figure 1: Overview of the ToolHazard framework. We scale environments via LLM-based synthesis, develop an attacker agent to proactively plan and execute prompt injections, and design a user simulator to generate benign user tasks.
Statistics of ToolHazard-Bench
Figure 2: Statistics of ToolHazard-Bench
Illustration of six environment-side prompt injection strategies
Figure 5: Illustration of six environment-side prompt injection strategies
Word cloud of synthesized environment summaries
Figure 6: Word cloud of synthesized environment summaries
Distributional statistics of ToolHazard-Bench, including state attributes per environment, arguments per tool, candidate tools per task, and execution steps per task.
Figure 7: Distributional statistics of ToolHazard-Bench, including state attributes per environment, arguments per tool, candidate tools per task, and execution steps per task.
Distributional statistics of ToolHazard-Align, including state attributes per environment, arguments per tool, candidate tools per task, and execution steps per task.
Figure 8: Distributional statistics of ToolHazard-Align, including state attributes per environment, arguments per tool, candidate tools per task, and execution steps per task.
A synthesized tool-interactive environment example from ToolHazard-Bench
Figure 9: A synthesized tool-interactive environment example from ToolHazard-Bench

实验结果

基准层面:ToolHazard-Bench 含 28 个合成环境、512 个工具、87 个长程任务,平均执行 15.56 步、每任务 18.75 个候选工具;环境平均 18.25 个状态属性、18.28 个工具,复杂度与手工构建的 AgentDojo(17.35/18.5)相当,但任务长度约为其 3.7 倍。评测七个 ReAct 智能体显示普遍脆弱:GPT-5 在 4 种攻击策略上 ASR 超过 40%(tool selection 最高 59.14%),Gemini-3.1-Pro 有 3 种超 30%(reasoning criteria 最高 63.20%);DeepSeek-V3.2 良性完成率最高(最高 87.16%)却最易被劫持(important-template、multi-turn、decision hijacking、tool selection 的 ASR 均约 73%–75%),而 Qwen3-4B 因指令跟随能力弱反而 ASR 最低;旧的 basic combined 攻击对 GPT-5/GPT-4.1 已近乎失效(ASR 仅 1.18%),但新的 decision hijacking、tool selection、reasoning criteria 策略普遍达 30%–76%。注入时机上(固定 tool selection 策略),GPT-5 的 ASR 从最早注入(Top-1)的 67.4% 降到随机注入的 45.7%,Gemini-3.1-Pro 从 67.2% 降到 52.1%;放置位置上,注入越靠近观测末尾 ASR 越高。输出格式影响显著:GPT-4.1 在 basic combined 下自由文本工具输出 ASR 约 75.6%,而 YAML/JSON 仅 1.2%/5.9%。攻击还损害任务能力:GPT-4.1 无攻击 BR 为 78.6,multi-turn 攻击下降到 41.3;Gemini-3.1-Pro 则相对稳定(82.8→80.0–82.7)。对齐方面,Qwen3-8B + ToolHazard-Align 在本基准上 BR 67.64→75.94、ASR 36.10→18.06;在异构的 AgentDojo 上 BR 43.05→52.08、ASR 29.16→18.34;Qwen3-4B 在 AgentDojo 上 ASR 14.23→7.17。跨策略泛化实验中,仅用 3 种攻击训练即可把 Qwen3-8B 在 3 种未见策略上的 ASR 从 37.19% 降到 26.92%,接近全 6 种训练的 25.45%。人工验证:校验函数与人类判断一致率超 95%,标注者间一致超 99%,超 99% 的候选任务被判定可解,28 个测试环境全部通过正确性检查。

Comparison of agent security benchmarks and alignment datasets
Table 1: Comparison of agent security benchmarks and alignment datasets
Security and utility evaluation under environment-side prompt injection attacks on ToolHazard-Bench
Table 2: Security and utility evaluation under environment-side prompt injection attacks on ToolHazard-Bench
Benign task completion rate (BR) under different environment-side prompt injection attacks
Table 3: Benign task completion rate (BR) under different environment-side prompt injection attacks
Performance comparison of agentic alignment methods on ToolHazard-Bench and AgentDojo
Table 4: Performance comparison of agentic alignment methods on ToolHazard-Bench and AgentDojo
Average token usage and cost of ToolHazard
Table 5: Average token usage and cost of ToolHazard
Environments in the ToolHazard-Bench and ToolHazard-Align datasets
Table 6: Environments in the ToolHazard-Bench and ToolHazard-Align datasets
Cross-strategy generalization on three unseen attack strategies
Table 7: Cross-strategy generalization on three unseen attack strategies
Impact of injection timing and placement in adversarial environments
Figure 3: Impact of injection timing and placement in adversarial environments
Impact of tool call output formats on attack success rates. The figure compares ASR across free-form string outputs and structured outputs, including JSON and YAML.
Figure 4: Impact of tool call output formats on attack success rates. The figure compares ASR across free-form string outputs and structured outputs, including JSON and YAML.
查看结构化数据
任务指标本文基线提升
基准复杂度对比(长程任务) 平均步数/任务、候选工具数/任务 ToolHazard-Bench:15.56 步、18.75 个候选工具 AgentDojo:4.19 步、18.50 个候选工具;ASB:2.96 步、3.00 个候选工具 任务长度约为 AgentDojo 的 3.7 倍、ASB 的 5.3 倍,且环境由 LLM 自动合成
环境侧注入评测(GPT-5) ASR(↓) tool selection 59.14%,4 种策略 ASR>40% basic combined(ASB/AgentDojo 时代策略)仅 1.18% 新策略对 SOTA 模型 ASR 提升约 58 个百分点
环境侧注入评测(GPT-4.1) ASR(↓) tool selection 75.57%、important template 70.63%、multi-turn 58.00% basic combined 1.18% 最高提升约 74.4 个百分点
对齐 Qwen3-8B(ToolHazard-Bench) ASR(↓)/ BR(↑) ASR 18.06 / BR 75.94(ToolHazard-Align,SFT+RL) Qwen3-8B 原模型 ASR 36.10 / BR 67.64 ASR 下降 18.04 个百分点,BR 上升 8.30 个百分点
对齐 Qwen3-8B(AgentDojo 跨基准泛化) ASR(↓)/ BR(↑) ASR 18.34 / BR 52.08 原模型 ASR 29.16 / BR 43.05 ASR 下降 10.82 个百分点,BR 上升 9.03 个百分点
对齐 Qwen3-4B(AgentDojo 跨基准泛化) ASR(↓) 7.17 原模型 14.23 下降 7.06 个百分点
未见攻击策略泛化(Qwen3-8B,3 种未见策略) ASR(↓)/ BR(↑) 3 攻击训练:ASR 26.92 / BR 73.31 原模型 ASR 37.19 / BR 65.57 ASR 下降 10.27 个百分点,接近 6 攻击全量训练的 25.45
合成成本 每环境/每场景/每攻击实例费用 约 $0.59 / $0.03 / $0.05(GPT-4.1 系) 手工环境(如 AgentDojo)需领域专家逐域实现 以约 190 万 token/环境的成本实现环境自动化扩展

局限与改进

作者承认两点局限:一是合成环境与真实企业系统存在差距,虽然复杂度与 AgentDojo 相当(平均 18.25 个状态属性、18.28 个工具 vs 17.35/18.5),但不能反映私有实现、部署特定交互和生产环境的尾部失败模式,因此只应视为可复现的安全压力测试框架,而非生产风险的直接估计;二是目前只覆盖 6 种预定义 payload 包装策略,不自动发现新的攻击策略。我的补充观察:环境与任务均由 GPT-4.1 系模型生成,可能继承种子数据(ToolACE、API-Bank)与生成模型的域偏置;对齐实验只在 Qwen3-4B/8B 上进行(作者称算力所限),前沿闭源模型的安全边界能否被同类数据修复仍是未知数;6 种攻击模板均为英文且形式固定,对“新策略脆弱性”的估计可能偏乐观或偏悲观;RL 仅 329 个样本、至多 50 步,训练规模较小;另外 ASR 依赖劫持任务的校验函数判定,若劫持目标设计得过于容易达成,可能放大脆弱性读数。

独立分析的弱点

独立分析以下几点弱点。其一,攻击点发现依赖 LLM 阅读工具源码构建读写依赖图,在拥有数百个工具、代码相互耦合的真实企业系统中,依赖图构建的召回率和可扩展性存疑,漏检一条读路径就会错误排除真实可行的注入点,改进方向是引入程序分析(静态切片、污点追踪)替代或辅助 LLM 判断。其二,校验函数由 GPT-4.1-mini 生成,虽然与人工判断一致率超 95%,但剩余约 5% 的错误会直接污染 BR/ASR 与 RL 奖励,尤其涉及时序、聚合、权限的复杂条件;可加入多模型交叉验证或执行时反证测试。其三,奖励是二值的 $R(\tau) = R_{\mathrm{task}} - R_{\mathrm{injected}}$,“部分执行注入”或“完成任务但泄露信息”等中间状态没有梯度信号,可引入分级奖励或信息泄露检测器。其四,劫持任务与良性任务出自同一 LLM 家族,攻击意图的表达风格单一,模型可能学到对特定措辞的鲁棒性而非对注入本质的鲁棒性,建议引入异构多攻击器集成。其五,训练数据仅 1040 条(RL 329 条),绝对规模小,向更大模型迁移时可能不足。

未来方向

作者提出的方向:把环境综合对接真实部署系统(需解决隐私与保密约束);用自动攻击探索(如 DeepResearch 式搜索)发现新的注入策略与包装方式,而非依赖预定义的 6 种。基于本文成果可自然延伸:其一,把注入时机/位置与输出格式的发现转化为防御——构建位置感知的注入检测器、对工具输出强制结构化并严格解析校验,再回到 ToolHazard 上量化防御收益;其二,用该框架训练独立的步骤级 guardrail 模型而非只对齐主智能体;其三,扩展到多语言注入与多模态环境(网页截图、文档版面等);其四,把 leave-strategy-out 泛化实验扩展到真实野外攻击样本,检验合成数据对真实攻击分布的覆盖度;其五,在更大规模模型与混合奖励(安全+隐私+效用多目标)下重新校准 RL 配方,并研究安全对齐与通用能力的权衡曲线。

复现评估

开源与复现条件较好。代码已在 GitHub 公开(MurrayTom/ToolHazard),并有匿名仓库;附录 A 声明提供复现全部实验的完整资料,附录 J/K/L 给出环境合成、用户模拟、攻击执行各阶段的全部 prompt 模板。成本透明:附录 C 报告每个环境合成约 0.59 美元(约 190 万 token,主要开销在质检迭代)、每个用户场景约 0.03 美元、每个攻击实例约 0.05 美元。训练细节完整:SFT 用 LlamaFactory,思考模式下按交互轮拆分子样本并 mask 历史,3 个 epoch、学习率 $1\times10^{-6}$、最大序列 32K、有效 batch 256;RL 用 ROLL 框架跑 GRPO,KL 系数 0.1、学习率 $1\times10^{-6}$、每步 64 任务×8 个 rollout、至多 50 步,硬件为 8 张 NVIDIA A800 80GB。评测需调用 GPT-5/GPT-4.1/Gemini 等商业 API。整体复现难度中等:环境合成部分门槛低(只需 API 费用),对齐训练需要 8 卡 A800 级算力;另据伦理声明,数据集含有害内容、访问受授权限制,可能略微影响第三方完全复现。