ToolSafe:通过主动式步骤级防护栏与反馈增强LLM智能体的工具调用安全性 ToolSafe: Enhancing Tool Invocation Safety of LLM-based agents via Proactive Step-level Guardrail and Feedback
提出步骤级工具调用安全检测基准、防护栏模型和反馈驱动推理框架,将有害调用降低65%
前置知识
LLM-based Agent(基于大语言模型的智能体)
基于大语言模型构建的自主智能体,能够通过迭代的「推理-行动」循环与外部环境交互。典型的代表是ReAct范式(Reasoning + Acting),智能体在每一步先产生思考(Thought),然后决定调用哪个工具(Action)并传入参数(Action Input),接收环境返回的观察结果(Observation)后继续下一步推理。这类智能体可以直接操作真实系统(如发邮件、转账、操控数据库),因此其行为安全性至关重要。
本文研究的核心对象就是这类智能体的工具调用安全性问题,理解ReAct范式的运作方式是理解全文方法的基础。
Prompt Injection(提示注入攻击)
攻击者在智能体的外部环境中嵌入恶意指令,诱导智能体偏离用户的原始任务去执行有害操作。例如在银行交易记录中嵌入指令要求智能体向攻击者账户转账,或在日历事件描述中嵌入要求发送邮件的指令。这种攻击分为直接注入(将恶意指令直接拼接到用户输入中)和间接注入(将恶意指令隐藏在工具返回的观察结果中)两种形式。
本文识别的四类不安全工具调用模式中,两类与prompt injection直接相关,TS-Guard和TS-Flow的核心设计目标之一就是防御这类攻击。
Guardrail Model(护栏模型)
部署在LLM或Agent系统中的安全守护模型,用于监控输入输出内容并在检测到潜在风险时进行干预。以LlamaGuard为代表,通过微调通用LLM使其在自定义安全分类体系下对提示和响应进行分类。现有的护栏模型主要面向静态内容审核(如检测有害文本输出),缺乏对动态工具调用行为的推理能力。
本文提出的TS-Guard是对现有护栏模型在Agent工具调用场景下的重要扩展,从静态内容审核升级为动态步骤级安全检测。
GRPO(Group Relative Policy Optimization,群体相对策略优化)
DeepSeek提出的一种强化学习算法,是PPO的简化变体。其核心思想是:对同一个提示生成一组(group)候选输出,计算每个输出的奖励,然后用组内输出的相对奖励作为优势(advantage)来更新策略。相比PPO,GRPO不需要训练一个单独的价值网络(critic),而是直接用组内奖励的均值和标准差进行归一化,大大降低了训练复杂度。
TS-Guard采用GRPO进行强化学习训练,论文发现相比SFT(监督微调),RL训练的模型在泛化到不同类型的Agent交互轨迹上表现更优,这是方法设计的关键选择。
ReAct范式
由Yao等人(2022)提出的LLM智能体推理范式,将推理(Reasoning)和行动(Acting)交替进行。在每一步中,智能体先输出一段思考(Thought)来分析当前状况和制定计划,然后输出具体的动作(Action)和动作输入(Action Input),执行后接收环境的观察(Observation),再进入下一步思考。这种循环持续到任务完成或达到最大步数。
TS-Flow框架专门针对ReAct风格的智能体设计,在其推理-行动循环的每一步插入安全监控和反馈。
研究动机
随着LLM智能体被广泛部署用于执行现实世界任务(如自动转账、发送邮件、操控数据库),工具调用带来的安全风险急剧放大。具体存在两大类威胁:一是恶意用户直接要求智能体执行有害操作(如订购毒品、制作虚假政治视频),二是攻击者通过prompt injection在正常任务流程中植入恶意指令(如在银行交易记录中嵌入转账指令,或在日历事件描述中嵌入发送邮件的指令)。现有的安全护栏(如LlamaGuard、Qwen3Guard)主要面向静态文本内容审核设计,无法处理智能体动态交互过程中的工具调用安全问题。已有的Agent安全护栏(如LlamaFirewall)采用「检测-终止」范式,一旦检测到风险就直接中断整个任务执行,这在正常指令和注入信号混合的真实场景中会导致大量合法任务被错误中断。更重要的是,现有基准测试(如R-Judge、ASSEBench)只提供轨迹级(trajectory-level)的粗粒度标注,无法评估步骤级(step-level)的安全检测能力,而智能体恰恰需要在每个工具调用执行之前进行实时安全判断。
本文的目标是本文的具体目标是建立一套完整的步骤级工具调用安全防护体系,包含三个层面:(1)构建首个面向步骤级工具调用安全检测的基准TS-Bench,提供细粒度的安全标注(safe/controversial/unsafe三级别),覆盖恶意用户请求、prompt injection、有害工具、良性工具风险参数四类不安全模式;(2)训练一个能主动检测步骤级不安全工具调用的护栏模型TS-Guard,在工具执行前基于交互历史进行推理并给出可解释的安全判断;(3)设计一个护栏反馈驱动的推理框架TS-Flow,将安全反馈注入智能体的推理过程,在不牺牲任务完成率的前提下大幅降低有害工具调用。
与已有工作不同的是,本文的独特切入点在于「主动式步骤级」安全防护理念。与已有工作相比,本文抓住了三个被忽视的关键点:第一,已有护栏模型将安全检测视为单一分类任务,而本文发现将安全检测分解为三个子任务(用户请求有害性判断、攻击向量关联检测、工具调用安全性评级)可以提供更丰富的监督信号,显著提升检测泛化能力。第二,已有框架(如LlamaFirewall)在检测到风险后直接终止执行,而本文提出将护栏的分析反馈注入智能体上下文,让智能体自行修正行为,实现了安全性和任务完成率的双赢。第三,已有基准只覆盖部分不安全模式,本文系统性地识别了四类不安全模式并构建了全面覆盖的基准。
核心方法
本文的方法体系可以用一个比喻来理解:传统安全护栏像是高速公路上的收费站——一旦检测到问题就直接关闸(终止执行),导致后面的合法车辆也无法通行。而本文设计的体系更像一个智能导航系统——当检测到前方有危险路段时,不是把整条路封掉,而是给驾驶员(智能体)发送预警信息和建议绕行路线,让驾驶员自主做出更安全的决策。技术路线上,整个框架分为三个组件:首先通过分析四个代表性Agent安全数据集的交互日志,识别出四类不安全工具调用模式(恶意用户请求+有害工具、恶意用户请求+良性工具风险参数、prompt injection+有害工具、prompt injection+良性工具风险参数),据此构建TS-Bench基准;然后基于Qwen2.5-7B-Instruct,通过GRPO强化学习训练TS-Guard护栏模型,使其能够对每个工具调用步骤进行多任务安全评估;最后设计TS-Flow框架,将TS-Guard的安全反馈注入ReAct智能体的推理上下文中,实现动态安全干预。
TS-Guard的核心创新在于将步骤级安全检测建模为三个顺序执行的子任务,并通过多任务强化学习进行联合优化。具体而言,对于每个候选工具调用动作 $a_{i}^{t}$,TS-Guard依次输出:(1)用户请求有害性判断 $h_{i}^{t}$(yes/no),判断原始用户指令是否为恶意请求;(2)攻击向量关联检测 $v_{i}^{t}$(yes/no),判断当前候选动作是否与第三方prompt injection攻击相关;(3)安全性评级 $y_{i}^{t}$(0.0/0.5/1.0),对当前工具调用的安全性给出三级别判断。模型还需要在判断前输出一段简要分析 $r_{i}^{t}$,解释其推理过程。与已有方法的本质区别在于:LlamaGuard等模型只做单一的安全分类,而TS-Guard通过多任务设计提供了更丰富的监督信号。论文发现,多任务奖励(multi-task reward)相比单任务奖励(single-task reward)在F1分数和误报率上都有显著改善,因为对交互历史的有害性和攻击关联性的显式建模帮助模型更准确地理解安全语境。此外,TS-Guard采用GRPO强化学习而非SFT进行训练,因为SFT会导致模型输出多样性下降(熵从0.74降至0.61),而RL训练的模型在泛化到未见过的Agent交互模式上表现更优。
方法步骤详情
TS-Guard的工作流程如下:输入包括用户请求 $u_i$、截至步骤 $t$ 的交互历史 $H_{i}^{t} = \{(a_{i}^{0}, o_{i}^{0}), (a_{i}^{1}, o_{i}^{1}), \ldots, (a_{i}^{t-1}, o_{i}^{t-1})\}$、候选工具调用动作 $a_{i}^{t}$ 以及可选的工具规格 $T_i$。模型在一个推理过程中依次执行三个子任务:首先在Think标签内输出对交互历史的简要分析,识别潜在的安全风险信号;然后在Malicious_User_Request标签内输出用户请求有害性判断(yes/no);接着在Being_Attacked标签内输出攻击向量关联判断(yes/no);最后在Harmfulness_Rating标签内输出安全性评级(0.0/0.5/1.0)。训练时,模型基于Qwen2.5-7B-Instruct使用GRPO算法优化,多任务奖励函数为 $r_t = 1 - w_1 \cdot \mathbb{1}[\hat{h}_t \neq h_t^*] - w_2 \cdot \mathbb{1}[\hat{v}_t \neq v_t^*] - w_3 \cdot \mathbb{1}[\hat{y}_t \neq y_t^*]$,三个权重均匀设置为 $w_1 = w_2 = w_3 = 1/3$。TS-Flow的工作流程则是在ReAct智能体的每一步工具执行前调用TS-Guard进行安全评估,将TS-Guard的完整输出(包括分析过程和安全评级)作为反馈注入智能体的上下文中,智能体根据反馈自主决定是否修正其工具调用行为,而不是被强制终止。
技术新颖性
本文的技术新颖性体现在三个层面。首先,在建模方式上,已有护栏模型(如LlamaGuard、ShieldAgent)将安全检测视为单一的二分类或三分类任务,而TS-Guard将其分解为三个有因果关系的子任务(用户意图→攻击关联→安全评级),这种多任务分解提供了更丰富的梯度信号和更可解释的输出。其次,在训练策略上,已有方法普遍采用SFT(监督微调),而本文发现RL(特别是GRPO)在泛化性上显著优于SFT——RL训练的模型在ASB-Traj上的F1分数为94.76,而SFT仅为约80。消融实验证实SFT+RL的效果甚至不如纯RL,因为SFT阶段导致模型输出熵下降,限制了后续RL的探索空间。最后,在系统架构上,已有框架(如LlamaFirewall)采用「检测-终止」范式,而TS-Flow采用「检测-反馈-修正」范式,将护栏的分析过程作为额外上下文信息反馈给智能体,使智能体能够自主进行安全感知的推理。这种设计不仅避免了误杀合法任务,还通过增加智能体在高风险步骤的输出熵来鼓励安全探索。
实验结果
实验结果在三个层面验证了本文方法的有效性。在护栏模型评估(TS-Bench)方面,TS-Guard在严格模式下取得了全面领先的成绩:在AgentHarm-Traj上ACC=84.81、F1=90.16、Recall=96.95,大幅超越GPT-4o(F1=84.80)和Llama-Guard-3-8B(F1=86.35);在ASB-Traj上表现尤为突出,ACC=94.97、F1=94.76、Recall=93.85,而最强基线GPT-4o仅达到F1=63.03、Recall=60.11;在AgentDojo-Traj上ACC=91.72、F1=86.18、Recall=89.49,超越所有基线。在受保护智能体评估方面,TS-Flow+TS-Guard的组合在安全性和任务完成率之间实现了最佳平衡:在AgentDojo上,GPT-4o作为backbone时ASR从56.16%降至1.16%,同时Utility从26.87%提升至42.78%;在ASB-DPI上ASR从82.25%降至6.76%,Utility从12.50%提升至18.87%;在ASB-IPI上ASR从80.00%降至6.19%;在AgentHarm上Refusal Rate从62.50%提升至94.32%。值得注意的是,LlamaFirewall+TS-Guard虽然在安全性上表现最好(AgentDojo ASR仅0.95%),但其Utility仅为20.79%,远低于TS-Flow的42.78%,验证了「检测-终止」范式对任务完成率的严重损害。消融实验发现三个关键设计选择的重要性:(1)RL-only训练策略优于SFT和SFT+RL,在AgentDojo-Traj上F1达到86.18;(2)多任务奖励优于单任务奖励,在AgentHarm-Traj和AgentDojo-Traj上F1分别提升约5个和3个百分点;(3)丰富的反馈信息(完整TS-Guard输出vs仅安全评级)对安全性和任务完成率都有显著影响,完整反馈使ASB-OPI上ASR从26.04%降至7.00%,Utility从52.45%提升至58.12%。熵分析实验揭示了一个有趣的机制:普通ReAct智能体的token级熵随推理步骤单调递减,表明智能体变得越来越「确信」(包括对有害操作);而TS-Flow通过在检测到风险时注入反馈,显著提升了高风险步骤的输出熵,使智能体保持对不确定性的感知,从而进行更安全的推理探索。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 步骤级安全检测 (AgentHarm-Traj, Strict) | F1 | 90.16 | 86.35 (Llama-Guard-3-8B) | +3.81 |
| 步骤级安全检测 (ASB-Traj, Strict) | F1 | 94.76 | 63.03 (GPT-4o) | +31.73 |
| 步骤级安全检测 (AgentDojo-Traj, Strict) | F1 | 86.18 | 72.32 (Qwen3-8B) | +13.86 |
| Agent安全-Utility联合 (AgentDojo, GPT-4o) | ASR / Utility | 1.16% / 42.78% | 56.16% / 26.87% (ReAct) | ASR降55pp, Utility升16pp |
| Agent安全-Utility联合 (ASB-DPI, GPT-4o) | ASR / Utility | 6.76% / 18.87% | 82.25% / 12.50% (ReAct) | ASR降75.5pp, Utility升6.4pp |
| Agent安全 (AgentHarm, GPT-4o) | Refusal Rate | 94.32% | 62.50% (ReAct) | +31.82pp |
局限与改进
作者在论文中明确承认了两个主要局限。第一,TS-Flow中护栏模型的反馈是直接追加到智能体的上下文中的,作为外部信号注入,这种做法虽然简单且模型无关,但当前的LLM智能体可能无法完全吸收和利用这些反馈信息,限制了步骤级安全干预的有效性。第二,智能体和护栏模型是独立训练的,两者之间没有显式的协调机制,这可能导致智能体的推理过程与护栏的安全判断之间存在不一致。从更广泛的视角来看,TS-Flow引入的额外延迟虽然作者声称在可接受范围内(AgentDojo上GPT-4o的输入token增加约36%,Qwen2.5-14B增加约89%),但对于延迟敏感的实时应用场景(如金融交易)可能仍是一个问题。此外,TS-Bench的数据来源主要是模拟环境(simulated Python functions),与真实世界的工具调用安全性之间可能存在差距;三级别标注中的controversial类别定义较为模糊,不同标注者可能存在理解差异。
独立分析的弱点
从独立分析的角度,本文存在以下几个值得改进的弱点。首先,TS-Flow的反馈注入方式过于粗糙——直接将护栏输出追加到智能体上下文,不仅增加了token开销(最大context长度从1079增加到1463甚至3464),而且缺乏对反馈信息的结构化整合。改进方向可以是设计一种更紧凑的反馈表示(如向量化嵌入而非自然语言文本),或通过注意力机制将安全信号注入智能体的隐藏状态。其次,TS-Guard的三任务顺序推理设计虽然提供了丰富的输出,但单次推理的延迟(约1.36秒/样本)在高频工具调用场景下可能成为瓶颈。一个可能的改进方向是并行化三个子任务的推理,或训练一个轻量级的「快速判断」模型先做初筛,只在边界情况下才调用完整的TS-Guard。第三,论文的实验主要在模拟环境中进行,未在真实部署的Agent系统中验证。真实场景中工具返回的观察结果可能更长更复杂,prompt injection的手段也可能更隐蔽,TS-Guard的泛化能力有待进一步验证。第四,TS-Flow在Qwen2.5-14B上的效果不如在GPT-4o上稳定(如ASB-IPI上ASR为7.00% vs 6.19%,但AgentDojo上ASR为1.79% vs 1.16%),说明框架的效果对底层模型能力有一定依赖。
未来方向
作者提出的未来方向是探索智能体和护栏模型的联合训练或更紧密的耦合,以更好地整合安全反馈并共同提升安全性和任务完成率。基于本文成果,还有几个值得延伸的方向:一是将TS-Guard的多任务安全检测范式扩展到更多类型的Agent行为(如文件操作、系统命令执行、API调用链),构建更通用的Agent安全评估体系;二是研究自适应安全策略——根据任务的敏感程度和上下文风险动态调整安全干预的强度,而非对所有工具调用一视同仁;三是探索将TS-Flow中的安全反馈机制与其他推理增强方法(如Chain-of-Thought、Tree-of-Thought)结合,在保持安全性的同时进一步提升任务完成质量;四是研究对抗鲁棒性——攻击者可能专门设计针对TS-Guard检测模式的绕过策略,需要研究如何使护栏模型在对抗环境中保持稳健。
复现评估
论文的代码已开源于GitHub(https://github.com/MurrayTom/ToolSafe),这为复现提供了良好的基础。TS-Bench基于四个公开数据集(AgentAlign、AgentHarm、ASB、AgentDojo)构建,数据来源透明。TS-Guard的训练基于Qwen2.5-7B-Instruct(7B参数),使用GRPO算法,总batch size为256,最大prompt长度4096 tokens,最大response长度1024 tokens,训练10个epoch,在8块NVIDIA 96GB H20 GPU上运行,算力需求相对可控(约相当于8×80GB A100的配置)。推理时使用nucleus sampling(temperature=0.1, top-p=0.9)。复现难度中等:数据构建部分需要调用GPT-4o/Claude-3.5/Qwen3-30B采样ReAct轨迹并进行步骤级标注,需要一定的API调用成本;模型训练部分使用verl框架(一个开源的RLHF框架),配置相对标准化。TS-Flow的评估部分需要搭建完整的ReAct智能体环境,包括工具模拟和多步交互,这是复现中最复杂的部分。
论文图表
图1展示了两类安全风险场景。(a)恶意用户请求:用户要求智能体在暗网订购毒品(hashish和DMT),智能体识别后拒绝,但攻击者通过将请求伪装为正常订单,诱导智能体调用submit_amazon_order工具完成有害操作。(b)Prompt Injection攻击:用户发出正常的查询请求(检查酒店评分和价格并设置预约提醒),但在工具返回的观察结果中嵌入了恶意指令(要求将信用卡PIN码发送到攻击者邮箱),导致智能体偏离原始任务执行恶意操作。
这张图直观地展示了本文要解决的核心问题——工具调用安全的两大威胁来源,帮助读者快速理解论文的研究动机。