O problema do confused deputy foi descrito em 1988. Um programa com mais privilégio que o solicitante é induzido a usar esse privilégio em nome de quem não o tem. Quase quarenta anos depois, agentes reencenam o padrão com uma diferença: agora o deputado interpreta linguagem natural.
Por que agentes são o deputado ideal
Três características se combinam mal:
- Privilégio ampliado. A service account do agente costuma reunir permissões de vários usuários.
- Instrução em linguagem natural. Não há sintaxe que separe pedido legítimo de pedido induzido.
- Ausência de verificação de origem. O agente não distingue quem pediu — o usuário, um documento lido, ou a descrição de uma ferramenta.
O padrão já aparece em CVE de produção: o CVE-2026-13341 descreve injeção indireta contra o servidor MCP do Kong Konnect levando à execução de requisições de API não pretendidas em nome de quem chamou. Não é laboratório.
O agente não foi enganado sobre o que fazer. Foi enganado sobre quem estava pedindo.
A correção clássica, adaptada
A solução para confused deputy nunca foi filtrar pedidos. Foi amarrar a autoridade ao solicitante — capacidades em vez de ambiente ambiente. Traduzido para agentes:
- Teto de delegação. A autorização efetiva é a interseção entre agente e delegante. Se o pedido veio de um documento, não existe delegante, e portanto o teto é o escopo mínimo.
- Token com audiência e escopo por tarefa, não credencial ambiente que qualquer caminho de código alcança.
- Proveniência no contexto. Marcar cada bloco de contexto com sua origem e usar isso na decisão de política.
Por que insistir na nomenclatura antiga
Porque reconhecer o padrão dá acesso a quarenta anos de soluções testadas. Tratar isso como “um problema novo de IA” joga fora esse acervo e leva a defesas improvisadas — tipicamente filtros de texto, que é exatamente a categoria de resposta que a literatura de 1988 já descartou.