← Todos os Posts

Servidores MCP são a nova superfície de ataque

From the guide: Claude Code Comprehensive Guide

O Model Context Protocol agora tem um banco de dados de segurança. Ele contém 50 registros.1

Trinta CVEs foram registrados em 60 dias. Entre 2.614 implementações MCP analisadas, 82% tinham vulnerabilidades em operações de arquivo suscetíveis a path traversal. Entre 38% e 41% dos servidores não tinham qualquer autenticação.2 A ferramenta oficial MCP Inspector — aquela que desenvolvedores usam para depurar servidores MCP — tinha uma vulnerabilidade de RCE. O pacote amplamente usado mcp-remote tinha um bug de injeção de comando no sistema operacional.1

Isso não é uma superfície de ataque teórica. São CVEs reais em pacotes reais que desenvolvedores reais estão conectando ao Claude Code, Codex CLI e Cursor agora mesmo.

TL;DR

Servidores MCP são a superfície de integração que mais cresce no ecossistema de agentes. Também são a menos auditada. O banco de dados de vulnerabilidades tem 50 registros: 13 Críticas, 32 Altas. Falhas de validação de entrada e prompt injection representam 30 das 50. Três vulnerabilidades SSRF em três servidores MCP diferentes apareceram em um único dia esta semana.3 O padrão é claro: a comunidade está publicando servidores MCP mais rápido do que está revisando.

Principais conclusões

  • Usuários do Claude Code: Cada servidor MCP que você conecta é um limite de confiança que você está estendendo. Execute claude mcp list agora mesmo e audite o que você tem conectado. Se você está rodando servidores MCP da comunidade que instalou há meses, verifique se foram corrigidos desde então.
  • Construtores de harness: Seus hooks PreToolUse são sua última linha de defesa antes que uma chamada de ferramenta MCP alcance um servidor não auditado. Considere hooks que validem entradas de ferramentas MCP antes da execução — especialmente para servidores que aceitam URLs, caminhos de arquivo ou comandos shell.
  • Autores de servidores MCP: A especificação MCP diz que “DEVERIA sempre haver um humano no loop.” Trate isso como DEVE. Valide todas as entradas. Nunca passe strings controladas pelo usuário para comandos shell via interpolação de string. Nunca confie em valores $ref em especificações OpenAPI sem validação de URL.

Os números

O projeto Vulnerable MCP mantém um banco de dados de problemas de segurança MCP documentados.1 O estado atual:

Categoria Quantidade
Validação de entrada (injeção, traversal) 17
Prompt injection / envenenamento de ferramenta 13
RCE / injeção de comando 12
Roubo de credenciais 8
DNS rebinding 6
Falhas de autenticação 5
SSRF 4

Severidade: 13 Críticas, 32 Altas, 5 Médias.1 Trinta e dois pesquisadores de segurança contribuíram com descobertas. Os servidores afetados incluem o próprio servidor Git MCP da Anthropic, o MCP Inspector oficial, Microsoft MarkItDown, GitHub Kanban, Figma, Jira, Grafana, Neo4j, Kubernetes e mais de 20 servidores construídos pela comunidade.1

A descoberta da pesquisa é a mais condenatória: 82% de 2.614 implementações MCP tinham vulnerabilidades em operações de arquivo suscetíveis a path traversal.2 Quatro em cada cinco servidores MCP permitem que um invasor leia arquivos aos quais não deveria ter acesso.

Cinco padrões de ataque

A onda de CVEs em 60 dias revelou cinco padrões recorrentes:2

1. Envenenamento de ferramenta. Instruções maliciosas embutidas nas descrições de ferramentas MCP. O agente lê a descrição, confia nela e segue as instruções ocultas usando suas próprias ferramentas autorizadas. A ferramenta envenenada nunca é executada — as ferramentas legítimas do agente executam o ataque. Abordamos esse padrão no paradoxo deploy-and-defend: a confiança é transitiva, a auditoria não é.

2. Prompt injection via dados externos. Servidores MCP que buscam conteúdo de issues do GitHub, mensagens do Slack, e-mails ou páginas web trazem texto controlado pelo invasor para o contexto do agente. A injeção não visa o servidor MCP — visa o agente que lê a saída do servidor. A superfície de ataque de exfiltração silenciosa é o caso geral; servidores MCP são o vetor mais comum.

3. Bypass de confiança após aprovação inicial. O Claude Code pede que você aprove um servidor MCP na primeira vez. Depois disso, as definições de ferramentas podem mudar entre sessões sem solicitar nova confirmação em todos os casos — um servidor que era seguro no momento da instalação pode se comportar de forma diferente após uma atualização. A lacuna de revalidação é estrutural: o protocolo não exige assinatura criptográfica das descrições de ferramentas.2

4. Comprometimento da cadeia de suprimentos. Servidores MCP com backdoor publicados em registros, incluindo pacotes que se passam por servidores legítimos. O mesmo padrão de cadeia de suprimentos que documentamos em a cadeia de suprimentos é a superfície de ataque, aplicado ao ecossistema MCP.

5. Exposição cross-tenant. Ambientes de hospedagem compartilhada onde múltiplos servidores MCP podem interceptar chamadas de função uns dos outros antes da execução.4 Limites de isolamento que parecem sólidos por fora se desfazem quando vários servidores compartilham um processo ou contêiner.

O padrão SSRF

Três vulnerabilidades SSRF em três servidores MCP diferentes apareceram em uma única varredura esta semana:3

  • n8n-mcp: SSRF autenticado via injeção de host da instância
  • mcp-from-openapi: SSRF via valores $ref em especificações OpenAPI — uma especificação maliciosa com URLs internas faz o servidor buscar esses recursos durante a inicialização
  • stata-mcp: Validação insuficiente de URLs fornecidas pelo usuário

SSRF em servidores MCP é particularmente perigoso porque o servidor normalmente tem acesso de rede que o agente não tem. Veja como uma única especificação OpenAPI maliciosa se transforma em roubo de credenciais:

Passo 1. Um invasor publica um servidor MCP de aparência legítima que encapsula uma API externa. O servidor usa mcp-from-openapi para gerar ferramentas a partir de uma especificação OpenAPI.

Passo 2. A especificação OpenAPI contém um $ref apontando para um endereço interno:

components:
  schemas:
    Config:
      $ref: "http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name"

Passo 3. Durante o initialize(), o servidor MCP resolve o $ref buscando a URL. O servidor roda na sua infraestrutura — dentro da sua VPC, no seu laptop, no seu contêiner de CI. A requisição vai para o endpoint de metadados da AWS a partir de uma fonte confiável.

Passo 4. O endpoint de metadados retorna credenciais IAM temporárias: chave de acesso, chave secreta, token de sessão.

Passo 5. O servidor agora tem suas credenciais de nuvem. Ele pode exfiltrá-las nas respostas das ferramentas, registrá-las em um endpoint externo ou usá-las diretamente.

O agente nunca fez nada malicioso. O usuário aprovou o servidor MCP. A especificação OpenAPI parecia normal. A resolução do $ref aconteceu no nível da biblioteca, abaixo de onde alguém revisaria. O SSRF converteu a posição de rede do servidor MCP na posição de rede do invasor.

A Microsoft corrigiu um SSRF crítico no Azure MCP (CVE-2026-26118) em março de 2026 — o mesmo padrão aplicado ao Azure: uma vulnerabilidade de elevação de privilégio de alta severidade que poderia roubar tokens de autenticação e conceder acesso não autorizado a recursos do Azure.5

O que fazer

Audite seus servidores conectados. Execute claude mcp list e revise cada servidor. Verifique cada um no banco de dados do projeto Vulnerable MCP.1 Remova servidores que você não está usando ativamente.

Fixe versões dos servidores. Se você instala servidores MCP do npm ou pip, fixe a versão. Não atualize automaticamente. Revise os changelogs antes de atualizar — o padrão de bypass de confiança significa que uma atualização pode mudar definições de ferramentas sem nova aprovação.

Adicione hooks de validação de entrada. Um hook PreToolUse em chamadas de ferramenta MCP pode validar entradas antes que cheguem ao servidor:

#!/bin/bash
# .claude/hooks/validate-mcp-input.sh
INPUT_JSON=$(cat)
TOOL_NAME=$(echo "$INPUT_JSON" | jq -r '.tool_name // empty')

# Block MCP tools that accept URLs from passing internal addresses
if echo "$TOOL_NAME" | grep -q "^mcp__"; then
  TOOL_INPUT=$(echo "$INPUT_JSON" | jq -r '.tool_input | tostring')
  if echo "$TOOL_INPUT" | grep -qiE '(169\.254\.|10\.|172\.(1[6-9]|2|3[01])\.|192\.168\.|localhost|127\.0\.0\.1|metadata\.google|169\.254\.169\.254)'; then
    echo "Blocked: MCP tool input contains internal/metadata address" >&2
    exit 2
  fi
fi
exit 0

Considere isolamento de transporte. Servidores MCP HTTP rodam em seu próprio processo com limites de rede explícitos. Servidores stdio compartilham o contexto de processo do agente. Nenhum dos transportes é inerentemente seguro — o fator mais relevante é se o servidor tem acesso a credenciais, redes internas ou caminhos de arquivo sensíveis. Escolha o transporte que ofereça os limites de isolamento que seu modelo de ameaças exige.

Acompanhe o banco de dados. O projeto Vulnerable MCP em vulnerablemcp.info é o mais próximo de um rastreador de CVEs para o ecossistema MCP. Consulte-o antes de instalar novos servidores.

O ecossistema MCP está crescendo rápido — mais de 3.000 servidores indexados e 100 milhões de downloads mensais.6 A postura de segurança não está acompanhando esse crescimento. Cinquenta vulnerabilidades em um banco de dados que não existia há um ano. O protocolo não é o problema. As implementações são.


Fontes

Perguntas frequentes

Os servidores MCP incluídos no Claude Code são afetados?

As vulnerabilidades afetam principalmente servidores MCP construídos pela comunidade e de terceiros, não a infraestrutura central de MCP do Claude Code. Porém, a ferramenta oficial MCP Inspector tinha uma vulnerabilidade de RCE, então “oficial” não significa “imune.”

Devo parar de usar servidores MCP?

Não. MCP é uma camada de integração poderosa. Contudo, trate cada servidor MCP como um limite de confiança. Audite o que você tem conectado, fixe versões e adicione hooks de validação de entrada para servidores que aceitam URLs, caminhos de arquivo ou comandos shell.

Como verifico se meus servidores MCP são vulneráveis?

Execute claude mcp list para ver seus servidores conectados. Compare cada um com o banco de dados do projeto Vulnerable MCP. Verifique o repositório GitHub do servidor para advisories de segurança recentes.


  1. The Vulnerable MCP Project. Banco de dados abrangente de segurança MCP. 50 vulnerabilidades documentadas, 13 críticas, 32 pesquisadores contribuintes. Cobre Anthropic, GitHub, Microsoft, Docker, Kubernetes e mais de 20 servidores da comunidade. 

  2. MCP Security 2026: 30 CVEs in 60 Days. Março de 2026. Mais de 30 CVEs entre janeiro e fevereiro de 2026. 82% de 2.614 implementações tinham path traversal. 38-41% não tinham autenticação. Exec/shell injection: 43% de todas as vulnerabilidades reportadas. 

  3. GitHub Security Advisories, 8 de abril de 2026: GHSA-4ggg-h7ph-26qr (n8n-mcp SSRF), GHSA-v6ph-xcq9-qxxj (mcp-from-openapi SSRF), GHSA-jpcj-7wfg-mqxv (stata-mcp validação). 

  4. MCP and Its Critical Vulnerabilities. Strobes, 2026. Cenários de ataque incluindo injeção via WhatsApp, ofuscação Unicode, interferência entre servidores e recomendações práticas de defesa. 

  5. Microsoft Patches Critical Azure MCP SSRF (CVE-2026-26118). Março de 2026. Elevação de privilégio de alta severidade via SSRF no Azure MCP Server Tools. 

  6. Ecossistema MCP. Mais de 3.000 servidores indexados, mais de 100 milhões de downloads mensais em março de 2026. 

Artigos relacionados

Project Glasswing: What Happens When a Model Is Too Good at Finding Bugs

Anthropic built a model that finds thousands of zero-days, then restricted it to 12 partners. What Project Glasswing mea…

6 min de leitura

When Your Agent Finds a Vulnerability

An Anthropic researcher found a 23-year-old Linux kernel vulnerability using Claude Code and a 10-line bash script. 22 F…

8 min de leitura

The Ralph Loop: How I Run Autonomous AI Agents Overnight

I built an autonomous agent system with stop hooks, spawn budgets, and filesystem memory. Here are the failures and what…

8 min de leitura