Give Them an Inch and They Will Take a Mile:Understanding and Measuring Caller Identity Confusion in MCP-Based AI Systems

Este artigo revela que a falta de autenticação da identidade do chamador em sistemas baseados no Protocolo de Contexto de Modelo (MCP) cria vulnerabilidades críticas de segurança, permitindo que servidores confiem implicitamente em múltiplos chamadores após uma única autorização e expondo operações sensíveis a acessos não autorizados.

Yuhang Huang, Boyang Ma, Biwei Yan, Xuelong Dai, Yechao Zhang, Minghui Xu, Kaidi Xu, Yue Zhang

Publicado Tue, 10 Ma
📖 5 min de leitura🧠 Leitura aprofundada

Each language version is independently generated for its own context, not a direct translation.

Imagine que você construiu um robô assistente superinteligente (uma IA) que pode fazer coisas pelo seu computador, como ler seus arquivos, enviar e-mails ou até controlar a tela do seu monitor. Para que esse robô funcione, ele precisa de uma "ponte" ou um "tradutor" que conecte a mente da IA às ferramentas do seu computador. Essa ponte é chamada de MCP (Protocolo de Contexto do Modelo).

O problema que este artigo descobre é que essa ponte foi construída de uma maneira perigosa: ela não verifica quem está pedindo para fazer o que.

Aqui está a explicação simples, usando analogias do dia a dia:

1. O Problema: "Dê um polegada, eles tomam uma milha"

A frase do título significa: se você der uma pequena permissão a alguém, eles podem acabar usando isso para fazer coisas muito maiores do que você imaginou.

A Analogia do Chaveiro do Hotel:
Imagine que você é o gerente de um hotel (o Servidor MCP). Você tem um chaveiro mestre que abre todas as portas do hotel.

  • O Cenário Ideal: Quando um hóspede (o Agente de IA) chega, você verifica o ID dele, dá a chave do quarto dele e diz: "Só use esta chave no quarto 101".
  • O Cenário Real (descoberto no artigo): Você dá a chave mestre ao primeiro hóspede para ele abrir a porta da cozinha. O hóspede diz "Obrigado" e sai.
    • Acontece que o sistema do hotel não verifica quem está usando a chave depois disso.
    • Se um ladrão (um Agente Malicioso) aparecer na cozinha 10 minutos depois e disser "Abra a porta", o sistema, que já está "confiante" porque a chave foi usada antes, abre a porta do cofre, da sala do tesouro e do quarto do hóspede, sem perguntar quem é o ladrão.

O servidor MCP acredita que, uma vez que a "autorização" foi dada, ela vale para qualquer pessoa que venha usar o sistema depois, não importa quem seja.

2. O Que é "Confusão de Identidade do Chamador"?

Esse é o nome técnico do problema. Significa que o sistema esquece quem pediu a ação.

  • Como deveria ser: "O Sr. João pediu para abrir o arquivo X. Vamos verificar se o Sr. João tem permissão."
  • Como está sendo: "Alguém pediu para abrir o arquivo X. Como o sistema já foi autorizado antes, vamos abrir!"

Isso é perigoso porque a IA (o robô) pode ser enganada ou controlada por um hacker. O hacker não precisa roubar senhas; ele apenas precisa "falar a língua" do robô e pedir para fazer algo. Como o robô não pergunta "Quem é você?", ele faz o que é pedido usando as permissões que o dono legítimo deu anteriormente.

3. O Que os Pesquisadores Fizeram?

Eles criaram uma ferramenta chamada MCPAuthChecker (o "Detetive de Segurança").

  • O que o Detetive faz: Ele entra em milhares de servidores MCP (mais de 6.000!) e simula situações onde um estranho tenta usar as ferramentas.
  • O que ele descobriu:
    • 46% dos servidores são inseguros. Isso significa que quase metade deles deixam qualquer um usar as ferramentas se alguém já tiver autorizado uma vez.
    • Isso acontece em ferramentas de desenvolvedores, bancos de dados, e até em sistemas de nuvem.
    • Não importa se o projeto é famoso (tem muitas "estrelas" no GitHub) ou novo; o problema está em todos os lugares.

4. Exemplos Reais do Perigo (O que um hacker pode fazer?)

O artigo mostra três cenários assustadores que podem acontecer sem roubar senhas:

  1. Comando Remoto (RCE): Um hacker pode pedir para o servidor executar um comando no computador do usuário (como apagar arquivos ou instalar vírus), usando a permissão que o usuário legítimo deu para a IA.
  2. Controle de Tela e Mouse: Imagine um hacker controlando o mouse e o teclado do seu computador à distância, apenas pedindo para a IA "clicar aqui" ou "tirar uma foto da tela". O servidor MCP faz isso porque já foi autorizado a controlar o computador.
  3. Abuso de APIs: Se você autorizou a IA a acessar sua conta do Slack ou da AWS (nuvem), um hacker pode usar essa mesma autorização para ler seus e-mails corporativos ou gastar seu dinheiro na nuvem, sem que o sistema perceba que não é você quem está pedindo.

5. A Solução Proposta

Os autores dizem que precisamos mudar a mentalidade de segurança:

  • Não basta confiar no "sistema": O servidor não pode confiar cegamente no fato de que "algo foi autorizado antes".
  • Verificação por Ação: A cada vez que uma ferramenta é usada, o sistema deve perguntar: "Quem está pedindo isso agora? Essa pessoa específica tem permissão para fazer esta ação específica?"

Resumo Final

Este artigo é um alerta de que, ao conectar IAs poderosas ao nosso mundo real, estamos criando "portas traseiras" invisíveis. A segurança atual é como deixar a porta da frente aberta porque "o porteiro já deixou entrar o dono". O artigo mostra que, se um estranho passar pela porta aberta, ele pode entrar e fazer o que quiser. A solução é colocar um porteiro que verifica o ID de cada pessoa que chega, não apenas do primeiro visitante.