摘要

《Authority Is Not a String》从可信输入推导任务级权限上限,并把带类型的 per-agent 能力存储在模型上下文之外;每个工具调用都对照「发起调用的 agent」的能力集检查,因此注入的指令至多执行该 agent 本来就被允许的事。在 Pi coding agent 上(300 次运行;5 任务 x 5 注入面 x 4 条件):注入效果在基线下执行了 75 次运行中的 33-47 次,CapScope 下为 3/75,而修复完成率保持在 68/75(基线 68-72/75)。

为什么重要
不需要模型识别恶意文本的注入防御:权限变成有类型、外置、在 harness 层强制执行的东西。对任何让工具型 agent 接触不可信内容的团队,这是可直接落地的模式——而且是有测量支撑的「安全不以能力为代价」的结果。
技术细节
ArXiv 2609.08371(9 月 9 日周三 digest,2026-09-10T00:00Z 宣告)
机制 从可信输入推导任务级权限上限;带类型的 per-agent 能力存于模型上下文之外;按调用发起者检查每个工具调用
结果 Pi coding agent,300 次运行(5 任务 x 5 注入面 x 4 条件):注入效果基线 33-47/75 vs CapScope 3/75;修复完成 68/75 vs 基线 68-72/75
代码 基于开源 Pi coding agent 实现;仓库未声明
标签
prompt-injectionagent-securitycapabilitiesharness