Envenenamento oculto e manipulação no sistema MCP: Demonstração prática
Atualmente, o MCP (Model Context Protocol) ainda está em fase inicial de desenvolvimento, o ambiente geral é bastante caótico, e vários tipos potenciais de ataques surgem sem parar, tornando difícil a defesa eficaz com os protocolos e ferramentas existentes. Para ajudar a comunidade a entender melhor e melhorar a segurança do MCP, recentemente foi aberto o MasterMCP, que visa, através de simulações de ataques reais, ajudar a identificar vulnerabilidades de segurança no design do produto e fortalecer gradualmente o projeto MCP.
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, 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 o processo completo 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 de ataque alvo MC: Toolbox
smithery.ai é um dos sites de plugins MCP mais populares atualmente, reunindo uma grande lista de MCPs e usuários ativos. Entre eles, @smithery/toolbox é a ferramenta de gerenciamento MCP oficial lançada pelo site.
Escolha o Toolbox como alvo de teste, principalmente com base 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 especialmente para testes de segurança, projetada com uma arquitetura modular e inclui os seguintes módulos-chave:
Simulação de serviços de sites locais:
Para uma recriação mais realista do cenário de ataque, o MasterMCP inclui um módulo de simulação de serviço de site local. Ele constrói rapidamente um servidor HTTP simples através do framework FastAPI, simulando ambientes de página comuns. Essas páginas parecem normais à superfície, mas na verdade escondem cargas maliciosas cuidadosamente projetadas no código-fonte da página ou nas respostas da interface.
Desta forma, podemos demonstrar completamente técnicas de ataque, como envenenamento de informações e ocultação de comandos, em um ambiente local seguro e controlado, ajudando a entender de forma mais intuitiva: mesmo uma página da web que parece comum pode se tornar uma fonte de risco que provoca a execução de operações anômalas por modelos grandes.
Arquitetura MCP plugin local
O MasterMCP utiliza uma abordagem modular para se expandir, facilitando a adição rápida de novos métodos de ataque. Após a execução, o MasterMCP irá executar o serviço FastAPI do módulo anterior em um subprocesso. Se prestar atenção, notará que já existe uma vulnerabilidade de segurança aqui — plugins locais podem iniciar subprocessos não esperados pelo MCP.
( 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 utilizado 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 relativamente forte no atual ecossistema MCP.
![Prática: Envenenamento e Manipulação Oculta no Sistema MCP])https://img-cdn.gateio.im/webp-social/moments-3c65fb78f3a1d00f05d6f3d950931f1f.webp###
Invocação Maliciosa Cross-MCP
( ataque de envenenamento de conteúdo web
Injeção de Comentários
Cursor acede ao site de teste local.
Esta é uma página aparentemente inofensiva sobre "Delicious Cake World", que simula os efeitos do acesso de clientes de grandes modelos a sites maliciosos através deste experimento.
Executar comando:
Busque o conteúdo de
Os resultados mostram que o Cursor não só leu o conteúdo da página da web, como também enviou os dados de configuração sensíveis locais de volta para o servidor de testes. No código-fonte, as palavras-chave maliciosas foram inseridas na forma de comentários HTML.
Embora o modo de anotação seja bastante direto e fácil de ser reconhecido, já é capaz de desencadear operações maliciosas.
![Prática: Envenenamento e Manipulação Oculta no Sistema MCP])https://img-cdn.gateio.im/webp-social/moments-2fe451755dc3588ffc2ddbd7427dcf9b.webp###
Injeção de comentários codificados
Acesse a página /encode, que é uma página da web que se parece com o exemplo acima, mas cujos prompts maliciosos foram codificados, tornando o ataque de envenenamento mais oculto, mesmo que seja difícil perceber diretamente 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 é executado com sucesso, e o princípio específico será explicado em detalhes nos capítulos seguintes.
( MCP ferramenta devolve informação de envenenamento
De acordo com as instruções do MasterMCP, insira o comando simulado ). Este comando não tem significado real, sendo destinado a ativar um MCP malicioso para demonstrar as operações subsequentes ###:
obter muitas maçãs
É possível ver que, após acionar o comando, o cliente fez uma chamada através do MCP para o Toolbox e adicionou com sucesso um novo servidor MCP.
Verificando o código do plugin, pode-se descobrir que os dados retornados já contêm cargas maliciosas codificadas, quase imperceptíveis para o usuário.
( 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 malicioso, 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 dispararam com sucesso a execução maliciosa.
![Prática: Envenenamento e Manipulação Oculta no Sistema MCP])https://img-cdn.gateio.im/webp-social/moments-33ec895deae947ebc284e846286ccf1c.webp###
Técnica de envenenamento na fase de inicialização do MCP
( ataque de cobertura de função maliciosa
MasterMCP escreveu uma ferramenta chamada remove_server com a mesma função que a Toolbox, e codificou palavras-chave maliciosas escondidas.
Executar instrução:
remover plugin de busca 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 de grandes modelos a chamar funções maliciosamente sobrepostas.
![Prática: Envenenamento e manipulação ocultos no sistema MCP])https://img-cdn.gateio.im/webp-social/moments-e16c8d753ef00ec06f0bf607dc188446.webp###
( Adicionar lógica de verificação global maliciosa
MasterMCP escreveu uma ferramenta de banana, cujo principal objetivo é forçar a execução dessa ferramenta para verificar a segurança antes de todos os outros ferramentas que são executadas nos prompts.
Antes de executar a função, o sistema chama prioritariamente o mecanismo de verificação banana.
Isto é uma injeção lógica global realizada ao enfatizar repetidamente no código que "deve executar a detecção de banana".
![Prática: Envenenamento e manipulação ocultos no sistema MCP])https://img-cdn.gateio.im/webp-social/moments-3e15b74bbdc0154ed8505c04345c4deb.webp###
Dicas avançadas para ocultar palavras-chave maliciosas
( método de codificação amigável para grandes modelos
Devido à forte capacidade de análise dos modelos de linguagem em múltiplos formatos, isso é frequentemente utilizado para ocultar informações maliciosas, sendo métodos comuns incluem:
Em ambiente inglês: usar codificação Hex Byte
Em ambiente chinês: use codificação NCR ou codificação JavaScript
) Mecanismo de retorno de carga maliciosa aleatória
Quando a solicitação /random é feita, um página com carga maliciosa é retornada aleatoriamente a cada vez, aumentando significativamente a dificuldade de detecção e rastreamento.
![Prática: Envenenamento e manipulação encobertos no sistema MCP]###https://img-cdn.gateio.im/webp-social/moments-cd87a6781e74c267c89e99e398e7499c.webp###
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 mais discretos na fase de inicialização e a ocultação de instruções maliciosas, cada etapa nos lembra: embora o ecossistema MCP seja poderoso, também é vulnerável.
Especialmente hoje, em que modelos grandes interagem cada vez mais com plugins externos e APIs, uma pequena contaminação de entrada pode desencadear riscos de segurança em todo o sistema. A diversificação dos métodos dos atacantes, como a codificação oculta (, contaminação aleatória e sobrecarga de funções ), também significa que os métodos tradicionais de proteção precisam de uma atualização abrangente.
A segurança nunca é alcançada de uma só vez.
Espero que esta demonstração possa servir de alerta para todos: tanto desenvolvedores quanto 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, podemos realmente construir um ambiente MCP sólido e seguro.
Na próxima etapa, continuaremos a aprimorar 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.
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.
12 Curtidas
Recompensa
12
5
Compartilhar
Comentário
0/400
ponzi_poet
· 08-05 16:02
A quantidade de código não é grande o suficiente
Ver originalResponder0
LayerZeroEnjoyer
· 08-05 15:45
A ameaça à segurança é muito grave.
Ver originalResponder0
OffchainWinner
· 08-05 15:42
Código aberto não tem medo de ser criticado?
Ver originalResponder0
OneBlockAtATime
· 08-05 15:38
Esta vulnerabilidade é demasiado perigosa, não é?
Ver originalResponder0
Rekt_Recovery
· 08-05 15:35
Deve-se ter cuidado ao usar ataques de envenenamento.
MCP riscos de segurança na prática: técnicas ocultas de controle global desde ataques de injeção
Envenenamento oculto e manipulação no sistema MCP: Demonstração prática
Atualmente, o MCP (Model Context Protocol) ainda está em fase inicial de desenvolvimento, o ambiente geral é bastante caótico, e vários tipos potenciais de ataques surgem sem parar, tornando difícil a defesa eficaz com os protocolos e ferramentas existentes. Para ajudar a comunidade a entender melhor e melhorar a segurança do MCP, recentemente foi aberto o MasterMCP, que visa, através de simulações de ataques reais, ajudar a identificar vulnerabilidades de segurança no design do produto e fortalecer gradualmente o projeto MCP.
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, 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 o processo completo 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 de ataque alvo MC: Toolbox
smithery.ai é um dos sites de plugins MCP mais populares atualmente, reunindo uma grande lista de MCPs e usuários ativos. Entre eles, @smithery/toolbox é a ferramenta de gerenciamento MCP oficial lançada pelo site.
Escolha o Toolbox como alvo de teste, principalmente com base nos seguintes pontos:
Demonstração de uso do MCP malicioso: MasterMCP
MasterMCP é uma ferramenta de simulação de MCP malicioso, desenvolvida especialmente para testes de segurança, projetada com uma arquitetura modular e inclui os seguintes módulos-chave:
Para uma recriação mais realista do cenário de ataque, o MasterMCP inclui um módulo de simulação de serviço de site local. Ele constrói rapidamente um servidor HTTP simples através do framework FastAPI, simulando ambientes de página comuns. Essas páginas parecem normais à superfície, mas na verdade escondem cargas maliciosas cuidadosamente projetadas no código-fonte da página ou nas respostas da interface.
Desta forma, podemos demonstrar completamente técnicas de ataque, como envenenamento de informações e ocultação de comandos, em um ambiente local seguro e controlado, ajudando a entender de forma mais intuitiva: mesmo uma página da web que parece comum pode se tornar uma fonte de risco que provoca a execução de operações anômalas por modelos grandes.
O MasterMCP utiliza uma abordagem modular para se expandir, facilitando a adição rápida de novos métodos de ataque. Após a execução, o MasterMCP irá executar o serviço FastAPI do módulo anterior em um subprocesso. Se prestar atenção, notará que já existe uma vulnerabilidade de segurança aqui — plugins locais podem iniciar subprocessos não esperados pelo MCP.
( Cliente de Demonstração
( modelo grande utilizado para demonstração
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 relativamente forte no atual ecossistema MCP.
![Prática: Envenenamento e Manipulação Oculta no Sistema MCP])https://img-cdn.gateio.im/webp-social/moments-3c65fb78f3a1d00f05d6f3d950931f1f.webp###
Invocação Maliciosa Cross-MCP
( ataque de envenenamento de conteúdo web
Cursor acede ao site de teste local.
Esta é uma página aparentemente inofensiva sobre "Delicious Cake World", que simula os efeitos do acesso de clientes de grandes modelos a sites maliciosos através deste experimento.
Executar comando: Busque o conteúdo de
Os resultados mostram que o Cursor não só leu o conteúdo da página da web, como também enviou os dados de configuração sensíveis locais de volta para o servidor de testes. No código-fonte, as palavras-chave maliciosas foram inseridas na forma de comentários HTML.
Embora o modo de anotação seja bastante direto e fácil de ser reconhecido, já é capaz de desencadear operações maliciosas.
![Prática: Envenenamento e Manipulação Oculta no Sistema MCP])https://img-cdn.gateio.im/webp-social/moments-2fe451755dc3588ffc2ddbd7427dcf9b.webp###
Acesse a página /encode, que é uma página da web que se parece com o exemplo acima, mas cujos prompts maliciosos foram codificados, tornando o ataque de envenenamento mais oculto, mesmo que seja difícil perceber diretamente 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 é executado com sucesso, e o princípio específico será explicado em detalhes nos capítulos seguintes.
( MCP ferramenta devolve informação de envenenamento
De acordo com as instruções do MasterMCP, insira o comando simulado ). Este comando não tem significado real, sendo destinado a ativar um MCP malicioso para demonstrar as operações subsequentes ###:
obter muitas maçãs
É possível ver que, após acionar o comando, o cliente fez uma chamada através do MCP para o Toolbox e adicionou com sucesso um novo servidor MCP.
Verificando o código do plugin, pode-se descobrir que os dados retornados já contêm cargas maliciosas codificadas, quase imperceptíveis para o usuário.
( 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 malicioso, 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 dispararam com sucesso a execução maliciosa.
![Prática: Envenenamento e Manipulação Oculta no Sistema MCP])https://img-cdn.gateio.im/webp-social/moments-33ec895deae947ebc284e846286ccf1c.webp###
Técnica de envenenamento na fase de inicialização do MCP
( ataque de cobertura de função maliciosa
MasterMCP escreveu uma ferramenta chamada remove_server com a mesma função que a Toolbox, e codificou palavras-chave maliciosas escondidas.
Executar instrução: remover plugin de busca 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 de grandes modelos a chamar funções maliciosamente sobrepostas.
![Prática: Envenenamento e manipulação ocultos no sistema MCP])https://img-cdn.gateio.im/webp-social/moments-e16c8d753ef00ec06f0bf607dc188446.webp###
( Adicionar lógica de verificação global maliciosa
MasterMCP escreveu uma ferramenta de banana, cujo principal objetivo é forçar a execução dessa ferramenta para verificar a segurança antes de todos os outros ferramentas que são executadas nos prompts.
Antes de executar a função, o sistema chama prioritariamente o mecanismo de verificação banana.
Isto é uma injeção lógica global realizada ao enfatizar repetidamente no código que "deve executar a detecção de banana".
![Prática: Envenenamento e manipulação ocultos no sistema MCP])https://img-cdn.gateio.im/webp-social/moments-3e15b74bbdc0154ed8505c04345c4deb.webp###
Dicas avançadas para ocultar palavras-chave maliciosas
( método de codificação amigável para grandes modelos
Devido à forte capacidade de análise dos modelos de linguagem em múltiplos formatos, isso é frequentemente utilizado para ocultar informações maliciosas, sendo métodos comuns incluem:
) Mecanismo de retorno de carga maliciosa aleatória
Quando a solicitação /random é feita, um página com carga maliciosa é retornada aleatoriamente a cada vez, aumentando significativamente a dificuldade de detecção e rastreamento.
![Prática: Envenenamento e manipulação encobertos no sistema MCP]###https://img-cdn.gateio.im/webp-social/moments-cd87a6781e74c267c89e99e398e7499c.webp###
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 mais discretos na fase de inicialização e a ocultação de instruções maliciosas, cada etapa nos lembra: embora o ecossistema MCP seja poderoso, também é vulnerável.
Especialmente hoje, em que modelos grandes interagem cada vez mais com plugins externos e APIs, uma pequena contaminação de entrada pode desencadear riscos de segurança em todo o sistema. A diversificação dos métodos dos atacantes, como a codificação oculta (, contaminação aleatória e sobrecarga de funções ), também significa que os métodos tradicionais de proteção precisam de uma atualização abrangente.
A segurança nunca é alcançada de uma só vez.
Espero que esta demonstração possa servir de alerta para todos: tanto desenvolvedores quanto 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, podemos realmente construir um ambiente MCP sólido e seguro.
Na próxima etapa, continuaremos a aprimorar 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.