# 混淆代理

## 问题长什么样

共享盘时代，权限判定对着**提问的人**算：每个请求都按发起人算一次 ACL。

agent 接进来之后，判定的主体变成了**代理你的那个进程**——一个有高权限的 deputy，被一群低权限的人使唤。ACL 没消失，但它现在回答的是"这个 agent 能不能读"，而不是"问的人该不该读"。

你的权限被借出去了。这就是 confused deputy。

## 为什么它比"泄露"更麻烦

泄露是一次事件，可以事后追。混淆代理是**结构性**的：只要 agent 带着主人的身份跑，它就一直成立，而且从服务方看，所有请求都是同一个身份发的，**分不出是谁在用**。

## 它推翻了什么

推翻了"给 agent 写一句'除非本人问否则别说'"就行的直觉。那句话管的是意愿，混淆代理是能力问题。

## 缓解

见「权限与凭据」。要点只有一句：**该分的是身份，不是目录。**
