Desafios e soluções para a segurança do sistema MCP
Com o rápido desenvolvimento da tecnologia de inteligência artificial, o Model Context Protocol (MCP) enfrenta, ao mesmo tempo em que melhora a capacidade de grandes modelos, desafios de segurança cada vez mais severos. Atualmente, o sistema MCP ainda está em uma fase inicial de desenvolvimento, com um ambiente geral bastante caótico, e vários métodos de ataque potenciais surgindo constantemente, tornando difícil a defesa eficaz com os protocolos e ferramentas existentes. Para ajudar a comunidade a entender e melhorar a segurança do MCP, uma ferramenta de código aberto chamada MasterMCP foi criada, com o objetivo de ajudar os desenvolvedores a identificar prontamente as vulnerabilidades de segurança no design dos produtos através de simulações de ataques reais, fortalecendo gradualmente o projeto MCP.
Este artigo irá levar os leitores a praticar, demonstrando maneiras comuns de ataque no sistema MCP, como envenenamento de informações, ocultação de comandos maliciosos e outros casos reais. Todos os scripts de demonstração também serão disponibilizados no GitHub, permitindo que todos 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
A ferramenta de gestão oficial do MCP num conhecido site de plugins MCP foi escolhida como alvo de teste, principalmente com base nos seguintes pontos:
Uma grande base de usuários, representativa
Suporta 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 reproduzir de forma mais realista o cenário de ataque, o MasterMCP possui um módulo de simulação de serviço de site local embutido. Ele monta rapidamente um servidor HTTP simples usando o framework FastAPI, simulando um ambiente de página web comum. Essas páginas parecem normais à primeira vista, como a exibição de informações de uma loja de bolos ou o retorno de dados JSON padrão, mas na verdade, contêm cargas maliciosas cuidadosamente projetadas escondidas 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 todos a entender de forma mais intuitiva: mesmo uma página da web aparentemente comum pode se tornar uma fonte de risco que leva a um modelo grande a executar operações anômalas.
Estrutura MCP local e plugin
O MasterMCP utiliza uma abordagem modular 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. Se você prestar atenção, notará que já existe uma vulnerabilidade de segurança aqui - plugins locais podem iniciar subprocessos não previstos pelo MCP.
( cliente de demonstração
Cursor: uma das IDEs de programação assistidas por AI mais populares do mundo atualmente
Claude Desktop: um conhecido AI empresa )MCP protocolo personalizado ### cliente oficial
( modelo grande usado 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 de operação relativamente forte no atual ecossistema MCP.
Chamada maliciosa Cross-MCP
) ataque de envenenamento de conteúdo da web
Injeção de código comentada
Através do acesso a um site de teste local, simula-se o impacto causado pelo cliente de um grande modelo ao acessar sites maliciosos. Os resultados mostram que o cliente 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, as palavras-chave maliciosas foram inseridas na forma de comentários HTML. Embora a forma de comentário seja bastante direta e fácil de ser identificada, já é possível desencadear operações maliciosas.
![Prática: Envenenamento e Manipulação Oculta no Sistema MCP]###https://img-cdn.gateio.im/webp-social/moments-2fe451755dc3588ffc2ddbd7427dcf9b.webp###
Envenenamento de Comentários Codificados
Acesse a página /encode, que é uma página da web que parece igual ao exemplo acima, mas as palavras-chave maliciosas foram codificadas, tornando o envenenamento de exp mais discreto, mesmo que seja difícil perceber diretamente acessando 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.
( ataque de poluição de interface de terceiros
Esta demonstração destina-se principalmente a alertar a todos de que, quer seja um MCP malicioso ou não, ao chamar a API de terceiros, se os dados de terceiros forem retornados diretamente ao contexto, isso pode ter consequências graves.
![Prática: Envenenamento oculto e manipulação no sistema MCP])https://img-cdn.gateio.im/webp-social/moments-3840e36661d61bbb0dcee6d5cf38d376.webp###
Técnica de envenenamento na fase de inicialização do MC
( ataque de sobreposição de função maliciosa
MasterMCP escreveu uma ferramenta com o mesmo nome de função remove_server que o Toolbox, e codificou palavras-chave maliciosas de forma oculta. Ao enfatizar que "o método original foi desaprovado", induz prioritariamente o modelo grande a chamar a função maliciosa sobreposta.
![Pronto para a ação: Envenenamento e manipulação ocultos no sistema MCP])https://img-cdn.gateio.im/webp-social/moments-33ec895deae947ebc284e846286ccf1c.webp###
( Adicionar lógica de verificação global maliciosa
MasterMCP escreveu uma ferramenta chamada banana, cuja função principal é forçar que todas as ferramentas sejam executadas após a realização de uma verificação de segurança com esta ferramenta. Isso é alcançado através da injeção lógica global, enfatizando repetidamente no código que "o deteção banana deve ser executada".
![Prática: Envenenamento e Manipulação Oculta no Sistema MCP])https://img-cdn.gateio.im/webp-social/moments-e16c8d753ef00ec06f0bf607dc188446.webp###
Dicas avançadas para esconder palavras-chave maliciosas
( forma de codificação amigável para grandes modelos
Devido à forte capacidade de análise de formatos multilíngues do grande modelo de linguagem )LLM###, isso é frequentemente utilizado para ocultar informações maliciosas, 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, retorna aleatoriamente uma página com carga maliciosa a cada vez, aumentando significativamente a dificuldade de detecção e rastreamento.
![Prática: Envenenamento e Manipulação Oculta 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 as várias vulnerabilidades ocultas no sistema do Model Context Protocol (MCP). Desde a injeção simples de palavras-chave, chamadas cruzadas de MCP, até ataques na fase de inicialização mais ocultos 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 grandes modelos 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. E a diversificação dos métodos dos atacantes, como codificação oculta (, contaminação aleatória e sobreposição de funções ), também significa que as abordagens tradicionais de proteção precisam de uma atualização abrangente.
A segurança nunca é algo que se consegue de uma só vez. Espero que esta demonstração sirva de alerta para todos: tanto desenvolvedores como utilizadores devem manter suficiente vigilância sobre o sistema MCP, prestando atenção a cada interação, cada linha de código, cada valor de retorno. Só tratando rigorosamente cada detalhe é que se pode realmente construir um ambiente MCP sólido e 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.
17 Curtidas
Recompensa
17
6
Compartilhar
Comentário
0/400
GateUser-00be86fc
· 13h atrás
Vamos esperar mais um pouco para o lançamento, ainda não está estável o suficiente.
Ver originalResponder0
NullWhisperer
· 13h atrás
mcp parece uma bomba-relógio para ser sincero... mais um dia, mais uma exploração à espera de acontecer
Ver originalResponder0
StablecoinGuardian
· 13h atrás
Mais uma rodada de agitação que não consigo entender~
Ver originalResponder0
NFTRegretful
· 13h atrás
Cavar buracos ainda depende de especialistas.
Ver originalResponder0
StableGenius
· 13h atrás
previsível... venho dizendo isso sobre as falhas de segurança do mcp desde o segundo trimestre
Ver originalResponder0
GateUser-1a2ed0b9
· 13h atrás
Subi, subi, não aguento mais acidentes de segurança.
Análise abrangente dos riscos de segurança do MCP: do envenenamento à prática de ataques ocultos
Desafios e soluções para a segurança do sistema MCP
Com o rápido desenvolvimento da tecnologia de inteligência artificial, o Model Context Protocol (MCP) enfrenta, ao mesmo tempo em que melhora a capacidade de grandes modelos, desafios de segurança cada vez mais severos. Atualmente, o sistema MCP ainda está em uma fase inicial de desenvolvimento, com um ambiente geral bastante caótico, e vários métodos de ataque potenciais surgindo constantemente, tornando difícil a defesa eficaz com os protocolos e ferramentas existentes. Para ajudar a comunidade a entender e melhorar a segurança do MCP, uma ferramenta de código aberto chamada MasterMCP foi criada, com o objetivo de ajudar os desenvolvedores a identificar prontamente as vulnerabilidades de segurança no design dos produtos através de simulações de ataques reais, fortalecendo gradualmente o projeto MCP.
Este artigo irá levar os leitores a praticar, demonstrando maneiras comuns de ataque no sistema MCP, como envenenamento de informações, ocultação de comandos maliciosos e outros casos reais. Todos os scripts de demonstração também serão disponibilizados no GitHub, permitindo que todos 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
A ferramenta de gestão oficial do MCP num conhecido site de plugins MCP foi escolhida 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 para testes de segurança, projetada com uma arquitetura modular e inclui os seguintes módulos chave:
Para reproduzir de forma mais realista o cenário de ataque, o MasterMCP possui um módulo de simulação de serviço de site local embutido. Ele monta rapidamente um servidor HTTP simples usando o framework FastAPI, simulando um ambiente de página web comum. Essas páginas parecem normais à primeira vista, como a exibição de informações de uma loja de bolos ou o retorno de dados JSON padrão, mas na verdade, contêm cargas maliciosas cuidadosamente projetadas escondidas 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 todos a entender de forma mais intuitiva: mesmo uma página da web aparentemente comum pode se tornar uma fonte de risco que leva a um modelo grande a executar operações anômalas.
O MasterMCP utiliza uma abordagem modular 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. Se você prestar atenção, notará que já existe uma vulnerabilidade de segurança aqui - plugins locais podem iniciar subprocessos não previstos pelo MCP.
( cliente de demonstração
( modelo grande usado 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 de operação relativamente forte no atual ecossistema MCP.
Chamada maliciosa Cross-MCP
) ataque de envenenamento de conteúdo da web
Através do acesso a um site de teste local, simula-se o impacto causado pelo cliente de um grande modelo ao acessar sites maliciosos. Os resultados mostram que o cliente 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, as palavras-chave maliciosas foram inseridas na forma de comentários HTML. Embora a forma de comentário seja bastante direta e fácil de ser identificada, já é possível 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 parece igual ao exemplo acima, mas as palavras-chave maliciosas foram codificadas, tornando o envenenamento de exp mais discreto, mesmo que seja difícil perceber diretamente acessando 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.
( ataque de poluição de interface de terceiros
Esta demonstração destina-se principalmente a alertar a todos de que, quer seja um MCP malicioso ou não, ao chamar a API de terceiros, se os dados de terceiros forem retornados diretamente ao contexto, isso pode ter consequências graves.
![Prática: Envenenamento oculto e manipulação no sistema MCP])https://img-cdn.gateio.im/webp-social/moments-3840e36661d61bbb0dcee6d5cf38d376.webp###
Técnica de envenenamento na fase de inicialização do MC
( ataque de sobreposição de função maliciosa
MasterMCP escreveu uma ferramenta com o mesmo nome de função remove_server que o Toolbox, e codificou palavras-chave maliciosas de forma oculta. Ao enfatizar que "o método original foi desaprovado", induz prioritariamente o modelo grande a chamar a função maliciosa sobreposta.
![Pronto para a ação: Envenenamento e manipulação ocultos no sistema MCP])https://img-cdn.gateio.im/webp-social/moments-33ec895deae947ebc284e846286ccf1c.webp###
( Adicionar lógica de verificação global maliciosa
MasterMCP escreveu uma ferramenta chamada banana, cuja função principal é forçar que todas as ferramentas sejam executadas após a realização de uma verificação de segurança com esta ferramenta. Isso é alcançado através da injeção lógica global, enfatizando repetidamente no código que "o deteção banana deve ser executada".
![Prática: Envenenamento e Manipulação Oculta no Sistema MCP])https://img-cdn.gateio.im/webp-social/moments-e16c8d753ef00ec06f0bf607dc188446.webp###
Dicas avançadas para esconder palavras-chave maliciosas
( forma de codificação amigável para grandes modelos
Devido à forte capacidade de análise de formatos multilíngues do grande modelo de linguagem )LLM###, isso é frequentemente utilizado para ocultar informações maliciosas, métodos comuns incluem:
( mecanismo de retorno de carga maliciosa aleatória
Quando a solicitação é /random, retorna aleatoriamente uma página com carga maliciosa a cada vez, aumentando significativamente a dificuldade de detecção e rastreamento.
![Prática: Envenenamento e Manipulação Oculta 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 as várias vulnerabilidades ocultas no sistema do Model Context Protocol (MCP). Desde a injeção simples de palavras-chave, chamadas cruzadas de MCP, até ataques na fase de inicialização mais ocultos 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 grandes modelos 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. E a diversificação dos métodos dos atacantes, como codificação oculta (, contaminação aleatória e sobreposição de funções ), também significa que as abordagens tradicionais de proteção precisam de uma atualização abrangente.
A segurança nunca é algo que se consegue de uma só vez. Espero que esta demonstração sirva de alerta para todos: tanto desenvolvedores como utilizadores devem manter suficiente vigilância sobre o sistema MCP, prestando atenção a cada interação, cada linha de código, cada valor de retorno. Só tratando rigorosamente cada detalhe é que se pode realmente construir um ambiente MCP sólido e seguro.