系统:运行中
← 返回所有攻击
AGENTS MEDIUM NEW

残留授权:任务结束后收回编码智能体的能力

2026 年 6 月的一项研究为一个盲点命名:编码智能体在证明其正当性的子目标关闭后,仍长期保留对工具的权限。一个撤销这些能力的引用监视器可阻止重放滥用。

2026-07-03 // 5 min affects: coding-agents, mcp-agents, qwen3-coder, gpt-5.5, claude-opus-4.8

这是什么?

2026 年 6 月的一篇预印本(arXiv:2606.22504)为大多数编码智能体部署从未度量过的一种失效模式命名:残留授权(lingering authority)。思路很简单。编码智能体通常在整个任务期间获得广泛的工具访问权——对代码仓库的读写、运行测试、变更 git、访问网络——即便某项资源只在一个狭窄的子目标中才需要。一旦该子目标关闭,该能力仍暴露在智能体的工具接口上。论文的论点是:临时授权已经退化为长期授权,即”在证明其正当性的情节关闭之后,一项对资源或效果的临时能力仍处于暴露状态”。

这个问题本质上是时间性的,而非某个单一工具中的漏洞。每一次授予在做出的当下都是正当的。缺失的是最小权限的另一半:当理由消失时收回授权。研究认为,暴露的工具接口本身就是安全状态的一部分,这与 OWASP 智能体应用十大风险(2025 年 12 月)所称的身份与权限滥用相吻合:智能体以超出当前步骤所需的有效授权在运行。

工作原理

威胁模型假设规划器不可信。智能体的计划由其无论如何都必须读取的普通输入所引导——仓库文件、工单文本、检索到的文档、工具描述符与协议元数据、以及具有误导性的工具输出——这恰恰是间接提示注入所依附的攻击面。论文的要点是:攻击者既不需要运行时的入侵,也不需要沙箱逃逸。一个仍携带多余、已不再需要的能力的合法工具就足够了。

典型示例是一次范围受限的修复。智能体获得对某个文件的写权限以传播一处改动,聚焦测试通过,子目标完成——但写入句柄仍然存活。在同一次运行的后续阶段,一条被操纵的指令重用这个已过期的句柄,写入到从未被授权的位置,或重新读取仅在先前步骤中才有正当理由的敏感路径。没有申请任何新权限;智能体只是重放了本应被关闭的授权。

所提出的防御 PORTICO 是一个用于可撤销能力的引用监视器。它将一份显式的任务契约编译为初始封套、授予规则、可信关闭谓词和全局拒绝规则,然后运行一个请求–授予–调用的生命周期。授予会为特定的资源与效果铸造不透明且**绑定纪元(epoch)**的句柄。当关闭条件触发时,这些句柄会在下一步从规划器接口中移除,任何重放都会在产生副作用之前被拒绝。关键在于:只有可信事件——监视器运行且通过的测试、编排器的阶段退出、经过认证的人工批准——才能授予或关闭授权。规划器自行撰写的、声称”子目标已完成”的文本会被记录为不可信,无法重新打开已关闭的纪元。

为何重要

撤销与不撤销之间测得的差距十分显著。在论文的关闭后审计中,一个不撤销的对照组在相同回合获得完全相同的授予,重放过期句柄时执行了 6 次禁止效果中的 6 次;进行撤销的监视器执行了 0/6。在一个迟到重读的切片中,不撤销的配置允许了 10 次过期重用中的 10 次,而监视器拒绝了 10/10——两者在关闭时刻之前的任务成功率与范围合规上完全一致。这种分化在文件写入、git 变更和网络外传上均成立,覆盖真实的 Python 项目(Flask、Requests、HTTPX、Click、Jinja、Werkzeug 等),以及包含 Qwen3-Coder、GPT-5.5、Gemini 3.5 Flash 和 Claude Opus 4.8 的受评模型集合。这一教训超越了某个特定监视器:如果你的智能体框架从不撤销能力,那么它做出的每一次授予在本次运行的其余时间里实际上都是永久的。

防御措施

可落地的要点并不依赖任何特定工具:

补上最小权限缺失的另一半。 仅在授予时刻做到最小权限对智能体而言并不够。将每项能力绑定到工具、资源、效果类别、阶段和纪元,并强制执行不可重放规则:一旦子目标关闭,句柄应从接口中消失,任何重放都应在副作用之前被拒绝。

只允许可信事件改变授权。 智能体自身的叙述是不可信输入。授予与撤销应由监视器观察到的信号驱动——测试通过、阶段转换、经认证的人工批准——绝不能由模型生成的”某步骤已完成”的声明来驱动。

撤销接口,而非记忆。 撤销针对的是智能体仍能通过受中介路径调用的内容,而非抹除对话历史。这只有在工具路径确实经过中介时才有效;未经中介的 shell、文件或网络访问不在保证范围之内。

分层防御。 作者明确指出:该机制是对主机隔离、密钥管理、异常扩权的人工审批和审计复核的补充,而非替代。能力治理只是众多控制之一——参见 SAGA 等关于治理智能体身份与权限的相关工作。

状态

项目参考说明
核心概念arXiv:2606.22504,2026 年 6 月”残留授权”:子目标关闭后仍暴露的临时能力
所提防御PORTICO 引用监视器请求–授予–调用生命周期;绑定纪元的句柄;可信关闭谓词
关闭后审计同一论文不撤销对照组:6/6 执行禁止效果;撤销监视器:0/6
框架映射OWASP 智能体应用十大风险,2025-12身份与权限滥用(相对当前步骤的过度授权)
受评栈同一论文真实仓库上的文件/git/网络效果;Qwen3-Coder、GPT-5.5、Gemini 3.5 Flash、Claude Opus 4.8

经久有效的要点是:正是自主性加上未被撤销的授权,才把单条注入指令变成已执行的效果。一次授予的价值,取决于能否把它收回的机制。

Sources