Desafios de segurança do sistema MCP: demonstração prática de envenenamento a manipulação
Com o rápido desenvolvimento do ecossistema do Model Context Protocol (MCP), os riscos de segurança subjacentes também se tornaram cada vez mais evidentes. Para ajudar a comunidade a entender melhor e a melhorar a segurança do MCP, recentemente, pesquisadores de segurança tornaram o MasterMCP uma ferramenta de código aberto, revelando as vulnerabilidades de segurança no design do produto através de simulações de ataques reais.
Este artigo guiará os leitores através de uma prática, demonstrando formas comuns de ataque sob o sistema MCP, como envenenamento de informações e ocultação de instruções maliciosas, entre outros casos reais. Todos os scripts de demonstração também foram tornados open-source, permitindo que os leitores reproduzam todo o processo em um ambiente seguro e até desenvolvam seus próprios plugins de teste de ataque.
Visão geral da arquitetura
alvo de ataque de demonstração MCP:Toolbox
Escolher a ferramenta de gestão MCP Toolbox, oficialmente lançada por um famoso site de plugins MCP, como alvo de teste, baseando-se principalmente nas seguintes considerações:
A base de usuários é grande e representativa
Suporta a instalação automática de outros plugins, complementando algumas funcionalidades do cliente
Contém configurações sensíveis ( como a chave API ), facilitando a demonstração
Demonstração de uso de MCP malicioso: MasterMCP
MasterMCP é uma ferramenta simuladora de MCP malicioso desenvolvida especificamente para testes de segurança, adotando um design de arquitetura de plugins, e inclui os seguintes módulos-chave:
Simulação de serviços de sites locais:
Através do framework FastAPI, é possível criar rapidamente um servidor HTTP simples, simulando um ambiente de página web comum. Estas páginas parecem normais à primeira vista, mas na verdade contêm cargas maliciosas cuidadosamente elaboradas no código fonte da página ou nas respostas da interface.
Arquitetura MCP modular local
O MasterMCP utiliza um método de extensão baseado em plugins, facilitando a adição rápida de novos vetores de ataque no futuro. Após a execução, um serviço FastAPI será iniciado em um subprocesso.
Cliente de Demonstração
Cursor: Uma das IDEs de programação assistidas por IA mais populares do mundo atualmente.
Claude Desktop: cliente oficial de uma conhecida empresa de IA
modelo grande utilizado para demonstração
Claude 3.7
Escolher esta versão é devido ao fato de que houve certas melhorias no reconhecimento de operações sensíveis, ao mesmo tempo que representa uma capacidade operacional mais forte no atual ecossistema MCP.
Chamada maliciosa Cross-MCP
ataque de envenenamento de conteúdo na web
Envenenamento por comentários
Acesse o site de teste local, esta é uma página aparentemente inofensiva sobre "Delicious Cake World". Após executar o comando para obter o conteúdo da página, o Cursor não apenas leu o conteúdo da página, mas também retransmitiu dados de configuração sensíveis locais para o servidor de teste. No código-fonte, palavras-chave maliciosas estão inseridas na forma de comentários HTML.
Ataque de envenenamento de comentários codificados
Acesse a página /encode, que é uma página da web que parece idêntica, mas cujos termos maliciosos foram codificados, tornando a contaminação mais oculta. Mesmo que o código-fonte não contenha termos explícitos, o ataque ainda é executado com sucesso.
MCP ferramenta de retorno de informação envenenada
De acordo com as instruções de palavras-chave do MasterMCP, após inserir o comando simulado, o cliente chamou o Toolbox através do MCP e conseguiu adicionar um novo servidor MCP. Através do código do plugin, pode-se descobrir que os dados retornados já contêm uma carga maliciosa processada e codificada.
Ataque de poluição de interface de terceiros
Esta demonstração serve principalmente para lembrar que, quer seja 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.
Técnica de envenenamento na fase de inicialização do MCP
ataque de sobreposição de funções maliciosas
O MasterMCP escreveu uma ferramenta com o mesmo nome de função remove_server que o Toolbox, e codificou palavras-chave maliciosas ocultas. Após a execução do comando, o Claude Desktop não chamou o método remove_server do toolbox original, mas sim ativou o método de mesmo nome fornecido pelo MasterMCP.
Adicionar lógica de verificação global maliciosa
MasterMCP escreveu uma ferramenta banana, cuja função principal é obrigar a execução dessa ferramenta para uma verificação de segurança antes de todos os outros instrumentos nas sugestões. Antes de executar qualquer função, o sistema chama prioritariamente o mecanismo de verificação banana.
Dicas avançadas para ocultar palavras-chave maliciosas
forma de codificação amigável para grandes modelos
Métodos comuns incluem:
Ambiente em inglês: usar codificação Hex Byte
Ambiente em chinês: usar codificação NCR ou codificação JavaScript
mecanismo de retorno de carga maliciosa aleatória
Quando a solicitação /random é feita, retorna sempre aleatoriamente uma página com carga maliciosa, aumentando significativamente a dificuldade de detecção e rastreamento.
Resumo
Através da demonstração prática do MasterMCP, vimos de forma intuitiva as várias vulnerabilidades de segurança ocultas no sistema MCP. Desde a simples injeção de palavras-chave, chamadas cruzadas de MCP, 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.
Particularmente hoje, em que modelos grandes interagem cada vez mais frequentemente com plugins externos e APIs, 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 também significa que as abordagens tradicionais de proteção precisam ser completamente atualizadas.
Espero que esta demonstração possa servir de alerta para todos: tanto os desenvolvedores quanto os usuários devem manter uma vigilância suficiente sobre o sistema MCP, prestando atenção a cada interação, cada linha de código e cada valor de retorno. Somente tratando cada detalhe com rigor, é que se poderá realmente construir um ambiente MCP sólido e seguro.
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.
7 gostos
Recompensa
7
5
Republicar
Partilhar
Comentar
0/400
NFTRegretDiary
· 07-27 15:01
Só ouso testar Código aberto, com medo de encontrar verdadeiros hackers.
Ver originalResponder0
LeekCutter
· 07-25 14:44
Este oficial está a dar-se um tiro no pé.
Ver originalResponder0
PonziDetector
· 07-25 14:33
Que sistema é que essa ferramenta consegue invadir?
Ver originalResponder0
DeFiChef
· 07-25 14:22
Bem legal, a abordagem de código aberto permite que hackers explorem falhas.
Ver originalResponder0
TokenomicsTherapist
· 07-25 14:17
As vulnerabilidades de segurança foram todas divulgadas. Quem vai assumir a responsabilidade?
Revelação completa dos riscos de segurança do MCP: do envenenamento ao controle em exercícios práticos
Desafios de segurança do sistema MCP: demonstração prática de envenenamento a manipulação
Com o rápido desenvolvimento do ecossistema do Model Context Protocol (MCP), os riscos de segurança subjacentes também se tornaram cada vez mais evidentes. Para ajudar a comunidade a entender melhor e a melhorar a segurança do MCP, recentemente, pesquisadores de segurança tornaram o MasterMCP uma ferramenta de código aberto, revelando as vulnerabilidades de segurança no design do produto através de simulações de ataques reais.
Este artigo guiará os leitores através de uma prática, demonstrando formas comuns de ataque sob o sistema MCP, como envenenamento de informações e ocultação de instruções maliciosas, entre outros casos reais. Todos os scripts de demonstração também foram tornados open-source, permitindo que os leitores reproduzam todo o processo em um ambiente seguro e até desenvolvam seus próprios plugins de teste de ataque.
Visão geral da arquitetura
alvo de ataque de demonstração MCP:Toolbox
Escolher a ferramenta de gestão MCP Toolbox, oficialmente lançada por um famoso site de plugins MCP, como alvo de teste, baseando-se principalmente nas seguintes considerações:
Demonstração de uso de MCP malicioso: MasterMCP
MasterMCP é uma ferramenta simuladora de MCP malicioso desenvolvida especificamente para testes de segurança, adotando um design de arquitetura de plugins, e inclui os seguintes módulos-chave:
Através do framework FastAPI, é possível criar rapidamente um servidor HTTP simples, simulando um ambiente de página web comum. Estas páginas parecem normais à primeira vista, mas na verdade contêm cargas maliciosas cuidadosamente elaboradas no código fonte da página ou nas respostas da interface.
O MasterMCP utiliza um método de extensão baseado em plugins, facilitando a adição rápida de novos vetores de ataque no futuro. Após a execução, um serviço FastAPI será iniciado em um subprocesso.
Cliente de Demonstração
modelo grande utilizado para demonstração
Escolher esta versão é devido ao fato de que houve certas melhorias no reconhecimento de operações sensíveis, ao mesmo tempo que representa uma capacidade operacional mais forte no atual ecossistema MCP.
Chamada maliciosa Cross-MCP
ataque de envenenamento de conteúdo na web
Acesse o site de teste local, esta é uma página aparentemente inofensiva sobre "Delicious Cake World". Após executar o comando para obter o conteúdo da página, o Cursor não apenas leu o conteúdo da página, mas também retransmitiu dados de configuração sensíveis locais para o servidor de teste. No código-fonte, palavras-chave maliciosas estão inseridas na forma de comentários HTML.
Acesse a página /encode, que é uma página da web que parece idêntica, mas cujos termos maliciosos foram codificados, tornando a contaminação mais oculta. Mesmo que o código-fonte não contenha termos explícitos, o ataque ainda é executado com sucesso.
MCP ferramenta de retorno de informação envenenada
De acordo com as instruções de palavras-chave do MasterMCP, após inserir o comando simulado, o cliente chamou o Toolbox através do MCP e conseguiu adicionar um novo servidor MCP. Através do código do plugin, pode-se descobrir que os dados retornados já contêm uma carga maliciosa processada e codificada.
Ataque de poluição de interface de terceiros
Esta demonstração serve principalmente para lembrar que, quer seja 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.
Técnica de envenenamento na fase de inicialização do MCP
ataque de sobreposição de funções maliciosas
O MasterMCP escreveu uma ferramenta com o mesmo nome de função remove_server que o Toolbox, e codificou palavras-chave maliciosas ocultas. Após a execução do comando, o Claude Desktop não chamou o método remove_server do toolbox original, mas sim ativou o método de mesmo nome fornecido pelo MasterMCP.
Adicionar lógica de verificação global maliciosa
MasterMCP escreveu uma ferramenta banana, cuja função principal é obrigar a execução dessa ferramenta para uma verificação de segurança antes de todos os outros instrumentos nas sugestões. Antes de executar qualquer função, o sistema chama prioritariamente o mecanismo de verificação banana.
Dicas avançadas para ocultar palavras-chave maliciosas
forma de codificação amigável para grandes modelos
Métodos comuns incluem:
mecanismo de retorno de carga maliciosa aleatória
Quando a solicitação /random é feita, retorna sempre aleatoriamente uma página com carga maliciosa, aumentando significativamente a dificuldade de detecção e rastreamento.
Resumo
Através da demonstração prática do MasterMCP, vimos de forma intuitiva as várias vulnerabilidades de segurança ocultas no sistema MCP. Desde a simples injeção de palavras-chave, chamadas cruzadas de MCP, 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.
Particularmente hoje, em que modelos grandes interagem cada vez mais frequentemente com plugins externos e APIs, 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 também significa que as abordagens tradicionais de proteção precisam ser completamente atualizadas.
Espero que esta demonstração possa servir de alerta para todos: tanto os desenvolvedores quanto os usuários devem manter uma vigilância suficiente sobre o sistema MCP, prestando atenção a cada interação, cada linha de código e cada valor de retorno. Somente tratando cada detalhe com rigor, é que se poderá realmente construir um ambiente MCP sólido e seguro.