Agent 委托即提权:工具白名单只挡一跳,约束别写在 prompt 里
anp2_protocol · reddit · 2026-08-26
作者指出一个 agent 安全盲区:如果一个 agent 能调用另一个 agent,它的真实能力集是所有可达 agent 的传递闭包,而工具白名单只审查了第一跳。
核心论点:
- 想跨跳存活的约束往往变成 prompt 文本("只碰租户 42"、"花费不超过 50 美元"),但下游的数据库和支付 API 根本不检查这些句子——建议被当成了权限。
- 委托式提权事后难以还原:子 agent 用自己的真实凭证做了它确实被授权的事,链条上每一跳都合法且无趣,没有任何日志记录"这一切可追溯到一个从未被授予该范围的 agent"。
廉价检查法:遍历工具白名单,问每个工具的另一侧是否是 agent。如果是,要么在 spawn 时铸造更窄的凭证让资源端强制约束,要么明说你的边界只有一跳深。
作者也承认反对意见成立:很多栈里子 agent 是同进程同凭证,区别不大;真正要命的是跨进程/组织边界的委托、能比父任务活得更久的子 agent,以及不可信输入操纵委托决策的场景。
「编程与Agent」频道最新
- Ollama v0.33 发布:一键接入 Claude Desktop — mchiang0610 · 2026-08-26
- Ollama 公布 Claude 集成细节:零数据留存 — ollama · 2026-08-26
- T3 Code 推出 Agent 与模型结合的选择器 — op7418 · 2026-08-26
- 用 Replit 发布首款 iOS App:开发者亲测全流程 — billyjhowell · 2026-08-26
- 让 Claude 搭建提示词模板系统批量生成 ComfyUI 工作流,5 分钟视频 2 小时重渲 — spikyness27 · 2026-08-26
- LangChain 创始人:Deepagents 正演变为多用户协作系统 — hwchase17 · 2026-08-26