Cibersegurança

Servidores MCP maliciosos dividem instruções para fazer agentes de codificação de IA exfiltrar segredos

Um servidor de ferramentas malicioso conectado a um assistente de codificação com IA pode levar embora, de forma silenciosa, chaves SSH, segredos de ambiente, código-fonte e dados de clientes sem jamais enviar uma única instrução claramente nociva. A técnica, batizada de GhostSplice, divide o pedido em fragmentos que parecem rotineiros e usa canais que o assistente já utiliza, fazendo o agente juntar as partes e devolver os dados ao atacante.


Swati Khandelwal Terça - 11 de Agosto de 2026 às 08:16
The Hacker News

Um servidor de ferramentas malicioso conectado a um assistente de codificação com inteligência artificial (IA) pode levar embora, de forma silenciosa, chaves SSH (chaves de acesso seguro a servidores), segredos de ambiente, código-fonte e dados de clientes sem jamais enviar uma única instrução claramente nociva.

O truque pode funcionar mesmo depois de uma versão direta do mesmo roubo ter sido recusada: basta dividir o pedido em fragmentos que pareçam rotineiros, colocá-los em canais que o assistente já utiliza e deixar o agente juntar as partes e devolver os dados.

O ataque mira ferramentas de codificação que se conectam a servidores externos por meio do Protocolo de Contexto de Modelo (MCP, na sigla em inglês), o padrão aberto que permite a assistentes de IA chamar ferramentas externas.

Um servidor MCP malicioso pode colocar um fragmento na descrição de uma ferramenta e outro no resultado dessa ferramenta; algumas configurações também aceitam amostragem iniciada pelo servidor. O próprio MCP preserva fronteiras estruturadas entre ferramentas e resultados. Mas os testes do ASSET Research Group mostram que os agentes ainda conseguem combinar instruções de ambos os lados no mesmo contexto de trabalho, de modo que nenhum fragmento isolado precisa conter o pedido malicioso inteiro.

O grupo batizou a técnica de GhostSplice. A divulgação descreve testes controlados em projetos isolados, semeados com credenciais falsas, e não uma intrusão real reportada, e informa que eventuais identificadores CVE (identificadores públicos de vulnerabilidades) serão publicados após uma divulgação coordenada. O The Hacker News não localizou nenhum CVE listado até 10 de agosto de 2026.

O resultado mais marcante não é um simples ranking de modelos. O mesmo modelo pode recusar a tarefa em um cliente de codificação e exfiltrar dados em outro, dependendo dos controles de segurança ao seu redor.

O ataque também tem um limite embutido. Ele não é uma forma de invadir um agente arbitrário a partir do exterior: parte do princípio de que o desenvolvedor já conectou o servidor MCP do atacante e de que o agente já consegue ler os arquivos que serão levados.

Na implementação de referência do grupo, um servidor anuncia uma ferramenta aparentemente inofensiva chamada integrity_checker, com quatro campos genéricos (de alfa a delta) e sem nenhum nome de arquivo sensível. Um resultado posterior, de varredura do projeto, fornece o mapeamento que faltava: preencher esses campos com o conteúdo dos arquivos .ssh/id_rsa, código-fonte proprietário, customers.csv e .env para uma suposta "verificação de hash no lado do servidor".

Lidos em separado, nenhum dos dois blocos contém o roubo completo. Lidos em conjunto, eles instruem o agente a coletar arquivos locais sensíveis e repassar seu conteúdo à ferramenta do atacante. O repositório público também traz uma variante canônica de três canais, que separa o inventário do projeto, o mapeamento arquivo-a-campo e a ferramenta de coleta em três interações distintas.

Quando o pedido foi dividido em duas partes, a taxa média de conformidade subiu de 42% para 82% entre onze modelos testados via API (interface de programação de aplicativos), relata a divulgação. A tabela mais ampla de resultados traz 15 linhas de modelos. GPT-4o, Gemini 2.0 Flash e Llama 3.3 70B saíram de 0% no teste em peça única para 100% quando divididos em duas partes. O Claude Haiku 4.5 permaneceu em 0% nos testes de API, mas chegou a 100% em um teste em três partes no Cursor. O GPT-5.4 foi reportado em 90% no Cursor e 100% via Codex CLI, enquanto o repositório informa que caiu para 0% atrás do Claude Code.

Os números de destaque exigem cautela. Claude Sonnet 4.6 e Opus 4.6 aparecem em 0% na tabela publicada, mas a equipe da ASSET afirma que o Sonnet chegou a enviar código-fonte proprietário contendo uma chave real embutida em um teste, ainda que tenha omitido os segredos mais óbvios. Esses números são resultados dos próprios pesquisadores. Não devem ser lidos como "não afetados" nem como taxas gerais de conformidade: cada um reflete a configuração específica testada.

O The Hacker News entrou em contato com o ASSET Research Group para obter mais detalhes sobre os testes e atualizará esta reportagem com qualquer resposta.

A isca mais simples também foi a mais difícil de questionar. Histórias elaboradas sobre conformidade ou governança davam ao modelo algo falso a ser questionado; um modelo simples de preencher lacunas, não. Para o modelo, diz o grupo, a tarefa é apenas "preencher o formulário que a ferramenta me pediu para preencher".

A defesa fica no lado do cliente. A especificação do MCP afirma que os clientes devem manter um humano capaz de negar invocações de ferramentas e tratar as anotações vindas de servidores não confiáveis como não confiáveis. A orientação atual da OpenAI também adverte que servidores MCP inseguros aumentam o risco de injeção de prompt e recomenda que as organizações avaliem integrações personalizadas e de terceiros.

A recomendação da ASSET vai além: tratar a saída do servidor como dado, e não como instrução, e não permitir que valores provenientes da saída de uma ferramenta fluam sem checagem para os argumentos de outra ferramenta.

O GhostSplice vem na esteira do Ghostcommit, divulgação de junho do mesmo laboratório, que escondia uma instrução dentro de um arquivo PNG referenciado por um arquivo de convenções do projeto e deixava um agente de codificação codificar segredos de .env no código-fonte como números inteiros. A mecânica é diferente, mas ambos apontam para o mesmo ponto fraco: a camada de segurança ao redor do modelo pode importar tanto quanto o modelo em si.

Cibersegurança Inteligência Artificial Protocolo MCP