Demonstração prática de riscos de segurança do sistema MCP: da contaminação à manipulação oculta

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

MCP (Modelo de Contexto do Protocolo)O sistema está atualmente em uma fase inicial de desenvolvimento, com um ambiente geral bastante caótico, onde várias formas potenciais de ataque estão surgindo a todo momento, tornando difícil a defesa efetiva dos protocolos e ferramentas existentes. Para ajudar a comunidade a entender melhor e aprimorar a segurança do MCP, a Slow Mist lançou especialmente a ferramenta MasterMCP como código aberto, com a esperança de que, por meio de simulações de ataques reais, possam ser identificadas vulnerabilidades de segurança no design do produto, fortalecendo gradualmente o projeto MCP.

Este artigo irá conduzir todos a uma demonstração prática das formas comuns de ataque sob o sistema MCP, como envenenamento de informações, ocultação de instruções maliciosas e outros casos reais. Todos os scripts de demonstração também serão disponibilizados como código aberto, permitindo que todos 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

Demonstração do alvo de ataque MCP:Toolbox

smithery.ai é um dos sites de plugins MCP mais populares atualmente, reunindo uma grande quantidade de listas MCP e usuários ativos. Dentre eles, @smithery/toolbox é a ferramenta de gestão MCP lançada oficialmente pelo smithery.ai.

Escolha o Toolbox como alvo de teste, principalmente com base nos seguintes pontos:

  • A base de usuários é enorme e representativa
  • Suporta a instalação automática de outros plugins, complementando algumas funcionalidades do cliente ( como o Claude Desktop )
  • Inclui configurações sensíveis ( como a Chave API ), facilitando a apresentação

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

Demonstração de uso de MCP malicioso: MasterMCP

MasterMCP é uma ferramenta simuladora de MCP malicioso desenvolvida pela Slow Mist 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 uma reprodução mais realista do cenário de ataque, o MasterMCP inclui um módulo de simulação de serviço de site local. Ele rapidamente constrói um servidor HTTP simples usando o framework FastAPI, simulando um ambiente de página da web comum. Essas páginas parecem normais à primeira vista, como a exibição de informações de uma loja de bolos ou o retorno de dados JSON padrão, mas na verdade contêm cargas maliciosas cuidadosamente projetadas no código-fonte da página ou nas respostas da interface.

  1. Arquitetura MCP plugin local

O MasterMCP utiliza uma abordagem modular para expansão, facilitando a adição rápida de novas formas de ataque. Após a execução, o MasterMCP irá correr o serviço FastAPI do módulo anterior em um subprocesso. ( Existem riscos de segurança aqui - plugins locais podem iniciar subprocessos que não são esperados pelo MCP ).

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

Cliente de Demonstração

  • Cursor: um dos IDEs de programação assistidos por IA mais populares do mundo atualmente
  • Claude Desktop:Anthropic(MCP protocolo de personalização ) cliente oficial

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 bastante forte no atual ecossistema MCP.

Invocação Maliciosa Cross-MCP

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

ataque de envenenamento de conteúdo na web

  1. Injeção de código comentada

Acesso do Cursor ao site de teste local.

Esta é uma página "Delicious Cake World" que parece inofensiva. Através deste experimento, simulamos a demonstração do impacto que o acesso a sites maliciosos pode ter nos clientes de grandes modelos.

Executar instruções:

Buscar o conteúdo de

Os resultados mostram que o Cursor não apenas leu o conteúdo da página web, mas também retornou dados de configuração sensíveis locais 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 fácil de reconhecer, já pode acionar operações maliciosas.

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

  1. Envenenamento de comentários codificados

Acesse a página /encode, que é uma página da web que parece idêntica ao exemplo anterior, mas as palavras-chave maliciosas foram codificadas, tornando o ataque mais sutil, tornando difícil perceber diretamente, mesmo 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 foi executado com sucesso.

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

MCP ferramenta devolve informação de envenenamento

De acordo com as instruções do MasterMCP, insira o comando simulado (, que não tem significado real, visando desencadear o MCP malicioso para demonstrar suas operações subsequentes ):

obter muitas maçãs

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

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

Pronto para a Ação: Envenenamento Oculto e Manipulação no Sistema MCP

Ataque de poluição de interface de terceiros

Esta demonstração serve principalmente para alertar que, tanto no caso de MCP malicioso quanto não malicioso, ao chamar APIs de terceiros, retornar diretamente os dados de terceiros ao contexto 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.

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

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

Esta demonstração contém dois conteúdos: injeção de palavras-chave iniciais e conflito de nomes.

ataque de sobrescrita 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ção:

remover plugin fetch do servidor toolbox

Claude Desktop não chamou o método remove_server da toolbox original, mas sim acionou o método homônimo fornecido pelo MasterMCP.

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

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

Adicionar lógica de verificação global maliciosa

Aqui, o MasterMCP escreveu uma ferramenta banana, cujo objetivo principal é forçar todos os ferramentas a serem executadas para a verificação de segurança antes de qualquer execução no texto de aviso.

Antes de executar a função, o sistema sempre chama prioritariamente o mecanismo de verificação banana.

Isto é uma injeção de lógica global realizada através da ênfase repetida no código de que "é necessário executar a deteção de banana".

Prática: Envenenamento e manipulação encobertos no sistema MC

Técnicas 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 é frequentemente utilizado para ocultar informações maliciosas, sendo os métodos comuns incluídos:

  • Em ambiente inglês: usar codificação Hex Byte
  • Ambiente em 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

Como mencionado na terceira parte da segunda capítulo sobre a contaminação da interface de terceiros, ao solicitar /random:

Cada vez é retornada aleatoriamente uma página com carga maliciosa, 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 do Model Context Protocol (MCP). Desde a injeção simples de palavras-chave, chamadas cruzadas de MCP, até ataques na fase de inicialização mais ocultos e a ocultação de instruções maliciosas, cada etapa nos lembra que: embora o ecossistema MCP seja poderoso, também é vulnerável.

Particularmente hoje, em que grandes modelos interagem cada vez mais com plugins e APIs externas, uma pequena contaminação de entrada pode desencadear riscos de segurança em todo o sistema. A diversidade das táticas dos atacantes, como codificação oculta (, contaminação aleatória e sobreposição de funções ), também significa que as abordagens tradicionais de proteção precisam ser atualizadas de forma abrangente.

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

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

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

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

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
  • 7
  • Partilhar
Comentar
0/400
EthSandwichHerovip
· 07-18 06:35
Esse velho truque é mais fácil de ser atacado, não é?
Ver originalResponder0
gas_guzzlervip
· 07-16 22:51
MCP olha para o perigo, fuja rapidamente
Ver originalResponder0
faded_wojak.ethvip
· 07-15 19:06
Ver através do seu mcp e brincar com estilos.
Ver originalResponder0
PanicSellervip
· 07-15 19:06
idiotas ainda não foram feitos de parvas e já estão a soltar-se assim?
Ver originalResponder0
LiquiditySurfervip
· 07-15 19:01
A segurança do Blockchain também precisa ajustar o melhor ponto de entrada para surfar~ A atual situação caótica do mercado é simplesmente insuficiente para esfriar, mesmo com martini com gelo.
Ver originalResponder0
consensus_failurevip
· 07-15 18:54
A verdade é que este tipo de vulnerabilidade não deve ser sempre aberto.
Ver originalResponder0
AllInAlicevip
· 07-15 18:50
Este trabalho está muito louco, estou um pouco nervoso.
Ver originalResponder0
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)