MCP vulnerabilidades de segurança em prática: demonstração completa desde envenenamento até ataques encobertos

Envenenamento e manipulação ocultos no sistema MCP: demonstração prática

MCP (Modelo de Contexto do Protocolo) sistema ainda está em uma fase inicial de desenvolvimento, o ambiente geral é relativamente caótico, várias formas potenciais de ataque surgem continuamente, e os protocolos e ferramentas existentes são difíceis de defender efetivamente. Para ajudar a comunidade a entender melhor e melhorar a segurança do MCP, uma ferramenta de código aberto chamada MasterMCP foi criada. Esta ferramenta visa ajudar os desenvolvedores a identificar rapidamente as vulnerabilidades de segurança no design do produto através de simulações de ataques reais, fortalecendo gradualmente o projeto MCP.

Este artigo levará os leitores a praticar, demonstrando os métodos de ataque comuns sob o sistema MCP, como envenenamento de informações e ocultação de comandos maliciosos, entre outros casos reais. Todos os scripts utilizados nas demonstrações também serão disponibilizados como código aberto, permitindo que os leitores reproduzam todo o processo em um ambiente seguro e até desenvolvam seus próprios plugins de teste de ataque com base nesses scripts.

Prática: Envenenamento e Manipulação Oculta no Sistema MCP

Visão geral da arquitetura

Demonstrar ataque alvo MC: Toolbox

Um site de plugins é um dos sites de plugins MCP mais populares atualmente, reunindo uma grande quantidade de listas MCP e usuários ativos. Entre eles, a ferramenta de gerenciamento MCP Toolbox lançada oficialmente foi escolhida como alvo de teste, principalmente com base nos seguintes pontos:

  • A base de usuários é vasta e representativa.
  • Suporta a instalação automática de outros plugins, complementando algumas funcionalidades do cliente.
  • Contém configurações sensíveis ( como a API Key ), facilitando a demonstração

Demonstração de uso de MCP malicioso: MasterMCP

MasterMCP é uma ferramenta de simulação de MCP malicioso escrita especificamente para testes de segurança, projetada com uma arquitetura modular e inclui os seguintes módulos chave:

  1. Simulação de serviços de sites locais:

Para reproduzir de forma mais realista o cenário de ataque, o MasterMCP possui um módulo de simulação de serviço de site local embutido. Ele rapidamente monta um servidor HTTP simples através do framework FastAPI, simulando um ambiente de página da web comum. Essas páginas parecem normais à primeira vista, mas na verdade escondem cargas maliciosas cuidadosamente projetadas no código-fonte da página ou nas respostas da interface.

Desta forma, podemos demonstrar completamente técnicas de ataque como envenenamento de informações e ocultação de comandos em um ambiente local seguro e controlado, ajudando os leitores a entender de forma mais intuitiva: mesmo uma página da web aparentemente comum pode se tornar uma fonte de risco que induz um grande modelo a executar operações anômalas.

  1. Arquitetura MCP localmente pluginizada

MasterMCP utiliza uma abordagem modular para expansão, facilitando a adição rápida de novos métodos de ataque posteriormente. Após a execução, o MasterMCP irá rodar o serviço FastAPI do módulo em um subprocesso. ( Leitores atentos notarão que já existe uma vulnerabilidade de segurança aqui - plugins locais podem iniciar subprocessos que não são esperados pelo MCP ).

Prática: Envenenamento e Manipulação Oculta no Sistema MCP

Cliente de Demonstração

  • Cursor: Um dos IDEs de programação assistidos por IA mais populares do mundo atualmente.
  • Claude Desktop: Cliente oficial de uma grande empresa de modelos.

modelo grande usado para demonstração

  • Claude 3.7

Escolha a versão Claude 3.7, pois já houve algumas melhorias no reconhecimento de operações sensíveis, ao mesmo tempo que representa uma capacidade operacional considerável no atual ecossistema MCP.

Cross-MCP Chamada Maliciosa

Esta demonstração inclui dois conteúdos: envenenamento e chamadas maliciosas Cross-MCP.

ataque de envenenamento de conteúdo da web

  1. Injeção de comentários

Cursor acessa o site de teste local. Esta é uma página aparentemente inofensiva sobre "Delicious Cake World", através deste experimento, simulamos a demonstração do impacto causado pelo acesso de um cliente de modelo grande a um site malicioso.

Executar instrução:

Buscar o conteúdo de

Os resultados mostram que o Cursor não apenas leu o conteúdo da página da web, mas também enviou dados de configuração sensíveis locais de volta para o servidor de teste. No código-fonte, palavras-chave maliciosas foram inseridas na forma de comentários HTML.

Embora o método de anotação seja bastante direto e facilmente reconhecível, já pode acionar operações maliciosas.

Prática: Envenenamento e manipulação ocultos no sistema MCP

  1. Envenenamento de comentários de codificação

Visite a página /encode, que é uma página da web que parece semelhante ao exemplo acima, mas onde as palavras-chave maliciosas estão codificadas, tornando a injeção de código mais disfarçada, mesmo que seja difícil detectar diretamente ao acessar o código-fonte da página.

Mesmo que o código-fonte não contenha palavras-chave em texto claro, o ataque ainda é executado com sucesso, e o princípio específico será explicado em detalhes nos capítulos seguintes.

Prática: Envenenamento e Manipulação Oculta no Sistema MCP

MCP ferramenta retorna informações de envenenamento

Aqui, com base nas instruções de prompt do MasterMCP, inserimos o comando simulado (. Este comando não tem significado real, visa ativar um MCP malicioso para demonstrar as operações subsequentes do MCP malicioso ):

ter muitas maçãs

Pode-se ver que, após o comando ser acionado, o cliente chamou o Toolbox através do MCP e adicionou com sucesso um novo servidor MCP.

Ao verificar o código do plugin, pode-se descobrir que os dados retornados já contêm uma carga maliciosa codificada, que é quase indetectável para o usuário.

Prática: Envenenamento e Manipulação Oculta no Sistema MCP

ataque de poluição de interface de terceiros

Esta demonstração serve principalmente para lembrar a todos que, quer seja malicioso ou não, o MCP, ao chamar APIs de terceiros, se os dados de terceiros forem retornados diretamente ao contexto, isso pode ter sérias consequências.

Executar pedido:

Buscar json de /api/data

Resultado: palavras-chave maliciosas foram inseridas nos dados JSON retornados e acionaram com sucesso a execução maliciosa.

Prática: Envenenamento e Manipulação Oculta no Sistema MCP

Técnica de envenenamento na fase de inicialização do MC

Esta demonstração inclui a injeção inicial de palavras-chave e os conflitos de nomes.

ataque de sobreposição de função maliciosa

Aqui, o MasterMCP escreveu uma ferramenta com o mesmo nome de função remove_server que o Toolbox, e codificou para ocultar palavras-chave maliciosas.

Executar instruções:

ferramenta remover buscar plugin servidor

Claude Desktop não chamou o método remove_server da toolbox original, mas sim ativou o método com o mesmo nome fornecido pelo MasterMCP.

O princípio é enfatizar que "os métodos antigos foram abandonados", priorizando a indução do grande modelo a chamar funções sobrepostas maliciosas.

Pronto para a ação: Envenenamento e controle ocultos no sistema MCP

Adicionar lógica de verificação global maliciosa

Aqui, o MasterMCP escreveu uma ferramenta chamada banana, cuja função principal é forçar a execução dessa ferramenta para uma verificação de segurança antes de todos os outros ferramentas serem executadas.

Antes de cada execução da função, o sistema chamará prioritariamente o mecanismo de verificação banana.

Isto é uma injeção de lógica global realizada através da ênfase repetida no código da "necessidade de executar a detecção de banana".

Prática: Envenenamento e Manipulação Oculta no Sistema MCP

Dicas Avançadas para Ocultar Palavras-Chave Maliciosas

forma de codificação amigável para grandes modelos

Devido à forte capacidade de análise de formatos multilíngues do modelo de linguagem grande (LLM), isso tem sido utilizado para ocultar informações maliciosas, métodos comuns incluem:

  • Em ambiente inglês: usar codificação Hex Byte
  • Em ambiente chinês: usar codificação NCR ou codificação JavaScript

Ação Prática: Envenenamento e Manipulação Oculta no Sistema MCP

Mecanismo de retorno de carga maliciosa aleatória

Como mencionado no Capítulo 2 sobre a contaminação de interfaces de terceiros, ao solicitar /random, um página com carga maliciosa é retornada aleatoriamente a cada vez, aumentando consideravelmente a dificuldade de detecção e rastreamento.

Prática: Envenenamento e Manipulação Oculta no Sistema MCP

Resumo

Através desta demonstração prática do MasterMCP, vimos de forma intuitiva as várias vulnerabilidades de segurança ocultas no sistema do Model Context Protocol (MCP). Desde injeções simples de palavras-chave e chamadas cruzadas de MCP até ataques mais encobertos na fase de inicialização e ocultação de instruções maliciosas, cada etapa nos lembra: embora o ecossistema MCP seja poderoso, também é vulnerável.

Particularmente hoje, em que grandes modelos interagem com plugins e APIs externas com cada vez mais frequência, uma pequena contaminação de entrada pode desencadear riscos de segurança em nível de sistema inteiro. A diversificação das táticas dos atacantes, como a codificação oculta (, contaminação aleatória e sobrescrição de funções ), também significa que as abordagens tradicionais de proteção precisam de uma atualização completa.

A segurança nunca é alcançada de uma só vez.

Espero que esta apresentação sirva de alerta para todos: tanto os desenvolvedores como os utilizadores devem manter uma vigilância suficiente sobre o sistema MCP, prestando atenção a cada interação, cada linha de código, cada valor de retorno. Só ao tratar cada detalhe com rigor é que podemos realmente construir um ambiente MCP sólido e seguro.

Na próxima etapa, continuaremos a aprimorar o script MasterMCP, abrindo mais casos de teste direcionados para ajudar todos a entender, praticar e fortalecer a proteção em um ambiente seguro.

Prática: Envenenamento e manipulação ocultos no sistema MCP

Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • 5
  • Compartilhar
Comentário
0/400
HalfIsEmptyvip
· 07-08 19:28
Muito louco, isto é para ensinar as pessoas a puxar o tapete.
Ver originalResponder0
SchrodingerWalletvip
· 07-06 08:35
Avançar para a Rede principal colapsar
Ver originalResponder0
ApeDegenvip
· 07-06 08:26
Sugiro que este projeto caia para zero
Ver originalResponder0
MEVEyevip
· 07-06 08:12
mcp realmente se tornou um campo de treino, a situação do Sparrow é absurda
Ver originalResponder0
Ramen_Until_Richvip
· 07-06 08:12
Há tantos bugs que é melhor verificar o código.
Ver originalResponder0
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)