外观
Tool Use、Agency 与审批控制研究综述
摘要
Agent 的主要风险往往不是工具本身恶意,而是模型在错误目标或不可信上下文下调用了合法高权限工具。Excessive Agency(过度代理权)包括工具过多、权限过宽、参数可自由组合和高影响动作无需确认。安全边界应位于确定性执行策略,而非依赖模型“记住不要做”。
分类介绍
本领域覆盖 Tool 选择、参数、权限、审批和动作范围。恶意工具制品归 A3.3,动态 Schema 与能力发现归 A6.2,Prompt Injection 入口归 A5.1。这里以合法稳定工具被危险使用作为主根因。
主要安全风险
- 读写、查询与管理操作共用同一高权限凭据。
- 审批界面只显示自然语言摘要,隐藏真实参数和连锁副作用。
- 批量、通配符和间接引用可扩大用户以为批准的范围。
- Tool 返回内容驱动下一次调用,形成无人工检查的闭环。
- Checkpoint Restore 只回滚 Agent 本地状态,不能撤销已经完成的付款、资源创建或单次授权消费;模型重试时又可能生成不同请求 ID,使传统幂等去重失效。
防护措施与验证方法
为每个工具和参数实施最小权限与服务器端校验;将读操作、可逆写入和不可逆动作分级;审批时显示规范化参数、目标对象和预期副作用;使用短期委托令牌和独立策略引擎;高风险动作提供预览、双确认、幂等和回滚。
局限与待验证问题
- 如何在不造成审批疲劳的情况下识别真正需要人工确认的动作?
- 自然语言目标与结构化授权范围如何可靠映射?
- 跨工具组合产生的新能力应如何自动发现和限制?
历史研究成果
同一逐调用授权对象在两个受控实验中得到新的领域和资源覆盖。TwinGridShield先用 IEEE 14-bus 数字孪生计算开关、再调度与负荷切除后果,再由确定性谓词决定是否放行;匹配 DC 模型的 500 次攻击条件中没有不安全释放,但标签与授权共用同一模型,只验证实现符合已编码谓词。负荷测量误差下不安全接受为 5.63%,线路额定值实际低 20% 时为 30.09%,说明世界状态模型也必须纳入授权可信基。
ResourceHijackBench则把“攻击者不取得资源、诱导 Agent 代为使用”扩展到六类资源、300 场景和 900 个攻击提示。OpenClaw 的作者实验平均 ASR 为 84.06%,最强已测防护仍为 55.11%;全部在本地隔离环境并依赖 LLM Judge。其首个失效控制仍是 capability 没有绑定请求来源、资源所有者、允许用途和实际受益人,因此应作为 confused-deputy 的验证矩阵,而不是新的授权分类;算力和预算后果另与资源经济性风险交叉分析。
本分类下的独立研究都在区分“看似有控制”与“动作边界上真正的授权”。
研究对象分别是工具使用的正确性、执行授权与授权策略生成:ToolFailBench 研究 Agent 是否正确选择工具、依赖返回结果,能力门控不是授权(ScopeGate) 研究框架默认工具分发与逐调用授权的差距,从连接到执行控制(HCP) 研究 MCP 式运行时在建立连接后能否把授权绑定到实际执行,AUTHGRAPH 对齐独立授权图和实际参数来源,AuthBench 则评估编码 Agent 能否推断文件级最小权限;Function Hijacking 测试不可信函数描述在选择阶段如何让模型偏向攻击者指定的函数;GAAP将私密数据披露绑定到用户定义的接收者和用途;PhantomPolicy则检验参数内容正常但真实对象关系已违反策略的调用。
研究方法从诊断到可执行控制和授权对齐:ToolFailBench 在五个领域 1,000 个单轮任务上把失效细分为跳过必需工具、忽略结果、捏造输出、不必要调用四类并用反常识陷阱值检验;ScopeGate 审计 LangChain/LangGraph、LlamaIndex、Stripe Agent Toolkit 的公开版本,把 scope、授权、金额上限、幂等性和默认拒绝固定到策略执行点;HCP 提出参考运行时和八项执行控制不变量;AUTHGRAPH 将干净上下文中的授权结构与实际执行中的参数来源比较;AuthBench 用 120 个带人工标签和可执行验证器的终端任务,分离权限的充分性与紧致性;Function Hijacking 在 BFCL 与五个模型上将目标函数名选择和参数有效性分开计量;GAAP 用跨代码工件和跨任务持久化的信息流标签检查私密数据到外部服务的流向。
研究成果的共同结论是:能力门控、工具连接、审批提示和模型自行生成权限都不等于动作边界上的确定性授权——函数选择还可能在不可信描述影响下偏离任务,策略判断还可能缺少真实世界状态,因此需要逐调用、逐参数的 fail-closed 执行、可核对的参数来源与独立验证权限策略的充分性/紧致性。GAAP 进一步显示,只有把数据接收者和用途强制到每个出口,才能在其受控任务中让模型或输入不可信而不导致未授权披露;PhantomPolicy 显示规则提示也会因对象关系未进入上下文而遗漏违规,世界状态不变量在完整覆盖时仍有召回限制。POLIS 的 Multi-Agent AI Safety as an Institutional Design Problem 在 5,280 个合成 episode 中比较规则写入模型提示、局部当前状态检查与授权来源追踪:来源追踪拦截全部 51 次禁止动作提案,并在其中 44 次恢复为合规完成;只检查当前可见策略的局部 Guard 在 96 个权限洗白场景中有 22 次实际进入该路径。该结果验证的是小型合成制度,不能外推部署失败率,但说明最终违规率相同可能隐藏完全不同的控制机制。各自结果只是受控基准或 mock 环境中的证据,不代表现实事故率,也不证明提示词注入已被治愈。
控制组合与执行绑定是这一结论的两个深化方向。有状态动作前控制的组合与重新判定(One Gate Is Not Enough)把动作前控制拆成 authority、resource、evidence 三类并给出状态转换语义:一个门禁的修复会改写动作、证据或资源,另一个门禁此前缓存的“允许”结论随之失效,编排器必须在每次修复后重新执行所有受影响门禁;作者用两个合成零售工作流、30 个预注册 seed 和确定性 checker 检查 17,151 个条件,CH1–CH5 在两个工作流全部通过,CH6 只在其中一个成立。这是可复现的机制演示而非平台缺陷率测量,但它说明即使每个门禁单独正确,修复顺序与缓存判定仍可能让组合结果错误。DeFi Agent 的策略证明与精确交易执行绑定(PACE)则把授权闭合到链上执行字节:类型化意图经策略与模拟后生成带签名的 Policy Decision Record,绑定获批意图、策略版本、模拟报告与防重放字段,智能账户只执行能通过验证的交易;作者在 40 个任务、四类攻击、2,800 次试验中报告确定性沙箱下 unsafe execution 与良性误报均为 0(无防护基线为 0.80),链上强制额外开销 29,826–31,822 gas。该结果是逻辑级基准证据,修复责任跨越 Agent Runtime、策略验证器和智能账户,不代表现实 DeFi 部署的无漏洞保证。
生态测量进一步量化了自然语言规则与确定性控制之间的落差。When “Do Not” Is Not deny从 481 个公开 CLAUDE.md 中提取 4,661 个候选片段,其中 870 个被分类为安全相关;按宽松到严格的匹配标准,只有约 4%–16% 的安全规则有对应内置控制,严格人工裁决估计为 4.4%(95% 置信区间 2.6%–6.7%)。这不是对规则实际失效率的测量,抽取和映射也可能遗漏语义等价控制,但它说明“写下禁止事项”不会自动产生可执行授权。平台应在规则编辑时显示其是否映射到 deny、permission 或 sandbox 控制,并对未映射规则给出显式缺口,而不是让开发者误以为模型提示已经强制执行。
错误恢复与状态新鲜度提供了另外两项组合证据。ToolFailBench合并的新实验显示,六个 135M–1.7B 小模型在两个环境中看到失败调用 Transcript 后,反而更倾向重复刚失败的动作,说明原始错误文本不是可靠的恢复状态;有状态动作前控制的组合与重新判定合并的五环境实验则在统一后移八个模拟步时观察到 5.3%–48.4% 的允许判定变化率,说明正确判定也会随环境演化而过期。两者都要求 Runtime 把结构化错误、状态版本和判定有效期绑定到下一次调用,而不是让模型从自然语言历史自行推断。
新增研究从“谁来判定”与“判定放在哪里”继续检验授权控制。Peer Oversight形式化有害集体决策至少由若干 Agent 共同负责时的同伴监督性质并给出构造算法,但尚未证明现实协作网络满足其责任假设;If Agents Were Angels把细粒度策略执行、响应过滤和语义门禁放到可信工具边界,在自适应红队中降低泄漏与禁止动作;AWS 的 Strands 三检查点 Hook则在模型请求前、工具执行前和工具结果返回后调用 Bedrock Guardrails。后两者支持模型外执行,但分别是单篇作者实验和厂商实现说明,未获独立跨框架验证;Hook 若能被绕过或工具存在带外出口,三检查点也不是完整保证。
人因与模型表征证据说明,审批策略还需同时测误放和误拒。Do User-Authored Permission Policies Improve Protection?比较逐项审批、自动审查和用户预设规则,观察预设规则的保护更弱;The Guard That Cried Wolf在明确授权策略下构造过度拒绝基准,发现具有“危险感”的名称会使合法动作被拒;Calibrated Enough to Know, Not Calibrated to Act则用专业化虚构证据诱使 Agent 对不可知问题采取行动,并发现训练缓解对格式变化脆弱。Tunable Tool-Call Rates进一步通过表征方向把工具调用率从接近 0% 单调调到超过 90%,同时保持调用格式有效。共同结论是调用倾向、置信度和语言风险感都不是授权;这些作者实验的用户样本、提示格式和模型版本不同,不能互相换算为部署误拒/误放率。
执行接口的结构也会改变风险。SARA将工具输出诱导的动作与运行时授权分离,记录来源并阻止历史内容洗白权限;音频原生 SpeechGym说明端到端语音 Agent 的强化学习不再经过不可微的 ASR/TTS 串联层,因而审批测试必须覆盖原生音频到工具调用的完整通道,不过该论文主要是训练框架而非安全保证。原子力显微镜案例则给出高影响实物控制对照:三个 MCP Agent 分别把自然语言转成经检查命令、调整成像参数和从预批准集合做后处理,作者报告加入歧义检查层后错误命令执行降至 0,现场实验在图像质量、迭代数和调参时间上与专家无显著差异。该 0 仅限被测 AFM、样品和命令集,不能外推其他实验设备;但它支持“人定义意图、模型建议、可信层检查、预批准工具执行”的分工。
近期工作可按“能力范围”“结构化准入”“声明式运行时策略”和“主动服务决策”四种控制机制归并。CapScope 在读取仓库或工具输出前,从可信输入推导任务级权限上限,并为每个子 Agent 分配模型上下文外的类型化能力。Pi 编码 Agent 的五项 Python 任务、五个注入面、四种授权条件、每格三次共 300 次运行中,环境权限与全局策略基线分别有 33–47/75 次执行注入效果,CapScope 为 3/75;修复完成为 68/75,基线为 68–72/75。结论只适用于该编码工作流和能力推导正确的条件,无法覆盖可信输入本身授权过宽或工具绕过 Harness。
SiLR 处理违规状态下仍需逐步恢复时的准入问题:用影子执行和分支级违规状态的乘积偏序替代聚合分数。Gym-ANM 中 SiLR 恢复 21/21 个多动作 episode,终局门禁为 0/21、最佳标量门禁为 9/21;24 场景结果跨三个模型家族,并在 CityLearn 复核。两类约束同时启用时,所有被测标量投影都会放行物理不安全动作,support-only 放行 42,410 个候选中的 63.2%,乘积偏序为 0;作为 GRPO 过程奖励时,未加门禁策略得分为 0.844,对应未训练基线为 0.778。该证据来自确定性模拟和所定义偏序,不代表任意现实工具约束都能完备建模。
ToolGuard 针对 1B–3B 小模型,在 5 个领域、17 个 Tool Schema、50 个对抗提示、每提示 10 次组成的 2,000 次运行中,观察到能力较强模型 ASR 为 47%–52%;声明式调用后策略把全量平均 ASR 从 48.9% 降至 11.7%,留出集从 49.3% 降至 10.9%,延迟低于 5 ms。工具替换由 65.4% 降至 5.0%,数据外泄只由 44.3% 降至 31.7%;8 个知晓策略的自适应攻击下,防护后 ASR 回升到 19.0%。其 0% 良性误报只基于 41 个模拟规范输出(95% Wilson 区间 0%–8.6%),未测真实模型输出,温度敏感性也未完成;该 TMLR 投稿仍在评审,不能把结果写成生产保证。
Proactive Service Agents 把授权判断前移到 Agent 是否应保持沉默、询问、辅助或直接行动,并将时机、内容和交付纳入受授权与风险约束的部分可观测序贯决策过程。该综述统一了触发、时机、校准、用户负担、安全与策略价值等指标,但没有给出可跨数据集比较的单一效果数字。其适用价值是提醒部署方测量等待的期权价值、提问的信息价值和主动干预成本;它不能单独证明某个主动服务系统安全,也不要求长期记忆作为主动性的必要条件。
2026 年 4—8 月的四项工作把模型外门禁细分为符号判定、推理—执行隔离、携带验证证据的工具制品和可机械检查的人机流程。Don't Make Models Guess Security and Safety在 80 个领域基准上报告 74% 的要求可转写为符号执行约束,支持让模型负责提出动作、让独立策略层负责判定;该比例取决于作者的需求集与可编码性标准,公开代码和单篇作者实验尚不能证明开放环境中的自然语言要求都可完备形式化。Parallax以 OpenParallax 将思考与行动拆到不同信任域,并提供端到端实现和 280 例评测;它验证的是所实现接口上的隔离与检查,不覆盖执行器旁路、未建模副作用或策略本身错误。
Tool Forge把工具封装为携带验证信息的 capsule,经意图范围路由、沙箱验收后才进入执行面;其开源实现说明工具准入可与运行时证据绑定,但不能替代对 capsule 生成器、沙箱和外部服务副作用的独立验证。Specifying AI-SDLC Processes则用协议语言表达软件开发流程中的人机边界,并在 v3 增加 Lean 4 机械化与 SWE-bench Verified 端到端验证。两者的共同机制是把自然语言规则变成执行前可检查对象;限制在于验证只覆盖已形式化的属性和作者测试流程,不能据此推断任意编码 Agent 或完整软件供应链已安全。
工具交互的安全属性进一步扩展到响应时序维度。ChronosAttack首次论证工具响应时序本身构成攻击面:攻击者不修改、添加、删除或加速任何响应内容,仅通过引入有界非负延迟改变真实工具响应的到达顺序,即可影响 Agent 的最终决策。作者在 ToolEmu 三类别 36 个场景上的 5,400 次实验中报告 51.3% 的平均成功率,六种防御中最佳方案仅降至 33.4%。该研究揭示了本分类中一个此前未被讨论的失效点:工具调度层的缓冲排序策略和模型的时间排序先验共同决定了证据到达 Agent 决策层的状态,而两者均未被纳入安全分析。
工具权限的评测维度也需要扩展。Ajar引入"开放权限"作为 Agent 防御评测的第三维度:在 AgentDojo 的 97 个良性任务上对 Progent、CaMeL、AC4A、Permission Assistant 和 Claude Code Auto 模式五种防御进行测量,发现各防御遗留的开放权限量差异巨大,且不能从攻击成功率或良性效用中推导。该研究暴露了本分类中一个方法论盲区:防御可以在保持高分的同时维持不必要的工具权限开放,二元指标无法捕捉权限最小化的实际程度。
相关研究文章
Agent防御评测
Ajar:Agent 防御中的开放权限度量Ajar 引入'开放权限'(open privilege)作为 Agent 防御评测的第三维度(除攻击成功率和良性效用外),在 AgentDojo 的 97 个良性任务上评测 5 种防御,发现开放权限不能从攻击成功率或良性效用推导。2026-09-22工具交互攻击面
ChronosAttack:LLM Agent 的对抗性工具调度时序攻击ChronosAttack 首次将工具响应时序本身作为攻击面,仅通过引入有界非负延迟改变真实工具响应的到达顺序即可影响 Agent 最终决策,不修改、添加、删除或加速任何响应内容。2026-08-20工具策略执行与状态核验
有状态动作前控制的组合与重新判定研究多个动作前控制依次修复请求时,动作、证据与资源状态如何变化,以及为何每次修复后都必须重新执行相关门禁。2026-08-18PhantomPolicy:Agent 的策略不可见违规与世界状态执行控制研究未被工具返回内容显式表达的策略约束,提出 PhantomPolicy 基准及依赖世界状态不变量的执行拦截。2026-04-14动作授权与执行绑定
DeFi Agent 的策略证明与精确交易执行绑定分析 PACE 如何把类型化意图、策略、模拟结果与最终交易字节绑定,并由链上智能账户执行前强制验证。2026-08-18工具失效诊断
ToolFailBench:诊断 LLM Agent 的工具使用失效ToolFailBench 在五个高风险领域的 1000 个单轮任务上区分跳过必需工具、忽略工具结果、捏造输出和不必要调用,并以 19 个模型评估工具使用完整性。2026-07-06授权与执行控制
能力门控不是授权:LLM Agent 框架中的混淆代理失效本文审计 LangChain/LangGraph、LlamaIndex 和 Stripe Agent Toolkit 的工具授权边界,并以 ScopeGate 验证逐调用、逐参数的默认拒绝控制。2026-06-27From Tool Connection to Execution Control: Benchmarking Security Invariants in MCP-Style Agent Runtimes评估 MCP-style Agent runtime 在连接建立后的执行授权、主体绑定、资源解析、句柄数据流、审批和拒绝审计不变量,并比较 HCP 与两种连接层基线在十个受控攻击案例中的结果。2026-06-27AUTHGRAPH:以授权图对齐执行来源追踪 Agent 注入研究将隔离用户意图生成的授权图与实际执行来源图对齐,以发现工具和参数来源偏离。2026-05-26AuthBench:编码 Agent 的最小权限边界推断评测评估编码 Agent 能否从终端任务推断恰好足够的文件读、写、执行权限,并分析授权吸引子与分解式策略生成。2026-05-14Function Hijacking:通过 Tool 描述劫持函数选择Function Hijacking 研究攻击者仅控制候选 Tool 描述时,如何使函数调用模型选择攻击者指定的函数,并说明执行侧必须独立授权。2026-04-22确定性授权执行
GAAP:以信息流控制约束 Agent 对私密数据的使用研究以持久化信息流控制和用户定向授权约束 Agent 代码执行,避免模型、工具或提示词注入直接获得用户私密数据。2026-04-21参考链接
TwinGridShield: Consequence-Aware Runtime Authorization for LLM Grid-Agent Actions
ACRFence: Preventing Semantic Rollback Attacks in Agent Checkpoint-Restore
One Gate Is Not Enough: Composing Stateful Pre-Action Controls
When “Do Not” Is Not deny: Security Rules in CLAUDE.md vs Built-In Controls
Tool Forge: A Validation-Carrying Toolchain for Governed Agentic Execution
Specifying AI-SDLC Processes: A Protocol Language for Human-Agent Boundaries