论文聚焦 AI 编码代理 harness(Claude Code、Codex CLI、Cursor 等)的一个未被充分检验的安全假设:人类批准的动作 A,与 harness 实际执行的动作 A' 是同一个动作,其中 A 由作用域授权或会话级批准所声明的策略固定。作者指出该假设会系统性且可复现地失效,并提出 "Approval Laundering"(审批洗白)这一分类学,将失效归纳为六类:Scope(作用域漂移)、Argument(参数替换)、Temporal(时序/会话身份错配)、Tool(工具替换)、Delegation(委派给子代理或下游执行体)、Semantic(语义层改写)。与既有工作(用静态语料评测风险分类器、推断隐式授权边界)不同,本文研究的是"凭据绑定完整性":给定一个已被批准的动作,harness 是否精确派发该动作。方法上,作者在 Claude Code 的执行前中介点 PreToolUse 处插桩,开展受控、无头(headless)、重复测量实验,对六类失败各做 N=19–20 次运行,报告 Bound-Gap Rate(BGR)及其 Wilson 置信区间,评分者间一致性 kappa=1.0。随后作者原型化 Approval Token:由中介签发的带密钥能力令牌 Hk(principal, agent_id, session_id, tool, arguments, scope, expiry),且密钥永不返回给代理本身;通过 118 次运行的配对前后回放并采用 McNemar 精确检验评估效果。结果显示:该令牌完全消除 Delegation 类洗白;对作者构造的会话身份错配场景可消除 Temporal 类洗白(p<10^-5);但按设计对 Scope 类无效,且对 Argument 类没有显著降低(p=1)——这是一个诚实的负结果,原因是这两类的偏差不会改变任何被记录的派发字段,错位发生在比"仅校验字段"的验证器所能观测的层级更低一层。论文最后讨论了只在工具调用边界做绑定校验的防御方案的固有局限。
💡 推荐理由: 许多团队已把"用户批准一次、会话内复用"当作代理的安全边界,但本文证明审批与执行之间存在系统性、可复现的错位。只看工具调用边界的校验会给出虚假安全感,迫使防御者把一致性校验下沉到派发与身份绑定层。
🎯 建议动作: 研究跟进,并纳入内部 agent 安全评估与授权网关设计评审