Sitemap

Protocolos de Agentes de IA (A2A e MCP): Estudo Sobre Superfícies de Ataque e Boas Práticas de Segurança

11 min readJul 9, 2025
Press enter or click to view image in full size

A inteligência artificial (IA) continua a sua vertiginosa ascensão, impulsionando a demanda por sistemas de IA que não apenas operem de forma autônoma, mas que também colaborem e se comuniquem eficientemente em ecossistemas diversos. É neste contexto que emergem protocolos como o Agent2Agent (A2A) e o Model Context Protocol (MCP), prometendo redefinir a interação entre agentes de IA. No entanto, com tal poder e conectividade, surgem também novas e complexas preocupações de segurança que exigem a atenção da comunidade.

Este artigo eu busco explicar o que são o A2A e o MCP, traçar as suas distinções fundamentais e, crucialmente, mergulhar nas preocupações de segurança inerentes a estes protocolos, oferecendo recomendações embasadas nas melhores práticas e na própria documentação oficial do A2A e MCP.

O Que São o Protocolo Agent2Agent (A2A) e o Model Context Protocol (MCP)?

Para navegar pela complexidade da colaboração de IA, é essencial compreender a função e o escopo de dois protocolos distintos, mas complementares:

Protocolo Agent2Agent (A2A)

Conforme sua documentação oficial, o Protocolo Agent2Agent (A2A) é uma especificação aberta desenvolvida por Google e um consórcio de parceiros da indústria. Ele define um modelo estruturado de como dois agentes interagem diretamente. Sua essência reside em facilitar a interoperabilidade e a comunicação segura entre agentes de IA, independentemente de sua origem, plataforma ou framework subjacente. O A2A capacita agentes a:

  1. Descoberta: Encontrar e identificar outros agentes e suas capacidades.
  2. Comunicação: Trocar mensagens e informações de forma padronizada.
  3. Delegação: Atribuir tarefas e sub-tarefas a outros agentes.
  4. Coordenação: Orquestrar ações colaborativas para atingir objetivos complexos.

A comunicação A2A é construída sobre JSON-RPC 2.0 sobre HTTP(S), com suporte a Server-Sent Events (SSE) para atualizações em tempo real. A segurança é um pilar central, gerenciada através de OAuth 2.0, chaves de API e escopos declarativos, garantindo autenticação, autorização e a integridade das comunicações. A descoberta de agentes é enriquecida por “Agent Cards” (Cartões de Agente), metadados descritivos que anunciam as capacidades e o propósito de cada agente, permitindo que um agente “cliente” selecione e interaja com um agente “remoto”.

Model Context Protocol (MCP)

O Model Context Protocol (MCP), desenvolvido pela Anthropic, atende a uma necessidade diferente: como aplicações externas podem fornecer contexto estruturado e ferramentas dinâmicas para um agente baseado em modelo de linguagem em tempo de execução. Diferente do A2A, o MCP não foca na comunicação entre agentes, mas sim na gestão da janela de contexto, a memória de trabalho de um Large Language Model (LLM). Seu objetivo é injetar dinamicamente ferramentas (APIs, funções), documentos ou estados de usuário relevantes na sessão de inferência de um modelo, permitindo que o LLM chame funções ou recupere informações sem ter que codificar essas operações diretamente no prompt inicial. A segurança no MCP é primordialmente responsabilidade da camada de integração da aplicação que o utiliza.

A2A vs. MCP: Entendendo as Diferenças

Embora ambos sejam cruciais para a funcionalidade avançada dos agentes de IA, suas abordagens e escopos são distintos e complementares:

  • MCP (Model Context Protocol): Foca na gestão e no enriquecimento do contexto interno de um modelo ou agente de IA. Ele lida com a forma como um agente utiliza e mantém sua “memória” operacional, incluindo ferramentas e dados relevantes para o seu raciocínio. A ênfase é na integridade e na relevância das informações que o modelo acessa e processa internamente.
  • A2A (Agent2Agent Protocol): Foca na interoperabilidade e colaboração externa entre agentes de IA de diferentes domínios, organizações ou proprietários. Ele estabelece como agentes se autenticam, autorizam, descobrem capacidades e trocam mensagens para delegar e coordenar tarefas entre si. A ênfase é na confiabilidade e segurança das interações através das fronteiras dos sistemas de agentes.

Em resumo: O MCP otimiza a inteligência e o estado interno de um agente, enquanto o A2A permite que essa inteligência seja compartilhada e utilizada em um ecossistema distribuído de agentes, seguindo um modelo de comunicação padronizado. Um agente pode, por exemplo, usar o MCP para gerenciar seu próprio contexto (suas ferramentas e dados internos) e, em seguida, usar o A2A para interagir com outros agentes que também gerenciam seus próprios contextos via MCP.

Preocupações de Segurança

Apesar de seu potencial revolucionário, tanto o A2A quanto o MCP introduzem novos e significativos desafios de segurança que exigem uma atenção meticulosa da comunidade.

Preocupações de Segurança do Protocolo A2A

A documentação oficial do A2A aborda a segurança como um pilar, utilizando OAuth 2.0 e JWTs. No entanto, a implementação segura desses padrões em um ambiente multi-agente ainda apresenta riscos:

  1. Manipulação e Exposição de Dados Sensíveis:
  • Tokens com Vida Útil Indefinida/Longa: Embora OAuth 2.0 seja robusto, a ausência de expirações estritas para access tokens em transações sensíveis pode tornar tokens vazados válidos por longos períodos, aumentando o risco de uso indevido e acesso não autorizado a recursos.
  • Proteção Insuficiente para Cargas Sensíveis: Dados críticos (ex., financeiros, de saúde) podem não ter salvaguardas adicionais além da criptografia de transporte e expiração genérica de tokens, tornando-os vulneráveis se o token for comprometido.

2. Ataques de Impersonação e Descoberta de Agentes Maliciosos:

  • “Agent in the Middle” (Agente no Meio): Um agente comprometido pode se anunciar com capacidades exageradas ou fraudulentas via “Agent Card”, interceptando dados ou retornando resultados falsos. Isso pode levar a um agente “vencendo” tarefas e obtendo acesso indevido a dados.
  • Descoberta Maliciosa de Ferramentas e Agentes: Atacantes podem escanear os mecanismos de descoberta do A2A para identificar agentes e, subsequentemente, explorar vulnerabilidades em suas funcionalidades. O “tool squatting” (registro malicioso de ferramentas falsas) em um diretório de agentes é uma ameaça real.
  • Agentes “Stealers” de Informações: Agentes maliciosos podem se disfarçar como “ajudantes” confiáveis para coletar informações críticas ou sensíveis.
  • Ataques de Naming/Typo Squatting: A criação de Agent Cards que imitam nomes de agentes legítimos (ex., finance-reporting-agent.com vs. finance-rep0rting-agent.com).

3. Vulnerabilidades em Autenticação e Autorização:

  • Tokens JWT Forjados ou Roubados: O roubo ou a falsificação de JSON Web Tokens (JWTs) pode conceder acesso não autorizado a tarefas A2A ou a informações sensíveis dos Agent Cards.
  • Validação Fraca de JWT: Falhas na validação de JWTs (e.g., ignorar assinaturas, verificar emissores/públicos incorretamente, não validar aud (audiência) ou iss (emissor)) são portas abertas para ataques.
  • Ataques de Replay: A reutilização de tokens válidos, mesmo que por um curto período, pode levar a acessos não autorizados.
  • Complexidade de Implementação Segura: A sofisticação dos mecanismos de segurança do A2A, embora robusta em teoria, pode levar a implementações falhas devido à dificuldade ou a configurações de segurança sub-ótimas.

4. Propagação de Instruções e Contexto Maliciosos (Intersecção com MCP):

  • Injeção de Prompt (via A2A para MCP): A dificuldade em um modelo de IA de separar entradas confiáveis de não confiáveis pode permitir que instruções maliciosas recebidas via A2A influenciem o prompt do sistema interno de um agente (gerenciado via MCP), levando a comportamentos indesejados.
  • Envenenamento de Contexto/Dados: Um agente malicioso pode injetar contexto enganoso no espaço de trabalho de outro agente (alterando seu estado via MCP), fazendo com que os modelos ajam com suposições incorretas ou gerem saídas prejudiciais.

5. Governança e Confiança em Escala:

  • Governança de Agent Cards: A gestão em larga escala de um diretório público de Agent Cards exige mecanismos robustos para prevenir o registro de entradas maliciosas ou desatualizadas.
  • Falta de Mecanismos de Confiança Inerentes: Os protocolos atuais podem não ter métodos embutidos para estabelecer confiança mútua com parceiros A2A e, por extensão, com as ferramentas ou modelos que esses parceiros utilizam.

6. Vulnerabilidades de Implementação e Interoperabilidade:

  • Inconsistências no Tratamento de HTTP: Diferenças nas implementações de cabeçalhos HTTP, esquemas de autenticação e tratamento de códigos de status HTTP entre agentes podem levar a falhas de comunicação e oportunidades de ataque.
  • Integrações Frágeis e Sobrecarga Operacional: A ausência de um mecanismo robusto para desacoplar agentes pode gerar problemas complexos de integração (N-quadrado de conexões) e aumentar a sobrecarga operacional.

Preocupações de Segurança do Model Context Protocol (MCP)

Como o MCP atua como uma ponte para o contexto e as ferramentas de um modelo, ele se torna um alvo de alto valor e um novo vetor de ataque:

  1. Ataques de Injeção e Envenenamento:
  • Prompt Injection via Ferramentas: Atacantes podem inserir instruções ocultas ou maliciosas em descrições de ferramentas ou dados que são injetados no contexto do modelo via MCP.
  • Context Poisoning: A manipulação do contexto do modelo por uma fonte externa pode levar o modelo a tomar decisões incorretas ou a exfiltrar dados sensíveis.

2. Vulnerabilidades de Autenticação e Autorização:

  • “Confused Deputy Problem”: Se um servidor MCP executa ações em nome de um usuário sem a devida validação, pode haver escalada de privilégios, onde o usuário obtém acesso a recursos que deveriam ser restritos.
  • Armazenamento de Tokens: Servidores MCP frequentemente armazenam tokens de autenticação para múltiplos serviços (ex: Gmail, Google Drive). Um comprometimento do servidor MCP pode resultar em roubo de tokens e tomada de controle de múltiplas contas ou serviços integrados.
  • Permissões Excessivas: Servidores MCP podem solicitar escopos de permissão muito amplos, criando riscos significativos de privacidade e segurança.

3. Vulnerabilidades de Implementação do Servidor MCP:

  • Injeção de Comando: Muitos servidores MCP podem ter falhas de segurança básicas que permitem injeção de comandos, especialmente se houver acesso direto ao shell.
  • Path Traversal: A invocação de ferramentas com parâmetros que permitem acesso a arquivos fora do diretório permitido (ex: ../../../secret.txt).
  • Falta de Validação de Entrada/Saída: Entradas e saídas de ferramentas via MCP podem não ser devidamente validadas ou sanitizadas, permitindo que dados maliciosos influenciem o modelo ou levem a ações indesejadas.
  • Fadiga de Consentimento do Usuário: Se a UI do host do MCP solicita consentimento para cada ação da ferramenta, os usuários podem clicar em “Permitir” habitualmente, permitindo execuções maliciosas.

4. Ataques de Chaining e Confiança:

  • Composability Chaining: Atacantes podem configurar servidores MCP maliciosos em cadeia, onde um servidor “confiável” encaminha dados para um servidor “malicioso”.
  • Spoofing de Servidor: Agentes ou usuários podem se conectar a servidores MCP falsos que anunciam ferramentas maliciosas.

5. Visibilidade e Auditoria Limitadas:

  • Falta de Logging: A ausência de logging detalhado de invocações de ferramentas e interações pode dificultar a detecção e resposta a incidentes.
  • “Shadow Access”: À medida que as equipes conectam MCPs a mais fontes, pode-se criar uma malha não documentada e desconhecida de caminhos de acesso.

Recomendações de Segurança

Para que A2A e MCP atinjam seu potencial de forma segura, a comunidade de segurança de IA e os desenvolvedores devem adotar algumas boas práticas:

Recomendações para o Protocolo A2A

  1. Gerenciamento Robusto de Tokens e Credenciais:
  • Vida Útil Curta e Estrita para Tokens: A documentação do A2A já enfatiza o uso de tokens de curta duração. É crucial implementar e impor durações de expiração extremamente curtas (segundos a minutos) para access tokens, especialmente para transações de alta sensibilidade, exigindo reautenticação ou renovação segura para ações subsequentes. Considerar tokens de uso único para operações críticas.
  • Mecanismos de Revogação Imediata: Desenvolver e testar sistemas que permitam a revogação instantânea de tokens comprometidos.
  • Autenticação Multifator (MFA): Sempre que possível, exigir MFA para acesso a agentes e recursos sensíveis.
  • Geração Dinâmica e Rotação Periódica de Credenciais: Evitar credenciais estáticas e favorecer aquelas geradas dinamicamente e que são rotacionadas regularmente. Credenciais de alto privilégio devem ser armazenadas em módulos de segurança de hardware (HSMs) ou serviços de gerenciamento de chaves seguros.
  • Escopos de Token Granulares: Estender os escopos OAuth 2.0 para definir permissões precisas e mínimas (e.g., “pagamento de $1000 ao Hotel X”, “acesso apenas à disponibilidade do calendário”, em vez de “pagamento” ou “calendário” genéricos).

2. Fortalecimento da Descoberta e Verificação de Agentes:

  • Registros de Agentes Confiáveis: Utilizar diretórios de agentes curados, federados ou privados, onde a identidade e as capacidades são verificadas e atestadas antes da listagem.
  • Verificação de Identidade Criptográfica Forte: Implementar mecanismos robustos para verificar a identidade de um agente antes de estabelecer comunicação, utilizando Identificadores Descentralizados (DIDs), credenciais verificáveis e autenticação mútua (mTLS) para todas as comunicações A2A, conforme a documentação sugere para a segurança da camada de transporte.
  • “Certificate Transparency” para Agent Cards: Adotar sistemas de transparência para Agent Cards, tornando mais difícil o registro de agentes maliciosos e facilitando a detecção de anomalias.
  • Monitoramento de Nomes Similares: Implementar defesas contra typosquatting e nomes de agentes semelhantes em diretórios.

3. Segurança Abrangente de Dados:

  • Criptografia de Ponta a Ponta (E2EE): Além do HTTPS/TLS (que o A2A utiliza), aplicar criptografia adicional para dados sensíveis em repouso e em trânsito dentro das mensagens A2A, garantindo que apenas os agentes autorizados possam descriptografar.
  • Gerenciamento de Chaves Efêmeras: Utilizar chaves de criptografia temporárias e únicas para cada sessão de comunicação.
  • Consideração de Criptografia Resistente a Quantum: Começar a planejar e testar a adoção de algoritmos criptográficos resistentes a ataques de computadores quânticos para proteção futura.

4. Defesas Ativas contra Injeção e Envenenamento (Intersecção A2A-MCP):

  • Validação e Sanitização Rigorosas: Validar e limpar todas as entradas e contextos compartilhados entre agentes para remover dados maliciosos antes que afetem o contexto interno (MCP) do agente receptor.
  • Princípio do Mínimo Privilégio: Garantir que os agentes tenham acesso e compartilhem apenas o mínimo de informações e permissões estritamente necessárias para suas tarefas.
  • Isolamento de Agentes e Sandboxing: Implementar isolamento robusto entre agentes para limitar a propagação de comprometimentos e proteger o estado interno (MCP) de outros agentes. Aplicar limites de recursos para ferramentas de execução de código e sandboxing para funções.

5. Modelo de Confiança Dinâmico:

  • Sistemas de Pontuação de Reputação: Desenvolver e implementar sistemas que avaliam a reputação dos agentes com base em seu histórico de comportamento, conformidade de segurança e resultados.
  • Avaliação de Confiança em Tempo Real: Implementar algoritmos que avaliam continuamente o nível de confiança nos agentes durante as interações.

Recomendações para o Model Context Protocol (MCP)

  1. Autenticação e Autorização Fortes:
  • Autenticação e Autorização Explícitas e Escopadas: Servidores MCP devem verificar a identidade do cliente e do servidor. Utilizar API keys, tokens ou certificados mTLS específicos para conexões MCP. As ações do servidor MCP devem ser executadas em nome do usuário e com permissões explícitas e mínimas (Princípio do Mínimo Privilégio).
  • Consentimento do Usuário Granular: Se a UI solicita consentimento para ações de ferramentas, este deve ser claro, conciso e para cada ação sensível, evitando a “fadiga de consentimento”.
  • Armazenamento Seguro de Credenciais: Tokens de autenticação para serviços externos armazenados em servidores MCP devem ser criptografados em repouso e protegidos com rigor. Usar HSMs ou serviços de gerenciamento de chaves seguros.

2. Validação e Sanitização de Entradas/Saídas:

  • Validação Rigorosa de Entrada: Quando a IA invoca uma ferramenta via MCP, o servidor deve verificar rigorosamente os parâmetros da requisição. Rejeitar ou sanitizar comandos inesperados ou entradas maliciosas (ex: caminhos de arquivo que tentam escapar de um diretório restrito).
  • Sanitização de Saída: Sanitizar qualquer dado retornado pelo servidor MCP à IA para remover conteúdo que possa confundir ou explorar o modelo (output sanitization).
  • Design Cuidadoso do Prompt: Projetar prompts de forma que sejam menos suscetíveis a ataques adversariais, utilizando técnicas como “prefixo inquebrável” ou separação clara de instruções.

3. Segurança de Ferramentas e Contexto:

  • Vetting Rigoroso de Servidores MCP e Ferramentas: Realizar análises de segurança e certificações rigorosas de servidores MCP e ferramentas antes da integração.
  • Visibilidade de Descrições de Ferramentas: Exibir claramente as descrições completas das ferramentas e seus escopos para os usuários finais, destacando quaisquer instruções embutidas.
  • Filtragem Automatizada: Implementar filtros automatizados para detectar e neutralizar comandos ocultos ou injeções de prompt em descrições de ferramentas ou dados contextuais.
  • Fontes de Templates Confiáveis: Usar templates de prompt e descrições de ferramentas apenas de provedores verificados e confiáveis.

4. Monitoramento e Auditoria:

  • Logging Abrangente: Registrar quem/o que invocou uma ferramenta, qual ferramenta foi utilizada, com quais parâmetros e qual resultado foi retornado. Esses logs devem ser armazenados de forma segura e integrados aos sistemas de monitoramento de segurança e SIEM.
  • Monitoramento em Tempo Real: Implementar sistemas de monitoramento que detectam anomalias e atividades suspeitas imediatamente, como invocações de ferramentas fora do padrão.
  • Inclusão em Threat Modeling e Pentests: Tratar o MCP como uma parte crítica da superfície de ataque e incluí-lo em todos os modelos de ameaça e testes de penetração regulares.

Conclusão

O Protocolo Agent2Agent (A2A), com sua base sólida de interoperabilidade e o Model Context Protocol (MCP), que aprimora a inteligência interna dos agentes, representam um salto qualitativo na colaboração e na capacidade dos sistemas de IA. Enquanto o MCP cuida da inteligência e do estado interno de cada agente, o A2A permite que essa inteligência seja compartilhada e utilizada em um ecossistema distribuído de agentes, seguindo um modelo de comunicação padronizado.

No entanto, para que essa promessa se realize de forma segura, a atenção à segurança não pode ser deixado para depois, mas sim um princípio de design. Ao abordar proativamente as preocupações de segurança e implementar as boas práticas, a comunidade de segurança pode garantir que A2A e MCP sejam pilares de inovação, confiabilidade e segurança na paisagem em constante evolução da inteligência artificial. A colaboração segura entre agentes não é apenas uma conveniência, é uma necessidade para o futuro da IA.

--

--

Fernando Silva
Fernando Silva

Written by Fernando Silva

Application Security Engineer | OWASP Chapter Leader | AppSec | MSc CyberSecurity | Systems Development Analyst

No responses yet