Como os servidores MCP STDIO criam superfícies de ataque não gerenciadas - ataques à cadeia de suprimentos levando a RCE, o ataque "rug pull", e por que "local" não significa "seguro contra exfiltração de dados."
O protocolo MCP suporta dois mecanismos de transporte para conectar clientes de IA a servidores de ferramentas:
STDIO (Standard I/O) - o cliente de IA inicia um processo local na máquina do usuário. O cliente e o servidor se comunicam através dos pipes stdin/stdout do processo. O código do servidor executa localmente com todas as permissões do usuário, acesso ao sistema de arquivos e acesso à rede.
HTTP (Streamable HTTP / SSE) - o cliente de IA se conecta a um servidor remoto via HTTP. O servidor executa em infraestrutura gerenciada, e toda a comunicação passa pela rede onde pode ser observada, filtrada e controlada.
A maioria dos servidores MCP disponíveis hoje - instalados via npx ou uvx - usa o transporte STDIO. Isso tem implicações de segurança significativas.
O risco mais crítico dos servidores MCP STDIO é que instalar um equivale a conceder execução arbitrária de código na máquina do usuário. O modelo de execução npx / uvx é o anti-padrão "curl | bash" aplicado a ferramentas de IA:
Sem lockfile, sem verificação de hash, sem verificação de assinatura
Cada invocação pode silenciosamente baixar uma versão maliciosa recém-publicada
O processo iniciado tem acesso total ao sistema de arquivos, rede e ambiente
mcp-remote RCE (CVE-2025-6514) - Vulnerabilidade crítica CVSS 9.6 no pacote mcp-remote (437K+ downloads). Primeiro RCE completo documentado contra um cliente MCP.
Falha sistêmica do MCP (Abr 2026) - OX Security divulgou uma vulnerabilidade que permite RCE arbitrário em ~200K instâncias de servidores MCP. Anthropic recusou o patch, chamando de "comportamento esperado."
A grande maioria dos servidores MCP populares (GitHub, Slack, Notion, Linear, bancos de dados) são wrappers locais finos em torno de APIs HTTP remotas. Quando um desenvolvedor executa npx @modelcontextprotocol/server-github, ele inicia um processo local que:
Faz chamadas HTTPS de saída para a API do GitHub
Carrega um Personal Access Token em seu ambiente
Tem acesso total ao sistema de arquivos e rede
Produz tráfego indistinguível de qualquer outra requisição HTTPS
Da perspectiva de monitoramento de rede, "local" não significa seguro contra exfiltração de dados. O transporte STDIO descreve apenas como o cliente de IA se comunica com o processo - não diz nada sobre o que esse processo faz com a rede.
Da perspectiva de um líder de segurança, servidores MCP STDIO são ingovernáveis:
Capacidade
Servidores STDIO
Servidores HTTP gerenciados
Bloqueio em nível de rede
Impossível (HTTPS de saída)
Bloquear em proxy/firewall
Revogação de auth
Procurar credenciais em cada máquina
Instantâneo em IdP/gateway
Log de auditoria
Nenhum
Cada chamada de ferramenta registrada
DLP/inspeção de conteúdo
Impossível
O gateway inspeciona todo o tráfego
Controle de cadeia de suprimentos
Qualquer pacote npm executa
Registro verificado, versões fixas
Rotação de credenciais
Manual, por máquina
Automática, centralizada
Aplicação de políticas
Nenhuma
RBAC, limites de taxa, geo-restrições
Qualys nomeou esta classe de ameaça "MCP Servers: The New Shadow IT for AI" - funcionários instalando software não verificado com acesso privilegiado a APIs corporativas, completamente invisíveis para as equipes de segurança.
O Edison Watch se posiciona entre clientes de IA e servidores MCP como um gateway de segurança:
Fixação de dependências - bloqueia as versões dos pacotes de servidores MCP na primeira execução, prevenindo atualizações silenciosas da cadeia de suprimentos
Quarentena - novos servidores MCP são colocados em quarentena até que um administrador os aprove explicitamente
Motor de políticas - regras baseadas em CEL controlam quais dados podem fluir para onde, independentemente do transporte
Aplicação do Lethal Trifecta - bloqueia exfiltração ao detectar quando acesso a dados privados + conteúdo não confiável + comunicações externas convergem em uma única sessão
Log de auditoria - cada chamada de ferramenta é registrada com contexto completo para resposta a incidentes