Representação visual de uma cadeia de suprimentos de software com ícones de cadeados abertos e fechados, simbolizando vulnerabilidades e segurança.

Alerta! MCP Repete Erro Crítico de Segurança do npm?

Por Miguel Viana • 3 min de leitura

Em 2018, o pacote event-stream do npm sofreu uma atualização maliciosa. Esse ataque visava uma carteira específica de Bitcoin, afetando milhões de downloads.

Agora, um problema similar, e talvez ainda mais rápido, parece estar se desenrolando no ecossistema MCP, como acompanhamos aqui no Brasil Vibe Coding.

Configurações Comuns e o Risco Oculto

Se você utiliza clientes MCP como Claude Desktop ou Cursor, suas configurações provavelmente contêm um padrão perigoso. O uso de npx com a flag -y significa "instalar sem perguntar".

Isso acarreta que nenhuma versão específica é fixada. Cada vez que seu agente é iniciado, ele automaticamente baixa a versão mais recente do pacote npm. Se esse pacote for comprometido, seu agente executará a versão vulnerável sem aviso prévio.

{
  "mcpServers": {
    "my-tool": {
      "command": "npx",
      "args": ["-y", "some-mcp-server"]
    }
  }
}

A situação é mais grave do que parece. Foram encontradas 502 configurações de servidor MCP agindo exatamente dessa forma em diversos registros monitorados.

A Análise da Aguara Watch Revela Falhas de Segurança

A plataforma Aguara Watch, que rastreia os principais registros MCP como skills.sh, ClawHub, PulseMCP, mcp.so, LobeHub e Smithery, fez uma descoberta alarmante. A ferramenta monitora mais de 42.000 ferramentas e aplica 148 regras de detecção com varreduras incrementais a cada 6 horas.

Os dados coletados mostram uma clara tendência de vulnerabilidade. Muitos sistemas estão expostos a ataques de cadeia de suprimentos de software.

O Problema da Falta de Fixação de Versão

O principal problema reside na ausência de fixação de versão (version pinning). Ao invés de especificar uma versão exata, como some-mcp-server@1.2.3, a maioria das configurações puxa a versão mais recente sem verificação.

// O que a maioria das configurações faz:
"args": ["-y", "some-mcp-server"]

// O que deveria ser feito:
"args": ["-y", "some-mcp-server@1.2.3"]

Essa prática permite que um pacote comprometido, um ataque de typosquatting (registrando nomes similares) ou um ataque de confusão de dependência passe despercebido. Enquanto o npm aprendeu essa lição anos atrás, o ecossistema MCP ainda não aplicou essa medida crucial de segurança.

"Nossa análise mostra que a comunidade MCP está trilhando um caminho perigoso ao negligenciar a fixação de versões. É um convite aberto para ataques de supply chain, que podem ter consequências devastadoras para a segurança dos usuários e a integridade dos dados."

— Especialista em segurança da Aguara Scan

Conclusão: Proteja seus Agentes MCP

É fundamental que desenvolvedores e usuários de agentes MCP revisem suas configurações. A implementação de fixação de versão não é apenas uma boa prática, mas uma medida essencial para a segurança de seus sistemas.

Manter a vigilância e aplicar as lições aprendidas em outras plataformas de pacotes é crucial. Continue acompanhando o Brasil Vibe Coding para mais novidades e dicas sobre segurança no desenvolvimento e uso de inteligência artificial.

Tags: Segurança Cibernética MCP Programação Supply Chain Attack Automação Inteligência Artificial

Perguntas Frequentes

Qual é o principal problema de segurança no ecossistema MCP?

O principal problema é a falta de fixação de versão (version pinning) ao instalar pacotes via npx com a flag -y, o que permite a instalação automática de versões potencialmente comprometidas sem aviso.

Como um pacote MCP pode ser comprometido?

Um pacote MCP pode ser comprometido através de atualizações maliciosas, ataques de typosquatting (pacotes com nomes similares) ou ataques de confusão de dependência.

Que ferramentas MCP foram mencionadas como potencialmente vulneráveis?

Clientes MCP como Claude Desktop e Cursor são mencionados, e a vulnerabilidade afeta configurações de servidores MCP em registros como skills.sh, ClawHub, PulseMCP, mcp.so, LobeHub e Smithery.

Quantas configurações MCP sem fixação de versão foram encontradas?

A Aguara Watch encontrou 502 configurações de servidor MCP que referenciam pacotes npx sem fixar uma versão específica.