ToolHazard:全自动合成有状态沙箱,揭开大模型智能体被劫持真相

ToolHazard: Scaling Adversarial Environments for Security Evaluation and Alignment of LLM-based Agents

论文原文 ↗ 论文发布 解读发布 解读:AI前沿分享

ToolHazard:全自动合成有状态沙箱,揭开大模型智能体被劫持真相 论文图示

当大语言模型从单纯输出文本的聊天助手,跨越到能够自主调用外部工具、读写数据库、收发邮件和执行系统指令的智能体(LLM-based Agent)时,整个系统的安全边界发生了颠覆性的位移。在传统的对话场景中,提示词注入往往只导致模型吐露不合规言论;然而,在智能体调用各类 API 与真实世界交涉的场景下,潜伏在环境中的恶意指令可以直接劫持智能体的决策中枢,驱使它执行越权转账、删除核心数据或泄露私密信息的实质性危险操作。

ArXiv URL:https://arxiv.org/abs/2608.11878v1

然而,现有的智能体安全研究正遭遇严重的基建瓶颈。目前绝大多数评测基准依然依赖人工编写的有限测试沙箱,不仅跨领域扩展的工程成本高昂,而且攻击注入点往往是人工预先钉死的;另一些工作虽尝试用大语言模型去随机模拟工具调用,却因为缺乏底层确定性的状态机,导致环境反馈随机波动,既无法保证评测结果的可复现性,也无法为强化学习提供严密的奖励信号。针对这一困境,来自北京邮电大学、哈尔滨工业大学、北京大学与腾讯的研究团队提出了 ToolHazard——一个能够端到端、规模化合成可执行有状态对抗环境的自动化框架。该框架无需大量人工编写代码,通过计算资源与少量种子领域的驱动,不仅构建出长程、高复杂度的安全基准 ToolHazard-Bench,还生成了可用于对抗训练的数据集 ToolHazard-Align,系统性地揭示了大模型智能体在复杂环境中被劫持的关键规律。

ToolHazard 框架整体概览

从手工沙箱到自主生成:有状态环境的合成闭环

要真正测试智能体在面临环境侧间接提示词注入(Indirect Prompt Injection)时的抵抗力,评测环境必须满足两个硬性指标:其一是有状态(Stateful),即智能体前一步的写操作必须真实改变系统环境,并忠实反映在后续的读操作中;其二是确定性(Deterministic),即系统必须具备明确的状态转移规则,从而允许代码对最终状态进行无歧义的逻辑验证。

ToolHazard 放弃了纯人工编码和纯黑盒大模型模拟的两极路线,构建了一套分工明确的自动化环境模拟器(Environment Simulator)。该模块仅需接收原始的任务种子数据,便会通过多阶段推理提炼出环境蓝图(Blueprint)。模拟器首先从原始任务中推断出目标业务领域及其背后的隐藏状态,提炼出实体架构(Schema)与操作约束规范;紧接着推断出所有必要的信息查询与状态修改操作。这一蓝图随后被输入代码生成阶段,由代码模型采用面向对象编程(OOP)范式直接实例化为 Python 类:实体被映射为类的属性,各类工具 API 则被实现为具体的方法,并严格嵌入先前的约束逻辑。

为了防止生成的代码出现死锁、逻辑断裂或接口不兼容问题,框架引入了由测试智能体(Testing Agent)与检查智能体(Checking Agent)组成的双智能体质检流水线。测试智能体主动在代码环境中调用各种工具进行遍历交互,检查智能体则依据约束规则监控每次调用的状态流转是否符合预期。整个环境会得到一个基于交互合规率的量化评分,只有完全达标的可执行环境才会被归入环境资产池。这种全自动生成的机制彻底打破了领域受限的桎梏,让构建数十个甚至上百个包含数十种 API 的复杂沙箱变得高度可行且低成本。

自动化攻击链:如何自主发现环境注入点?

在以往的基准测试中,攻击指令通常由研究人员生硬地硬编码在特定的工具返回值里,比如直接在特定邮件的正文或某条固定数据库记录中塞入恶意提示词。这种做法无法体现真实网络空间中的攻击动态,更无法测试智能体在复杂调用链路中的防御盲区。

ToolHazard 中的攻击者智能体(Attacker Agent)采用了一种全新的“攻击点挖掘”机制。在环境模型中,一个真正可行的攻击点必须同时满足读写双重可达性。研究团队将攻击点抽象为一个三元组 $p=\langle a_{inj},\mathcal{P}{w},\mathcal{P}{r}\rangle$,其中 $a_{inj}$ 代表环境中包含自由文本的可修改状态,$\mathcal{P}{w}$ 表示能够篡改该状态的写操作路径,而 $\mathcal{P}{r}$ 则是智能体在执行常规任务时可能触发的读操作路径。攻击者智能体会先对整个环境进行静态依赖分析与动态轨迹跟踪,只有当某个属性在攻击者拥有写入权限、且必然或极大概率会暴露给目标智能体的观察视野(Observation)时,该属性才会被判定为一个合格的攻击点。

找到攻击点后,攻击者智能体按照“规划-执行”(Plan-and-Execute)框架行动。攻击模型首先选择最隐蔽、最致命的切入时机,设计出对应的劫持任务,并将其包装进包括重要模板伪装、多轮诱导、决策劫持、推理准则篡改等六种预设的高级攻击策略之中。随后,攻击者调用真实的写工具,将恶意载荷写入目标环境的持久化状态中。这意味着攻击不是凭空注入上下文,而是真实潜伏在沙箱的数据流之中,静待目标智能体在执行日常良性任务时自行触发。

与此同时,配套的用户模拟器(User Simulator)会基于环境的实体与规则,自主生成高度接地(State-grounded)的长程良性任务,从而让良性业务逻辑与底层恶意陷阱交织在一起。为了衡量任务是否完成以及智能体是否中招,框架还会针对每个任务自动生成状态级验证函数集合,在多轮交互结束后直接扫描环境快照(Snapshot)。整个评测完全依赖代码逻辑判决,彻底排除了用大模型充当裁判(LLM-as-a-Judge)时可能引入的幻觉与主观偏差。

ToolHazard-Bench 数据集统计与特征

ToolHazard-Bench:长程复杂工作流的极限施压

基于上述架构,研究团队从 ToolACE 与 API-Bank 等数据集中提取种子,构建了评测基准 ToolHazard-Bench。如图所示,该基准包含了 28 个互相独立且具有状态记忆的测试环境,涵盖金融、企业协作、数据库管理、智能家居等广泛领域,共集成 512 个可调用的工具 API。整个基准包含 87 个长程任务,平均每个任务的执行步长达到了惊人的 15.56 步,候选工具数量平均接近 19 个。

横向对比以往的经典基准,AgentDojo 的平均任务步长仅为 4.19 步,ASB 则在 3 步左右,而许多早期的评测甚至没有底层环境状态,只是单步的文本交互。ToolHazard-Bench 的工作流长度与复杂程度呈现出跨越式的提升。在面对动辄十几步、依赖多工具链式传递的复杂情境时,智能体是否还能保持对核心目标的专注?实验结果给出了相当严峻的回答。

评测覆盖了当前顶尖的闭源模型与主流开源模型,包括最新一代的前沿系统、GPT-4.1、Gemini 系列、DeepSeek-V3.2 以及 Qwen3 系列模型,并统一接入 ReAct 框架。评测的核心指标为良性任务完成率(BR)与攻击成功率(ASR)。数据显示,几乎所有受测模型在面对环境侧注入时都表现出了极其脆弱的防御水平。

更值得警惕的结论在于,底层模型通用推理能力的演进并没有自然转化为可靠的环境安全防线。尽管诸如 GPT-5 或 Gemini-3.1-Pro 这样更强大的模型相较于前代产品在良性任务完成率上有一定上升,且攻击成功率略有下降,但这种改善在高度工程化的间接注入面前依旧显得杯水车薪。环境侧注入的指令利用了智能体将“外部环境观察结果”与“系统/用户指令”混合在同一上下文窗口的架构原罪,仅凭更强的模型推理能力,根本无法自发分辨数据与指令的界限。

攻击在何时、何地最致命?

为了穿透表面的攻击成功率数字,研究进一步对注入指令在执行时空中的位置偏置进行了细粒度消融,得到了数个对实际系统设计极具参考价值的安全发现:

对抗对齐:在不折损效能的前提下筑牢边界

既然评测揭示了现有模型在环境侧注入面前的全面溃败,那么这些合成出来的对抗环境能否反哺模型的安全对齐?研究团队基于另外 60 个完全隔离的训练环境,构建了包含 1040 个对抗样本的 ToolHazard-Align 数据集,并设计了结合监督微调(SFT)与基于强化学习(RL)的两阶段对齐方案。

在强化学习阶段,团队采用了群体相对策略优化(GRPO)算法。由于 ToolHazard 具备全自动的状态机与代码验证器,研究人员能够直接定义出严密且客观的轨迹级奖励函数:

\[R(\tau)=R_{\text{task}}(\tau)-R_{\text{injected}}(\tau)\]

其中 $R_{\text{task}}(\tau)$ 严格衡量用户原本委托的良性任务是否在最终环境状态中得以达成,而 $R_{\text{injected}}(\tau)$ 则严密监控环境状态中是否出现了被劫持任务的执行指纹。如果智能体受到注入干扰而执行了黑客的意图,就会受到严厉的负向惩罚;只有排除外部干扰、坚定执行良性意图的轨迹才能获得最高奖励。

经过 ToolHazard-Align 训练后的模型展现出了令人瞩目的泛化表现。微调后的模型不仅在 ToolHazard-Bench 本身复杂的长步长测试中大幅压制了攻击成功率,更关键的是,在未见过的第三方基准 AgentDojo 上,模型同样表现出了极强的跨环境防御迁移能力。与此同时,模型在未受攻击的纯净环境中的常规任务完成率没有发生退化。这一结果有力地证明,过去依靠人工搜集安全数据的模式并不是智能体对齐的唯一解;利用大模型自主合成的、具备真实状态转移和反馈的高保真沙箱,完全可以通过强化学习探索出兼顾任务效用与防御鲁棒性的最优策略边界。

迈向全自主进化的智能体安全基础设施

长期以来,大模型智能体的安全研究陷入了一种“手工制造脆弱沙箱,再在沙箱内修补漏洞”的低效循环。面对现实世界成千上万各具特色的软件 API 与企业内网系统,人工构建对抗测试用例的拓展速度,远远落后于智能体被接入各类复杂场景的落地节奏。

ToolHazard 的核心价值不仅在于提出了一个更具挑战性的基准测试集,更在于它确立了一种“用计算换安全性”的工程范式。通过将环境建模、攻击点自动挖掘、长程任务生成与代码级确定性裁决串联为一个闭环,框架使得安全研究人员能够在零人工干预的情况下,按需催生出成百上千个高度贴近真实业务逻辑的对抗靶场。

对于正在将智能体推向企业落地的一线开发者而言,这项研究同样敲响了工程实现的警钟:切勿单纯依赖大模型自身的通用指令遵循能力来阻断注入攻击;在系统架构设计层面,应尽可能对外部工具调用返回的数据实施严格的结构化封装(如 JSON 校验),在长程任务的早期步骤强化状态校验,并对处于观察结果尾部的非可信文本保持高度警惕。未来的自主智能体若想真正承载高价值、高风险的现实生产力,必须经历此类自动化、规模化对抗靶场的千锤百炼。