MCP Segurança: Demonstração Prática de Envenenamento Oculto e Manipulação
O atual MCP( Modelo de Protocolo de Contexto) ainda está em fase de desenvolvimento inicial, com um ambiente geral bastante caótico, e várias formas de ataque potenciais surgindo sem parar, dificultando a defesa eficaz dos protocolos e ferramentas existentes. Para ajudar a comunidade a reconhecer e melhorar a segurança do MCP, uma equipe de segurança abriu o código-fonte da ferramenta MasterMCP, com o objetivo de ajudar os desenvolvedores a identificar rapidamente as vulnerabilidades de segurança no design do produto através de simulações de ataque reais, e assim reforçar gradualmente o projeto MCP.
Este artigo irá levar todos a praticar, demonstrando maneiras comuns de ataque sob o sistema MCP, como envenenamento de informações, instruções maliciosas ocultas e outros casos reais. Todos os scripts de demonstração também serão open source no GitHub, permitindo que desenvolvedores reproduzam 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 é uma das plataformas MCP mais populares atualmente, reunindo uma grande quantidade de listas MCP e usuários ativos. Entre eles, uma ferramenta oficial de gerenciamento MCP é a ferramenta de gerenciamento MCP lançada por essa plataforma.
Escolha esta ferramenta como o objetivo de teste, principalmente com base nos seguintes pontos:
Base de usuários grande e representativa
Suporte para a instalação automática de outros plugins, complementando algumas funcionalidades do cliente.
Inclui configurações sensíveis ( como a chave API ), facilitando a demonstração.
demonstração de uso do MCP malicioso: MasterMCP
MasterMCP é uma ferramenta de simulação de MCP malicioso desenvolvida 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 representação mais realista dos cenários de ataque, o MasterMCP incorpora um módulo de simulação de serviço de site local. Ele utiliza o framework FastAPI para rapidamente montar um servidor HTTP simples, simulando ambientes de páginas web comuns. Essas páginas parecem normais à primeira vista, como exibir informações de uma pastelaria ou retornar dados JSON padrão, mas na verdade, escondem cargas maliciosas cuidadosamente desenhadas no código-fonte da página ou nas respostas da interface.
Este método pode 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 que, mesmo uma página da web que parece normal, pode se tornar uma fonte de risco que induz um modelo grande a executar operações anômalas.
Arquitetura MCP plugin local
O MasterMCP utiliza um método de plugin para expansão, facilitando a adição rápida de novos métodos de ataque posteriormente. Após a execução, o MasterMCP irá executar o serviço FastAPI do módulo anterior em um subprocesso. Aqui já existe uma vulnerabilidade de segurança - plugins locais podem iniciar subprocessos que não são previstos pelo MCP.
Cliente de Demonstração
Cursor: uma das IDEs de programação assistidas por IA mais populares do mundo atualmente
Claude Desktop:Anthropic(MCP protocolo personalizado ) cliente oficial
modelo grande de demonstração
Claude 3.7
Escolha a versão Claude 3.7, pois houve melhorias na identificação de operações sensíveis, ao mesmo tempo que representa uma capacidade operacional mais forte no atual ecossistema MCP.
Demonstração de Chamada Maliciosa Cross-MCP
ataque de envenenamento de conteúdo da web
Injeção de Comentários
Aceda ao site de teste local através do Cursor, esta é uma página aparentemente inofensiva chamada "Delicious Cake World".
Executar comando:
Buscar o conteúdo de
Os resultados mostram que o Cursor não apenas leu o conteúdo da página, mas também enviou dados de configuração sensíveis locais de volta ao 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á consegue desencadear operações maliciosas.
Injeção de comentários codificados
Acesse a página /encode, que é uma página da web que parece idêntica ao exemplo anterior, mas cujas palavras-chave maliciosas foram codificadas, tornando a contaminação mais oculta, mesmo que seja difícil perceber diretamente ao visualizar o código-fonte da página.
Mesmo que o código-fonte não contenha palavras-chave em texto claro, o ataque ainda será executado com sucesso.
MCP ferramenta de retorno de informações de envenenamento
De acordo com as instruções do prompt MasterMCP, insira o comando simulado:
obter muitas maçãs
Após a execução do comando, o cliente chamou o Toolbox através do MCP e conseguiu adicionar um novo servidor MCP. Ao examinar o código do plugin, descobriu-se que os dados retornados já continham uma carga maliciosa codificada, quase imperceptível para o usuário.
Ataque de poluição de interface de terceiros
Executar pedido:
Buscar json de /api/data
Resultado: As palavras-chave maliciosas foram inseridas nos dados JSON retornados e acionaram com sucesso a execução maliciosa.
Técnica de envenenamento na fase de inicialização do MCP
ataque de sobrescrição de função maliciosa
MasterMCP escreveu a ferramenta remove_server com o mesmo nome da função Toolbox, e codificou para ocultar palavras-chave maliciosas.
Executar instruções:
remover plugin de busca do servidor toolbox
Claude Desktop não chamou o método remove_server da toolbox original, mas sim ativou o método homônimo fornecido pelo MasterMCP.
O princípio é enfatizar que "os métodos antigos foram descontinuados", priorizando a indução do grande modelo a chamar funções de sobreposição maliciosas.
Adicionar lógica de verificação global maliciosa
MasterMCP escreveu a ferramenta banana, cuja função principal é 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 cada execução da função, o sistema prioriza a chamada ao mecanismo de verificação banana. Isso é realizado através da ênfase repetida no código de que "a detecção banana deve ser executada" para implementar a injeção de 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 multilingues dos grandes modelos de linguagem, isso é frequentemente utilizado para esconder informações maliciosas, com métodos comuns incluindo:
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 solicitado /random, ele retornará 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, pudemos observar diretamente os vários riscos de segurança ocultos no sistema MCP. Desde a injeção simples de palavras-chave, chamadas cruzadas de MCP, até ataques mais encobertos 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.
Hoje, com modelos grandes interagindo frequentemente com plugins externos e APIs, uma pequena contaminação de entrada pode causar riscos de segurança em nível de sistema. A diversificação das técnicas dos atacantes, como a ocultação de código (, contaminação aleatória e sobreposição de funções ), significa que as abordagens tradicionais de proteção precisam de uma atualização abrangente.
Espero que esta demonstração sirva de alerta para todos: desenvolvedores e usuários devem permanecer vigilantes em relação ao sistema MCP, prestando atenção a cada interação, cada linha de código e cada valor de retorno. Apenas tratando cada detalhe com rigor, podemos construir um ambiente MCP sólido e seguro.
Continuaremos a melhorar o script MasterMCP, abrindo mais casos de teste direcionados para ajudar a entender, praticar e reforçar a proteção em um ambiente seguro.
O conteúdo relacionado foi sincronizado com o GitHub, os leitores interessados podem acessar diretamente para ver.
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.
15 gostos
Recompensa
15
4
Partilhar
Comentar
0/400
NFTRegretDiary
· 07-10 08:55
Há mais um hacker do bem a mostrar suas habilidades.
Ver originalResponder0
DogeBachelor
· 07-09 10:01
novato veio para comer uma refeição
Ver originalResponder0
HashBard
· 07-09 09:55
mais um dia, mais uma exploração... o mcp realmente precisa melhorar o seu jogo fr
Ver originalResponder0
VibesOverCharts
· 07-09 09:55
Outra vez a falar sobre o grande drama de ataque e defesa. Estou cansado de ouvir.
Demonstração de riscos de segurança do MCP: Análise completa desde a contaminação até o ataque real
MCP Segurança: Demonstração Prática de Envenenamento Oculto e Manipulação
O atual MCP( Modelo de Protocolo de Contexto) ainda está em fase de desenvolvimento inicial, com um ambiente geral bastante caótico, e várias formas de ataque potenciais surgindo sem parar, dificultando a defesa eficaz dos protocolos e ferramentas existentes. Para ajudar a comunidade a reconhecer e melhorar a segurança do MCP, uma equipe de segurança abriu o código-fonte da ferramenta MasterMCP, com o objetivo de ajudar os desenvolvedores a identificar rapidamente as vulnerabilidades de segurança no design do produto através de simulações de ataque reais, e assim reforçar gradualmente o projeto MCP.
Este artigo irá levar todos a praticar, demonstrando maneiras comuns de ataque sob o sistema MCP, como envenenamento de informações, instruções maliciosas ocultas e outros casos reais. Todos os scripts de demonstração também serão open source no GitHub, permitindo que desenvolvedores reproduzam 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 é uma das plataformas MCP mais populares atualmente, reunindo uma grande quantidade de listas MCP e usuários ativos. Entre eles, uma ferramenta oficial de gerenciamento MCP é a ferramenta de gerenciamento MCP lançada por essa plataforma.
Escolha esta ferramenta como o objetivo 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 para testes de segurança, projetada com uma arquitetura modular e inclui os seguintes módulos-chave:
Para uma representação mais realista dos cenários de ataque, o MasterMCP incorpora um módulo de simulação de serviço de site local. Ele utiliza o framework FastAPI para rapidamente montar um servidor HTTP simples, simulando ambientes de páginas web comuns. Essas páginas parecem normais à primeira vista, como exibir informações de uma pastelaria ou retornar dados JSON padrão, mas na verdade, escondem cargas maliciosas cuidadosamente desenhadas no código-fonte da página ou nas respostas da interface.
Este método pode 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 que, mesmo uma página da web que parece normal, pode se tornar uma fonte de risco que induz um modelo grande a executar operações anômalas.
O MasterMCP utiliza um método de plugin para expansão, facilitando a adição rápida de novos métodos de ataque posteriormente. Após a execução, o MasterMCP irá executar o serviço FastAPI do módulo anterior em um subprocesso. Aqui já existe uma vulnerabilidade de segurança - plugins locais podem iniciar subprocessos que não são previstos pelo MCP.
Cliente de Demonstração
modelo grande de demonstração
Escolha a versão Claude 3.7, pois houve melhorias na identificação de operações sensíveis, ao mesmo tempo que representa uma capacidade operacional mais forte no atual ecossistema MCP.
Demonstração de Chamada Maliciosa Cross-MCP
ataque de envenenamento de conteúdo da web
Aceda ao site de teste local através do Cursor, esta é uma página aparentemente inofensiva chamada "Delicious Cake World".
Executar comando:
Buscar o conteúdo de
Os resultados mostram que o Cursor não apenas leu o conteúdo da página, mas também enviou dados de configuração sensíveis locais de volta ao 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á consegue desencadear operações maliciosas.
Acesse a página /encode, que é uma página da web que parece idêntica ao exemplo anterior, mas cujas palavras-chave maliciosas foram codificadas, tornando a contaminação mais oculta, mesmo que seja difícil perceber diretamente ao visualizar o código-fonte da página.
Mesmo que o código-fonte não contenha palavras-chave em texto claro, o ataque ainda será executado com sucesso.
MCP ferramenta de retorno de informações de envenenamento
De acordo com as instruções do prompt MasterMCP, insira o comando simulado:
obter muitas maçãs
Após a execução do comando, o cliente chamou o Toolbox através do MCP e conseguiu adicionar um novo servidor MCP. Ao examinar o código do plugin, descobriu-se que os dados retornados já continham uma carga maliciosa codificada, quase imperceptível para o usuário.
Ataque de poluição de interface de terceiros
Executar pedido:
Buscar json de /api/data
Resultado: As palavras-chave maliciosas foram inseridas nos dados JSON retornados e acionaram com sucesso a execução maliciosa.
Técnica de envenenamento na fase de inicialização do MCP
ataque de sobrescrição de função maliciosa
MasterMCP escreveu a ferramenta remove_server com o mesmo nome da função Toolbox, e codificou para ocultar palavras-chave maliciosas.
Executar instruções:
remover plugin de busca do servidor toolbox
Claude Desktop não chamou o método remove_server da toolbox original, mas sim ativou o método homônimo fornecido pelo MasterMCP.
O princípio é enfatizar que "os métodos antigos foram descontinuados", priorizando a indução do grande modelo a chamar funções de sobreposição maliciosas.
Adicionar lógica de verificação global maliciosa
MasterMCP escreveu a ferramenta banana, cuja função principal é 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 cada execução da função, o sistema prioriza a chamada ao mecanismo de verificação banana. Isso é realizado através da ênfase repetida no código de que "a detecção banana deve ser executada" para implementar a injeção de 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 multilingues dos grandes modelos de linguagem, isso é frequentemente utilizado para esconder informações maliciosas, com métodos comuns incluindo:
Mecanismo de retorno de carga maliciosa aleatória
Quando solicitado /random, ele retornará 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, pudemos observar diretamente os vários riscos de segurança ocultos no sistema MCP. Desde a injeção simples de palavras-chave, chamadas cruzadas de MCP, até ataques mais encobertos 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.
Hoje, com modelos grandes interagindo frequentemente com plugins externos e APIs, uma pequena contaminação de entrada pode causar riscos de segurança em nível de sistema. A diversificação das técnicas dos atacantes, como a ocultação de código (, contaminação aleatória e sobreposição de funções ), significa que as abordagens tradicionais de proteção precisam de uma atualização abrangente.
Espero que esta demonstração sirva de alerta para todos: desenvolvedores e usuários devem permanecer vigilantes em relação ao sistema MCP, prestando atenção a cada interação, cada linha de código e cada valor de retorno. Apenas tratando cada detalhe com rigor, podemos construir um ambiente MCP sólido e seguro.
Continuaremos a melhorar o script MasterMCP, abrindo mais casos de teste direcionados para ajudar a entender, praticar e reforçar a proteção em um ambiente seguro.
O conteúdo relacionado foi sincronizado com o GitHub, os leitores interessados podem acessar diretamente para ver.