🛡️ 安全风险

混淆代理人问题(Confused Deputy)

别名:混淆代理人Confused Deputy困惑代理人令牌透传攻击代理权限滥用
分类🛡️ 安全风险
阅读时间⏱️ 15 分钟
更新时间📅 2026-10-05
条目编号ENC-SECURITY-17-confused-deputy
指拥有合法高权限的中间方(在智能体场景中通常是智能体本体或工具服务)被诱导以自身权限执行攻击者意图的攻击模式:受害系统的权限授予并没有错,错在无法区分请求的真正来源。

关键要点 ✦

概念起源与经典案例

混淆代理人问题的经典案例发生在 1980 年代的分时系统上:系统按用户计费,计费文件只允许编译器服务账号写入。某用户要求编译器把输出写入计费文件,编译器照办了——它拥有写权限,请求也来自合法用户会话,真正被绕过的是「谁在发起这次写操作」的来源判断。

Levy 在 1989 年的分析中把这个模式命名为 Confused Deputy:中间人(deputy)并不糊涂,糊涂的是它的授权模型——它只验证了请求形式合法,没有能力也没有机制去验证请求意图的归属。这一 30 多年前的教训,在智能体时代重新变得锋利。

智能体场景下的攻击形态

智能体天然是「权限放大器」:它同时持有用户的邮箱、日历、代码库、支付工具等凭证,并且被设计为接受外部内容作为输入。当外部内容中藏有提示注入指令时,攻击路径清晰可见——攻击者不直接持有任何凭证,只需让智能体读到一段恶意文本,就能借用智能体的全部合法权限完成读取、外发甚至支付操作。

多智能体链路进一步扩大攻击面:上游智能体的输出是下游智能体的输入,一条被污染的中间结论可以沿调用链传播,每经过一环就多借一层权限。此时的防御难点在于,链路中每一环的单点授权都可能完全合规。

MCP 令牌透传:一个被写进规范的案例

MCP 官方规范的安全最佳实践章节专门讨论了令牌透传问题:如果 MCP 服务器把客户端的 OAuth 令牌原样转发给下游 API,下游服务将无法区分「用户亲自操作」与「智能体代为操作」,静态的授权规则、细粒度的同意管理与全面的审计能力都会因此失效。规范建议 MCP 服务器获取自己独立的令牌,并对下游明确声明请求的代理身份。

同类风险也出现在浏览器代理、桌面自动化等场景:迁移到沙箱中的登录会话本身就是一个「活的凭证」,谁控制了目标环境,谁就能以用户身份行动。这也是相关产品在会话迁移环节普遍引入显式确认与密钥托管机制的原因。

防御模式:从收权到验源

混淆代理人的防御重心不在「把权限砍小」,而在「让每次权限使用都可归因」。工程上通常组合四类手段:一是受众受限令牌,令牌内绑定目标服务与用途,跨服务重放即失效;二是来源绑定,在协议层携带最终用户与发起智能体的双重身份;三是同意隔离,每个会话、每个目标的授权相互独立,防止一次同意被无限复用;四是审计链,把「谁的请求、经谁转发、执行了什么」完整落盘。

对智能体开发者而言,还有一条务实原则:把外部内容默认视为不可信输入,凡涉及高权限工具调用的决策,都应在模型与工具之间加一道策略校验,而不是让模型的一句输出直接换取一次真实世界的写操作。

🎯 应用场景

MCP 网关与工具网关设计
在智能体与下游服务之间设立网关,统一做令牌兑换、来源声明与策略校验,阻断透传链路。
智能体平台安全评审
把「请求来源是否可辨」列入评审清单,排查令牌复用、会话共享等混淆代理人风险点。
多智能体权限隔离
为链路中每环智能体分配独立身份与最小授权,避免一层凭证全链通行。
企业 SSO 集成方案
智能体接入企业身份体系时,明确区分用户会话与代理会话,保证审计可归因。

✅ 最佳实践

  • 禁止在服务间原样转发 OAuth 令牌;需要代理调用时改用目标明确、受众受限的独立令牌。
  • 敏感操作前校验请求来源:既验证发起智能体的身份,也验证其代表的最终权益人。
  • 对智能体的每次高权限工具调用保留不可篡改的审计记录,事后可完整还原决策链。
  • 把外部内容(网页、邮件、文档)一律视为不可信输入,高权限操作前置策略校验而非直接执行。

🔮 未来展望

随着智能体深度接入企业 SSO、多租户平台与支付链路,「请求来源可验证」正在从工程最佳实践上升为协议层标配:受众受限令牌、委托凭证与代理身份声明等机制已陆续进入各大协议草案。可以预期,混淆代理人问题将成为智能体安全评审的标准检查项,相关防御模式也将随协议演进持续细化。

📖 相关条目

🛠️ 相关产品

🏷️ 标签Confused Deputy混淆代理人令牌透传智能体安全MCP安全权限治理