Análise Prática de Envenenamento Oculto e Manipulação no Sistema MCP
MCP (Modelo de Contexto de Protocolo) O sistema ainda se encontra numa fase inicial de desenvolvimento, o ambiente geral é bastante caótico, e vários métodos de ataque potenciais estão a surgir. Os protocolos e ferramentas existentes são difíceis de defender de forma eficaz. Para ajudar a comunidade a compreender melhor e a melhorar a segurança do MCP, uma equipe de segurança open-source a ferramenta MasterMCP, esperando que através de simulações de ataques reais, ajude os desenvolvedores a identificar prontamente as vulnerabilidades de segurança no design do produto, assim gradualmente reforçando o projeto do MCP.
Este artigo levará os leitores a uma prática prática, demonstrando formas comuns de ataque no sistema MCP, como envenenamento de informações e ocultação de comandos maliciosos, entre outros casos reais. Todos os scripts de demonstração também serão disponibilizados como código aberto, permitindo que os leitores repliquem todo o processo em um ambiente seguro e até desenvolvam seus próprios plugins de teste de ataque com base nesses scripts.
Visão geral da arquitetura
Demonstração do alvo de ataque MCP:Toolbox
Um conhecido site de plugins MCP é um dos locais mais populares para reunir MCPs, com uma grande quantidade de listas de MCP e usuários ativos. Entre eles, a ferramenta de gestão MCP Toolbox, lançada oficialmente, foi escolhida como alvo de teste, principalmente com base nos seguintes pontos de consideração:
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 API Key ), facilitando a demonstração
Demonstração de uso de MCP malicioso: MasterMCP
MasterMCP é uma ferramenta de simulação de MCP malicioso desenvolvida especificamente para testes de segurança, com uma arquitetura de design modular, contendo os seguintes módulos-chave:
Simulação de serviços de websites locais:
Para uma representação mais realista do cenário de ataque, o MasterMCP inclui um módulo de simulação de serviço de site local. Através do framework FastAPI, um servidor HTTP simples é rapidamente configurado para simular ambientes de páginas web comuns. Essas páginas parecem normais na superfície, mas na verdade contêm cargas maliciosas cuidadosamente projetadas no código-fonte da página ou nas respostas das interfaces.
Arquitetura MCP plugin local
O MasterMCP adota uma abordagem modular para expansão, facilitando a adição rápida de novas formas de ataque posteriormente. Após a execução, o MasterMCP irá operar o serviço FastAPI mencionado em um subprocesso.
Cliente de Demonstração
Cursor: uma das IDEs de programação assistidas por IA mais populares do mundo atualmente
Claude Desktop:Anthropic(MC protocolo personalizado ) cliente oficial
modelo grande usado para demonstração
Claude 3.7
Escolha a versão Claude 3.7, pois houve melhorias na identificação de operações sensíveis, representando também uma capacidade operacional forte no atual ecossistema MCP.
Chamadas Maliciosas Cross-MCP
ataque de envenenamento de conteúdo da web
Injeção de Comentário
Aceder ao site de testes local através do Cursor, simulando o impacto que o acesso a um site malicioso teria no cliente de um grande modelo.
Executar comando:
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, as palavras-chave maliciosas foram inseridas na forma de comentários HTML. Embora o método de comentário seja bastante direto e fácil de ser identificado, ele já pode acionar operações maliciosas.
Injeção de comentários codificados
Aceda à página /encode, que parece ser uma página da web normal, mas onde palavras-chave maliciosas foram codificadas, tornando a injeção de conteúdo mais furtiva, mesmo que seja difícil perceber diretamente ao ver o código-fonte da página.
Mesmo que o código-fonte não contenha palavras-chave em texto simples, o ataque ainda será executado com sucesso.
ataque de poluição de interface de terceiros
Esta demonstração serve principalmente para alertar que, seja 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.
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.
Técnica de envenenamento da fase de inicialização do MCP
ataque de sobreposição de função maliciosa
MasterMCP escreveu uma ferramenta chamada remove_server com a mesma função que o Toolbox e codificou palavras indicativas maliciosas.
Executar instrução:
ferramenta remover buscar plugin servidor
Claude Desktop não chamou o método remove_server da toolbox original, mas sim disparou o método homônimo fornecido pelo MasterMCP.
O princípio é enfatizar que "o método original foi descontinuado", priorizando a indução do grande modelo a chamar funções de sobreposição maliciosas.
Adicionar lógica de verificação global maliciosa
O MasterMCP escreveu uma ferramenta banana, cujo principal objetivo é forçar a execução dessa ferramenta para verificação de segurança antes de todos os outros ferramentas serem executadas nos prompts.
Antes de executar a função, o sistema sempre chama prioritariamente o mecanismo de verificação banana. Isso é realizado através da ênfase repetida no código de que "a verificação banana deve ser executada" para injetar lógica global.
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 dos grandes modelos de linguagem, isso é frequentemente utilizado para esconder informações maliciosas, e os métodos comuns incluem:
No 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, ela retorna aleatoriamente uma página com carga maliciosa a cada vez, aumentando significativamente a dificuldade de detecção e rastreamento.
Resumo
Através da demonstração prática do MasterMCP, vimos de forma intuitiva os vários riscos de segurança ocultos dentro do sistema Model Context Protocol (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.
Especialmente hoje, em que os grandes modelos interagem cada vez mais com plugins externos e APIs, uma pequena poluição de entrada pode desencadear riscos de segurança em todo o sistema. E a diversificação das táticas dos atacantes, como a codificação oculta (, poluição aleatória e sobreposição de funções ), também significa que a abordagem tradicional de proteção precisa ser completamente atualizada.
A segurança nunca é alcançada de uma só vez. Espero que esta demonstração sirva como um alerta para todos: tanto desenvolvedores quanto 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.
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.
17 Curtidas
Recompensa
17
3
Compartilhar
Comentário
0/400
MysteriousZhang
· 07-12 21:34
Este bug é realmente sutil! Quem trabalha com segurança é realmente implacável.
Ver originalResponder0
LiquidationKing
· 07-12 21:15
Esta vulnerabilidade é realmente interessante
Ver originalResponder0
HashBard
· 07-12 21:07
mais um dia, mais uma exploração... *bebe chá enquanto observa mcp queimar*
Análise de Risco de Segurança do Sistema MCP: Demonstração Prática de Envenenamento Oculto e Manipulação
Análise Prática de Envenenamento Oculto e Manipulação no Sistema MCP
MCP (Modelo de Contexto de Protocolo) O sistema ainda se encontra numa fase inicial de desenvolvimento, o ambiente geral é bastante caótico, e vários métodos de ataque potenciais estão a surgir. Os protocolos e ferramentas existentes são difíceis de defender de forma eficaz. Para ajudar a comunidade a compreender melhor e a melhorar a segurança do MCP, uma equipe de segurança open-source a ferramenta MasterMCP, esperando que através de simulações de ataques reais, ajude os desenvolvedores a identificar prontamente as vulnerabilidades de segurança no design do produto, assim gradualmente reforçando o projeto do MCP.
Este artigo levará os leitores a uma prática prática, demonstrando formas comuns de ataque no sistema MCP, como envenenamento de informações e ocultação de comandos maliciosos, entre outros casos reais. Todos os scripts de demonstração também serão disponibilizados como código aberto, permitindo que os leitores repliquem todo o processo em um ambiente seguro e até desenvolvam seus próprios plugins de teste de ataque com base nesses scripts.
Visão geral da arquitetura
Demonstração do alvo de ataque MCP:Toolbox
Um conhecido site de plugins MCP é um dos locais mais populares para reunir MCPs, com uma grande quantidade de listas de MCP e usuários ativos. Entre eles, a ferramenta de gestão MCP Toolbox, lançada oficialmente, foi escolhida como alvo de teste, principalmente com base nos seguintes pontos de consideração:
Demonstração de uso de MCP malicioso: MasterMCP
MasterMCP é uma ferramenta de simulação de MCP malicioso desenvolvida especificamente para testes de segurança, com uma arquitetura de design modular, contendo os seguintes módulos-chave:
Para uma representação mais realista do cenário de ataque, o MasterMCP inclui um módulo de simulação de serviço de site local. Através do framework FastAPI, um servidor HTTP simples é rapidamente configurado para simular ambientes de páginas web comuns. Essas páginas parecem normais na superfície, mas na verdade contêm cargas maliciosas cuidadosamente projetadas no código-fonte da página ou nas respostas das interfaces.
O MasterMCP adota uma abordagem modular para expansão, facilitando a adição rápida de novas formas de ataque posteriormente. Após a execução, o MasterMCP irá operar o serviço FastAPI mencionado em um subprocesso.
Cliente de Demonstração
modelo grande usado para demonstração
Escolha a versão Claude 3.7, pois houve melhorias na identificação de operações sensíveis, representando também uma capacidade operacional forte no atual ecossistema MCP.
Chamadas Maliciosas Cross-MCP
ataque de envenenamento de conteúdo da web
Aceder ao site de testes local através do Cursor, simulando o impacto que o acesso a um site malicioso teria no cliente de um grande modelo.
Executar comando:
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, as palavras-chave maliciosas foram inseridas na forma de comentários HTML. Embora o método de comentário seja bastante direto e fácil de ser identificado, ele já pode acionar operações maliciosas.
Aceda à página /encode, que parece ser uma página da web normal, mas onde palavras-chave maliciosas foram codificadas, tornando a injeção de conteúdo mais furtiva, mesmo que seja difícil perceber diretamente ao ver o código-fonte da página.
Mesmo que o código-fonte não contenha palavras-chave em texto simples, o ataque ainda será executado com sucesso.
ataque de poluição de interface de terceiros
Esta demonstração serve principalmente para alertar que, seja 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.
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.
Técnica de envenenamento da fase de inicialização do MCP
ataque de sobreposição de função maliciosa
MasterMCP escreveu uma ferramenta chamada remove_server com a mesma função que o Toolbox e codificou palavras indicativas maliciosas.
Executar instrução:
ferramenta remover buscar plugin servidor
Claude Desktop não chamou o método remove_server da toolbox original, mas sim disparou o método homônimo fornecido pelo MasterMCP.
O princípio é enfatizar que "o método original foi descontinuado", priorizando a indução do grande modelo a chamar funções de sobreposição maliciosas.
Adicionar lógica de verificação global maliciosa
O MasterMCP escreveu uma ferramenta banana, cujo principal objetivo é forçar a execução dessa ferramenta para verificação de segurança antes de todos os outros ferramentas serem executadas nos prompts.
Antes de executar a função, o sistema sempre chama prioritariamente o mecanismo de verificação banana. Isso é realizado através da ênfase repetida no código de que "a verificação banana deve ser executada" para injetar lógica global.
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 dos grandes modelos de linguagem, isso é frequentemente utilizado para esconder informações maliciosas, e os métodos comuns incluem:
Mecanismo de retorno de carga maliciosa aleatória
Quando a solicitação /random é feita, ela retorna aleatoriamente uma página com carga maliciosa a cada vez, aumentando significativamente a dificuldade de detecção e rastreamento.
Resumo
Através da demonstração prática do MasterMCP, vimos de forma intuitiva os vários riscos de segurança ocultos dentro do sistema Model Context Protocol (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.
Especialmente hoje, em que os grandes modelos interagem cada vez mais com plugins externos e APIs, uma pequena poluição de entrada pode desencadear riscos de segurança em todo o sistema. E a diversificação das táticas dos atacantes, como a codificação oculta (, poluição aleatória e sobreposição de funções ), também significa que a abordagem tradicional de proteção precisa ser completamente atualizada.
A segurança nunca é alcançada de uma só vez. Espero que esta demonstração sirva como um alerta para todos: tanto desenvolvedores quanto 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.