论文提出残留授权重放攻击:长期运行 Agent 的授权可跨任务复用
When Consent Outlives Context: Residual Authority Replay in Long-Lived Agents
AI 导读
研究者提出残留授权重放攻击,利用长期运行 Agent 跨任务或跨会话保留的用户授权,在原始授权语境改变后复用这些授权执行敏感操作。作者从八个生产级编码 Agent 的实现中还原其授权语义,发现先前交互产生的授权状态可跨任务和会话边界持续生效,使后续操作绕过本应需要的用户批准。在 AgentDojo 的 508 个攻击案例、六个 LLM 家族上,残留授权使提示注入攻击成功率最高提升 35.1 个百分点;在 Codex、Gemini CLI 和 Goose 上对 55 个 Terminal-Bench 案例的实时上下文重绑定攻击中,攻击成功率平均提升 24.9 个百分点。作者据此提出上下文绑定授权,建议在安全相关绑定发生变化时重新请求批准。
论文速读
- 长期运行的 LLM agent 会把用户批准跨任务、跨会话保留下来,导致授权脱离当初批准它的上下文,形成可被复用的"残留权限"(residual authority)。作者认为这会让后续恶意操作绕过本该重新征求的用户同意,是持久授权与用户同意上下文性之间的根本错配。
- 作者先从八个生产级 coding agent 的实现中逆向恢复其授权语义(授权范围、存储形式、匹配条件、有效期),再把攻击建模为对持久授权状态的反向规划:从目标有害动作出发,找出需要批准的动作,用良性任务合法地获取对应 grant,最后在对抗上下文中重放这些残留权限,对比 fresh 与累积授权状态下的成功率。
- 在 AgentDojo 的 508 个攻击案例、六个 LLM 家族上,残留权限使 ASR 最多上升 35.1 个百分点;在 Terminal-Bench 的 55 个案例、Codex/Gemini CLI/Goose 三个真实 agent 上,五类 context-rebinding 攻击的 ASR 平均上升 24.9 个百分点。良性历史会持续扩大可静默执行的动作集合(Goose 一个任务后即饱和,Codex/OpenCode 增长较慢);匹配越精细放大越小,但 exact-resource 匹配下仍有非零 ASR。
- 更精细的匹配只能减少、不能消除重放,因为授权仍不绑定任务上下文;task-scoped 授权(如 PAuth)可把 ASR 降到零,但代价是取消跨任务复用。作者提出 context-bound authorization 方向,即保留并重新校验批准时的安全相关绑定,但如何在异构工具与执行环境中确定最小绑定集仍待未来工作。
据 论文全文(AI 生成) 整理,供快速了解,以论文原文为准。
推荐理由
论文把长期运行 Agent 的授权残留形式化为可复用的攻击面,并给出跨模型与真实编码 Agent 的量化放大结果。