Revelação de vulnerabilidades de segurança do MCP: Demonstração de ataque e estratégias de proteção

Demonstração de Vulnerabilidades e Ataques do MCP

MCP (Model Context Protocol) O sistema ainda está em estágio inicial de desenvolvimento, e o ambiente geral é bastante caótico, com várias formas potenciais de ataque surgindo constantemente, tornando difícil a defesa eficaz com os protocolos e ferramentas existentes. Para aumentar a conscientização da comunidade sobre a segurança do MCP, a SlowMist open-sourced a ferramenta MasterMCP, com o objetivo de ajudar os desenvolvedores a identificar prontamente as vulnerabilidades de segurança no design do produto por meio de simulações de ataques reais, assim fortalecendo gradualmente a segurança do projeto MCP.

Este artigo irá demonstrar na prática as 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, para que todos possam reproduzir todo o processo em um ambiente seguro, e até mesmo desenvolver seus próprios plugins de teste de ataque com base nesses scripts.

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

Visão Geral da Arquitetura Geral

Demonstração do alvo do ataque MCP: Toolbox

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

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

Demonstração de uso do MCP malicioso: MasterMCP

MasterMCP é uma ferramenta de simulação de MCP malicioso desenvolvida pela SlowMist para testes de segurança, com design de arquitetura modular, incluindo os seguintes módulos principais:

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

    Usando o framework FastAPI para construir rapidamente um servidor HTTP simples, simulando um ambiente de página web comum. Estas páginas parecem normais, mas na verdade contêm cargas maliciosas cuidadosamente projetadas no código-fonte ou nas respostas da interface.

  2. Arquitetura MCP plugin local

    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á executar o serviço FastAPI do módulo anterior em um subprocesso.

Pronto para a ação: Envenenamento oculto e manipulação 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

ataque de envenenamento de conteúdo na web

  1. Injeção de comentários

Aceder ao site de testes local através do Cursor, simulando o impacto de um cliente de grande modelo a aceder a um site malicioso. Após a execução do comando, o Cursor não apenas leu o conteúdo da página, mas também enviou de volta dados de configuração sensíveis locais para o servidor de testes. 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

Acesse a página /encode, as palavras-chave maliciosas foram codificadas, tornando a injeção mais oculta. Mesmo que o código-fonte não contenha palavras-chave em texto claro, o ataque ainda é executado com sucesso.

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

ataque de poluição de interface de terceiros

Lembrete de demonstração, independentemente de ser MCP malicioso ou não malicioso, ao chamar uma API de terceiros, se os dados de terceiros forem retornados diretamente ao contexto, isso pode ter sérias consequências.

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

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

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

MasterMCP escreveu uma ferramenta chamada remove_server, que tem o mesmo nome que a função Toolbox, e codificou palavras-chave maliciosas ocultas. Após executar o comando, o Claude Desktop acionou o método com o mesmo nome fornecido por MasterMCP, em vez do método remove_server original do toolbox.

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

Adicionar lógica de verificação global maliciosa

O MasterMCP escreveu a ferramenta banana, obrigando todas as ferramentas a executarem esta ferramenta para uma verificação de segurança antes de funcionar. Antes de cada execução de função, o sistema chamará prioritariamente o mecanismo de verificação banana.

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

Dicas Avançadas para Ocultar Palavras de Aviso Maliciosas

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

Utilizando a forte capacidade de análise de formatos multilíngues do LLM para ocultar informações maliciosas:

  • Ambiente em 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

Em cada requisição /random, retorna aleatoriamente uma página com carga maliciosa, aumentando a dificuldade de detecção e rastreamento.

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

Resumo

A demonstração prática do MasterMCP apresenta de forma intuitiva os diversos riscos de segurança no sistema MCP. Desde a injeção de palavras-chave simples, chamadas cruzadas de MCP, até ataques mais ocultos na fase de inicialização e ocultação de instruções maliciosas, cada etapa nos alerta sobre a vulnerabilidade do ecossistema MCP.

Pequenas contaminações de entrada podem provocar riscos de segurança em nível de sistema, e a diversificação dos métodos dos atacantes também significa que as abordagens de proteção tradicionais precisam de uma atualização completa. Tanto desenvolvedores quanto usuários devem manter vigilância sobre o sistema MCP, prestando atenção a cada interação, cada linha de código e cada valor retornado, para construir um ambiente MCP sólido e seguro.

A SlowMist continuará a melhorar o script MasterMCP, abrindo mais casos de teste específicos para ajudar todos a entender, praticar e reforçar a proteção em um ambiente seguro. O conteúdo relacionado já foi sincronizado no GitHub, os leitores interessados podem visitar para verificar.

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

Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • 8
  • Compartilhar
Comentário
0/400
OffchainWinnervip
· 07-18 07:06
Ah, o novato de chapéu branco está a tremer.
Ver originalResponder0
CafeMinorvip
· 07-18 05:32
Não há firewall nem na tubagem de esgoto?
Ver originalResponder0
GateUser-a5fa8bd0vip
· 07-18 00:25
Rindo até morrer, é mais uma vez o círculo dos pros da tecnologia.
Ver originalResponder0
WalletManagervip
· 07-15 07:59
Quantos exercícios de ataque, a auditoria de contratos ainda pode encontrar problemas reais?
Ver originalResponder0
TokenomicsTherapistvip
· 07-15 07:58
Emma, este problema do mcp é mais grave do que eu imaginava.
Ver originalResponder0
ResearchChadButBrokevip
· 07-15 07:56
Já não sei o que pensar. Que época é esta em que ainda se escondem falhas?
Ver originalResponder0
CryptoCross-TalkClubvip
· 07-15 07:56
Outra armadilha de idiotas finalmente foi lançada?
Ver originalResponder0
ConfusedWhalevip
· 07-15 07:51
O velho Liu do lado disse que não está mal.
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)