HyperAIHyperAI

Command Palette

Search for a command to run...

5 小时前
LLM
Agent

ToolHazard:面向 LLM 智能体安全评估与对齐的可扩展对抗环境构建

Yutao Mou Pengfei Yang Zhe Yin Zhangchi Xue Xiaotian Luan Dingyao Yu Tong Zhang Shikun Zhang Wei Ye

摘要

集成外部工具的大语言模型(LLM)智能体容易受到嵌入在环境状态中的间接提示注入攻击。然而,现有研究大多依赖人工实现或复用的环境、基于 LLM 的随机工具模拟以及预定义的注入位置,限制了跨更广泛领域开展可扩展安全研究的能力。为弥补这一不足,我们提出 ToolHazard,一个可扩展的对抗环境合成框架,能够减少人工工程投入,并支持通过增加种子领域和算力进行扩展。通过环境模拟器、攻击者智能体和用户模拟器,ToolHazard 能够合成可执行的有状态环境,发现可行的注入点并生成环境特定的攻击载荷,同时构建基于状态的长周期任务。基于 ToolHazard,我们构建了 ToolHazard-Bench,用于在复杂工作流和多样化的环境攻击下对智能体进行压力测试。实验揭示了智能体存在严重漏洞,并表明注入时机和位置会影响攻击效果。此外,由 ToolHazard 生成的对齐数据在保持实用性的同时,提升了智能体在 ToolHazard-Bench 和 AgentDojo 上的安全性。

一句话总结

北京大学等机构提出 ToolHazard,一个可扩展的对抗式环境合成框架,它结合环境模拟器、攻击者 Agent 和用户模拟器,生成可执行的有状态环境、可行的注入点、针对具体环境的攻击载荷以及基于状态的长程任务,用于对基于 LLM 的 agent 进行压力测试;ToolHazard-Bench 实验揭示了 agent 存在显著脆弱性,并表明注入时机与位置会影响攻击效果,而 ToolHazard 生成的对齐数据在 ToolHazard-Bench 和 AgentDojo 上都提升了安全性,同时未降低实用性。

核心贡献

  • ToolHazard 是一个可扩展的对抗式环境合成框架,可创建可执行的有状态环境、发现可行的注入点,并生成针对具体环境的攻击载荷,用于 agent 安全评估和对抗式对齐。
  • ToolHazard-Bench 包含 28 个有状态环境中的 87 个长程任务和 512 个工具,其工作流复杂度高于此前的 agent 安全基准。
  • 实验结果表明,LLM agents 仍然高度容易受到环境提示注入攻击,当注入指令出现得更早且出现在观测结果末尾附近时攻击更有效,并且 ToolHazard 生成的对齐数据在 ToolHazard-Bench 和 AgentDojo 上提升了安全性,同时保持了良性任务实用性。

引言

大型语言模型 agent 越来越多地通过工具作用于现实世界系统,这使它们强大,但也使其暴露于间接提示注入攻击之下,这类攻击可能劫持原本良性的工作流。此前的 agent 安全基准和对齐数据集严重依赖人工构建或复用的环境以及预定义的注入位置,因此扩展到新应用领域成本高昂且难以复现。作者提出 ToolHazard,一个可扩展的对抗式环境合成框架,可自动创建可执行、有状态的工具交互环境,发现可行的注入点,生成针对具体环境的攻击载荷,并生成基于状态的长程任务。作者使用该框架构建了 ToolHazard-Bench,这是一个包含 28 个环境、512 个工具和 87 个任务的基准,并表明 ToolHazard 生成的数据还可以通过监督微调和强化学习提升 agent 安全性,同时保持良性实用性。

数据集

作者通过 ToolHazard 构建数据集,该模拟器生成环境、状态、任务和对抗性注入载荷,而不是收集真实用户流量。

  • 初始环境生成与筛选:ToolHazard 在经过自动化质量检查后生成 191 个有效环境,分为 140 个训练候选环境和 51 个测试候选环境。仅保留任务执行轨迹上可达且具有有效注入点的环境,最终留下 60 个训练环境和 28 个互不重叠的测试环境。
  • 质量检查:测试 Agent 通过调用工具与环境交互,检查 Agent 验证执行和约束一致性。低于质量分数阈值的环境被丢弃。
  • 用户模拟:用户模拟器根据环境骨架、实体集、约束和工具集初始化环境状态,然后从初始化状态生成长程任务。

ToolHazard-Bench:

  • 来源:28 个留出测试环境。
  • 规模:512 个工具和 87 个基于状态的任务,平均执行步数为 15.56。
  • 攻击:每个任务使用六种预定义的载荷包装方式:basic combined、important-template、multi-turn、decision hijacking、reasoning-criteria 和 tool-selection。
  • 评估数据:检查函数在最终环境快照上执行。GPT-4.1-mini 生成这些函数,但 BR 和 ASR 以程序化方式计算。

ToolHazard-Align:

  • 来源:与基准互不重叠的 60 个训练环境。
  • 构建:每个环境使用五种初始状态和良性任务,生成 300 个环境-任务实例。施加六种攻击后得到 1,800 个候选样本,并筛选为 1,040 个有效样本。
  • 样本结构:每个样本包含一个良性任务、干净环境和对抗性环境状态、一个注入任务以及检查函数。
  • 训练划分:329 个样本用于强化学习,711 个用于监督微调。SFT 使用干净环境中的成功轨迹;RL 使用对抗性环境轨迹,奖励基于任务成功减去注入任务服从度。

方法

作者提出了 ToolHazard,这是一个可扩展的对抗式环境合成框架,旨在自动构建可执行且有状态的工具交互环境,生成基于状态的用户任务,并执行环境侧提示注入攻击。

该框架由几个核心模块组成。首先,环境模拟器通过使用 LLM 驱动的生成器来解决人工设计环境的局限。该过程从环境蓝图规划开始,其中从种子 agent 任务数据集 D\mathcal{D}D 出发,通过环境类型推断、状态与规则推断以及操作推断,构建潜在的可执行环境蓝图 B=E,R,T\mathcal{B} = \langle \mathcal{E}, \mathcal{R}, \mathcal{T} \rangleB=E,R,T。接下来,在可执行程序构建中,该蓝图使用面向对象编程范式被转换为可执行环境程序 P=fcode(B)\mathcal{P} = f_{\mathrm{code}}(\mathcal{B})P=fcode(B),其中实体成为类属性,工具成为可调用方法。最后,自动化质量检查采用由测试 Agent 和检查 Agent 组成的双 agent 验证流水线来验证执行正确性。环境质量分数按如下公式计算:

scoreenv=1Ni=1NJudge(ai)\mathrm{score}_{\mathrm{env}} = \frac{1}{N} \sum_{i=1}^{N} \mathrm{Judge}(a_i)scoreenv=N1i=1NJudge(ai)

其中 Judge(ai){0,1}\mathrm{Judge}(a_i) \in \{0, 1\}Judge(ai){0,1} 表示第 iii 次交互是否满足所有约束。低于预定义阈值的环境会被丢弃。

在这些合成环境的基础上,用户模拟器生成多样化的用户请求。该过程包括环境状态初始化,用于创建初始状态 Sinit=finit(E,R,T)S_{\mathrm{init}} = f_{\mathrm{init}}(\mathcal{E}, \mathcal{R}, \mathcal{T})Sinit=finit(E,R,T),随后是用户任务生成,用于合成长程任务 q=ftask(Sinit,E,R,T)q = f_{\mathrm{task}}(S_{\mathrm{init}}, \mathcal{E}, \mathcal{R}, \mathcal{T})q=ftask(Sinit,E,R,T)

为了模拟环境侧攻击,攻击者 Agent 通过污染环境状态来操纵目标 LLM agent。这一过程通过环境攻击点发现完成,该三阶段过程识别可注入属性,分析操作的读写依赖,并将有效攻击点与完整传播链匹配。随后,对抗性注入流水线基于良性执行轨迹筛选攻击点,并采用计划与执行框架。在计划阶段,LLM 选择有效攻击点 pp^*p,并用劫持任务 qhijackq_{hijack}qhijack 构造攻击计划。在执行阶段,攻击 Agent 通过写操作追加攻击载荷来污染环境状态。

在评估方面,验证函数生成模块将任务 qqq 分解为可验证条件 {ck}k=1K=gcond(q)\{c_k\}_{k=1}^K = g_{\mathrm{cond}}(q){ck}k=1K=gcond(q)。针对每个条件,生成验证函数 fck=gverifier(ck,q)f_{c_k} = g_{\text{verifier}}(c_k, q)fck=gverifier(ck,q),最终分数按如下公式计算:

Score=1Kk=1K1[fck(Sfinal)=1]\mathrm{Score} = \frac{1}{K} \sum_{k=1}^{K} \mathbb{1} \left[ f_{c_k}(S_{\text{final}}) = 1 \right]Score=K1k=1K1[fck(Sfinal)=1]

该指标仅取决于终止状态 SfinalS_{\text{final}}Sfinal,因此与执行轨迹无关,并支持多条有效解路径。

最后,作者将合成数据用于 ToolHazard-Align,以提高 agent 鲁棒性。作者定义了用于强化学习的轨迹级奖励:

R(τ)=Rtask(τ)Rinjected(τ)R(\tau) = R_{\mathrm{task}}(\tau) - R_{\mathrm{injected}}(\tau)R(τ)=Rtask(τ)Rinjected(τ)

其中 Rtask(τ)R_{\mathrm{task}}(\tau)Rtask(τ) 衡量任务成功完成情况,Rinjected(τ)R_{\mathrm{injected}}(\tau)Rinjected(τ) 衡量对抗性指令造成的劫持。监督微调被应用于干净环境中的成功轨迹,以增强工具使用能力,而 Group Relative Policy Optimization 被应用于对抗性环境中的轨迹,使用上述奖励来惩罚对注入指令的服从。

实验

实验评估了四个闭源和三个开源基于 ReAct 的 LLM agents,针对六种环境侧提示注入策略,使用良性任务完成率和攻击成功率作为指标。几乎所有模型都表现出高度脆弱性,尤其对 decision hijacking 和 tool selection 等较新策略更为脆弱,而较强的模型可能更容易受到攻击,能力提升只能提供有限的防御。分析进一步表明,当注入较早、位于较后的响应字段中,并通过自由形式工具输出传递时,攻击更有效,并且对抗性环境始终会降低良性任务执行表现。在 Qwen3-4B 和 Qwen3-8B 上使用 ToolHazard-Align 进行对齐可同时提升安全性和实用性,并具有跨环境泛化能力,表明该基准有潜力用于训练更鲁棒的 agentic 模型。

ToolHazard-Bench 提供了一个完全由 LLM 合成的对抗性评估框架,具有 28 个有状态领域、平均超过 15 步的长程任务,以及每个任务最多 18.75 个候选工具。与此前基准不同,它自动发现注入点并生成攻击载荷,无需人工构建环境和预定义攻击面。该设计提升了可扩展性,并支持可复现、基于状态的对抗性测试。ToolHazard-Bench 是唯一使用 LLM 合成环境和 LLM 发现攻击点的基准,而其他基准都依赖人工或复用构建,并使用预定义注入位置。其任务长度(15.56 步)显著长于大多数先前基准,并涉及更多候选工具(18.75 个),反映了复杂、基于状态的长程场景。

在所有评估模型中,良性任务成功率通常较高,但环境侧提示注入仍然导致较高的攻击成功率。与早期版本相比,能力更强的模型版本通常会提高良性响应率,并在一定程度上降低某些攻击成功率,但这些提升太小,无法提供可靠防御。新引入的攻击策略,尤其是 decision hijacking、tool selection 和 reasoning criteria,始终表现有效。GPT-5 在四种策略上的攻击成功率超过 40%,Gemini-3.1-Pro 在三种策略上超过 30%。DeepSeek-V3.2 取得了最高的良性任务成功率,但也最容易受到攻击,表明更强的任务遵循能力可能与更高的易受攻击性同时出现。此前研究的 basic combined 攻击与 decision hijacking、tool selection 和 reasoning criteria 等较新策略相比,攻击成功率较低。

相对于干净条件,环境侧提示注入攻击降低了两个被评估模型的良性任务完成率。GPT-4.1 的下降更为明显,尤其是在 decision hijacking 和 multi-turn 攻击下,而 Gemini-3.1-Pro 的下降较小。这表明提示注入除影响安全行为外,还会损害一般任务执行能力。对两个模型而言,每种环境侧攻击类型都降低了与无攻击设置相比的良性任务完成率。GPT-4.1 在 multi-turn 和 decision hijacking 攻击下下降幅度最大。Gemini-3.1-Pro 在各攻击类型下保持相对稳定,良性完成率仅有轻微下降。

在 ToolHazard-Bench 和 AgentDojo 上,Qwen3-4B 上的完整 ToolHazard-Align 取得了最高的良性成功率和最低的攻击成功率,其中在 AgentDojo 上的安全收益尤其显著。对于 Qwen3-8B,仅 SFT 就相对于基础模型同时提升了实用性和安全性。总体而言,对齐在两个基准上都改善了任务完成度和对环境侧提示注入的抵抗力。对于 Qwen3-4B,与基础模型和 SFT 变体相比,ToolHazard-Align 取得了最佳良性成功率并降低了攻击成功率。对于 Qwen3-8B,SFT 在两个基准上提升了良性成功率并降低了攻击成功率;而对于 Qwen3-4B,仅 SFT 提升了实用性,但在两个基准上略微提高了攻击成功率。

ToolHazard-Bench 使用 LLM 合成的有状态环境和 LLM 发现的注入点来评估环境侧提示注入下的长程工具使用 agent。在各模型中,良性任务成功率通常较高,但攻击成功率仍然很高,decision hijacking、tool selection 和 reasoning criteria 等较新策略尤其有效,同时还会降低良性任务完成率;能力更强的模型仍然不能提供可靠防御。对齐方法,尤其是完整的 ToolHazard-Align,在 ToolHazard-Bench 和 AgentDojo 上提升了实用性和安全性,而仅 SFT 可以提升实用性,但可能略微增加攻击易感性。


用 AI 构建 AI

从创意到上线——通过免费 AI 协同编码、开箱即用的环境和最优惠的 GPU 价格,加速您的 AI 开发。

AI 协同编码
开箱即用的 GPU
最优定价

HyperAI Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供