Demonstração prática de riscos de segurança e ataques no ecossistema MCP: da poluição de informações à ocultação de comandos maliciosos

robot
Geração de resumo em curso

Vulnerabilidades de segurança e demonstração de ataques no sistema MCP

MCP (Model Context Protocol) O sistema ainda está em estágios iniciais de desenvolvimento, o ambiente geral é relativamente caótico, e várias formas potenciais de ataque estão surgindo constantemente, tornando difícil para os protocolos e ferramentas existentes oferecerem uma defesa eficaz. Para ajudar a comunidade a entender melhor e melhorar a segurança do MCP, uma equipe de segurança abriu o código-fonte da ferramenta MasterMCP, com a esperança de que, através de simulações de ataques reais, ajudem os desenvolvedores a identificar prontamente as vulnerabilidades de segurança no design do produto, reforçando assim gradualmente o projeto MCP.

Este artigo irá demonstrar, através de operações práticas, várias formas comuns de ataque sob o sistema MCP, incluindo envenenamento de informações, instruções maliciosas ocultas e outros casos reais. Todos os scripts utilizados nas demonstrações também serão disponibilizados como código aberto, permitindo que os desenvolvedores 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 Ocultos no Sistema MCP

Visão Geral da Arquitetura

Demonstração de ataque alvo MC:Toolbox

Toolbox é uma ferramenta popular de gestão de MCP, com uma base de utilizadores considerável. A escolha do Toolbox como alvo de teste baseia-se principalmente nos seguintes pontos:

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

Demonstração de uso do MCP malicioso: MasterMCP

MasterMCP é uma ferramenta de simulação de MCP malicioso desenvolvida para testes de segurança, projetada com uma arquitetura de plugins, que inclui os seguintes módulos-chave:

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

    Através do framework FastAPI, é possível montar rapidamente um servidor HTTP simples, simulando um ambiente 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 API.

  2. Arquitetura MCP plugin local

    Utiliza um método de plugin para expansão, facilitando a adição rápida de novas formas de ataque no futuro. Após a execução, o MasterMCP irá executar o serviço FastAPI do módulo anterior em um subprocesso.

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

Cliente de Demonstração

  • Cursor: Uma das IDEs de programação assistida por IA mais populares do mundo.
  • Claude Desktop: Cliente oficial da Anthropic

modelo grande usado para demonstração

  • Claude 3.7

Invocação Maliciosa Cross-MCP

Esta demonstração contém dois conteúdos: envenenamento de informações e chamadas maliciosas Cross-MCP.

ataque de envenenamento de conteúdo da web

  1. Envenenamento do tipo comentário

O Cursor acede ao site de teste local, que parece ser uma página "Delicious Cake World" inofensiva. Após executar o comando, o Cursor não só leu o conteúdo da página, como também enviou dados de configuração sensíveis locais de volta ao servidor de teste. No código-fonte, as palavras-chave maliciosas estão inseridas na forma de comentários HTML.

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

  1. Injeção de comentários codificados

Visite a página /encode, esta página parece semelhante ao exemplo anterior, mas as palavras-chave maliciosas foram codificadas, tornando a injeção mais oculta. Mesmo ao acessar o código-fonte da página, é difícil perceber diretamente, mas o ataque ainda é executado com sucesso.

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

MCP ferramenta de retorno de informação envenenada

Após inserir o comando simulado de acordo com as instruções da palavra-chave do MasterMCP, o cliente fez uma chamada cruzada ao MCP e adicionou com sucesso um novo servidor MCP através do Toolbox. Ao verificar o código do plugin, pode-se observar que os dados retornados já continham uma carga maliciosa codificada, tornando quase impossível para o usuário detectar qualquer anomalia.

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

ataque de poluição de interface de terceiros

Esta demonstração serve principalmente para alertar que, quer se trate de MCP malicioso ou não, ao chamar APIs de terceiros, se os dados de terceiros forem retornados diretamente ao contexto, isso pode ter consequências graves. Palavras-chave maliciosas podem ser inseridas nos dados JSON retornados e acionadas com sucesso para uma execução maliciosa.

Pronto para a ação: Envenenamento oculto e manipulação no sistema MCP

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

Esta demonstração contém duas partes: injeção de palavras-chave iniciais e conflitos de nomes.

ataque de sobreposição de funções maliciosas

MasterMCP escreveu uma função remove_server com o mesmo nome que Toolbox, e codificou palavras-chave maliciosas ocultas. Após a execução do comando, o Claude Desktop não chamou o método original toolbox remove_server, mas sim acionou o método de mesmo nome fornecido por MasterMCP. O princípio é enfatizar que "o método original foi descontinuado", induzindo prioritariamente o grande modelo a chamar a função maliciosamente sobreposta.

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

Adicionar lógica de verificação global maliciosa

O MasterMCP escreveu uma ferramenta chamada banana, cuja função principal é forçar que todas as ferramentas executem essa ferramenta para uma verificação de segurança antes de serem executadas. Antes de cada execução de função, o sistema chamará prioritariamente o mecanismo de verificação banana. Isso é realizado através da injeção lógica global, enfatizando repetidamente no código que "deve-se executar a verificação banana".

Prática: Envenenamento e Controle Oculto 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 dos modelos de linguagem de grande escala em formatos multilíngues, isso tem sido utilizado para esconder informações maliciosas, sendo os 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

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

mecanismo de retorno de carga maliciosa aleatória

Quando a solicitação /random é feita, retorna sempre uma página com carga maliciosa de forma aleatória, aumentando significativamente a dificuldade de deteção e rastreamento.

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

Resumo

Através da demonstração prática do MasterMCP, vimos de forma intuitiva os vários riscos de segurança ocultos no sistema MCP. Desde a simples injeção de palavras-chave, chamadas entre MCPs, até ataques mais ocultos 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.

Uma pequena contaminação de entrada pode desencadear riscos de segurança em todo o sistema. E a diversidade dos métodos dos atacantes, como a codificação oculta (, contaminação aleatória e sobreposição de funções ), também significa que as abordagens tradicionais de proteção precisam de uma atualização abrangente.

A segurança nunca é alcançada de uma só vez. Tanto os desenvolvedores quanto os usuários devem manter uma vigilância adequada sobre o sistema MCP, prestando atenção a cada interação, cada linha de código e cada valor de retorno. Somente ao tratar cada detalhe com rigor é que se pode realmente construir um ambiente MCP sólido e seguro.

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

BANANA-5.68%
CROSS8.15%
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • 3
  • Partilhar
Comentar
0/400
WinterWarmthCatvip
· 5h atrás
É bastante perigoso, tenha cuidado.
Ver originalResponder0
MelonFieldvip
· 5h atrás
Por trás da vulnerabilidade está o risco
Ver originalResponder0
MEVHunterNoLossvip
· 5h atrás
é um ponto de risco potencial
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)