Demostración práctica de riesgos de seguridad del sistema MCP: de la envenenación a la manipulación encubierta

Envenenamiento y manipulación encubiertos en el sistema MCP: demostración práctica

MCP (Modelo de Contexto del Protocolo)El sistema se encuentra actualmente en una etapa temprana de desarrollo, el entorno general es bastante caótico, y surgen continuamente diversas formas de ataque potencial, lo que dificulta la defensa efectiva de los protocolos y herramientas existentes. Para ayudar a la comunidad a comprender y mejorar mejor la seguridad de MCP, Slow Mist ha decidido abrir el código fuente de la herramienta MasterMCP, con la esperanza de que a través de simulaciones de ataques reales, se puedan identificar vulnerabilidades de seguridad en el diseño del producto, y así fortalecer gradualmente el proyecto MCP.

Este artículo llevará a todos a una demostración práctica de los métodos de ataque comunes bajo el sistema MCP, como la inyección de información y la ocultación de instrucciones maliciosas, entre otros casos reales. Todos los scripts de demostración también se abrirán como código abierto, y todos podrán reproducir todo el proceso en un entorno seguro, e incluso desarrollar sus propios complementos de prueba de ataque basados en estos scripts.

Práctica: Envenenamiento y manipulación encubierta en el sistema MCP

Visión general de la arquitectura

Demostración de ataque objetivo MC:Toolbox

smithery.ai es uno de los sitios web de plugins MCP más populares en la actualidad, que reúne una gran cantidad de listas de MCP y usuarios activos. Entre ellos, @smithery/toolbox es la herramienta de gestión de MCP lanzada oficialmente por smithery.ai.

Seleccionar Toolbox como objetivo de prueba, principalmente basado en los siguientes puntos:

  • La base de usuarios es grande y representativa
  • Soporta la instalación automática de otros complementos, complementando algunas funciones del cliente ( como Claude Desktop )
  • Incluye configuraciones sensibles ( como la clave API ), lo que facilita realizar demostraciones.

Práctica: Envenenamiento y manipulación encubiertos en el sistema MCP

Uso malicioso de MCP:MasterMCP de demostración

MasterMCP es una herramienta simulada de MCP malicioso escrita por Slow Fog específicamente para pruebas de seguridad, diseñada con una arquitectura modular, que incluye los siguientes módulos clave:

  1. Simulación de servicio de sitio web local:

Para recrear de manera más realista el escenario de ataque, MasterMCP incorpora un módulo de simulación de servicio web local. Utiliza el framework FastAPI para crear rápidamente un servidor HTTP simple, simulando un entorno web común. Estas páginas parecen normales, como mostrar información de una pastelería o devolver datos JSON estándar, pero en realidad contienen cargas maliciosas diseñadas cuidadosamente en el código fuente de la página o en las respuestas de la interfaz.

  1. Arquitectura MCP de plugins locales

MasterMCP utiliza un enfoque de plug-in para su expansión, lo que facilita la adición rápida de nuevos métodos de ataque en el futuro. Después de ejecutarse, MasterMCP ejecutará el servicio FastAPI del módulo anterior en un subproceso. ( aquí ya existe un riesgo de seguridad - los complementos locales pueden iniciar arbitrariamente subprocesos no previstos por MCP ).

Práctica: envenenamiento encubierto y control en el sistema MCP

cliente de demostración

  • Cursor: uno de los IDE de programación asistida por IA más populares del mundo
  • Claude Desktop: Anthropic ( MC protocolo personalizado ) cliente oficial

modelo grande de demostración

  • Claude 3.7

Elija la versión Claude 3.7, ya que ha habido ciertas mejoras en la identificación de operaciones sensibles, y representa una capacidad operativa bastante fuerte en el actual ecosistema MCP.

Invocación Maliciosa de Cross-MCP

Esta presentación incluye dos contenidos: envenenamiento y llamadas maliciosas Cross-MCP.

ataque de envenenamiento de contenido web

  1. Inyección de comentarios

Cursor accede al sitio web de prueba local.

Esta es una página aparentemente inofensiva de "Delicious Cake World". A través de este experimento, simulamos mostrar el impacto de un cliente de modelo grande accediendo a un sitio web malicioso.

Ejecutar instrucciones:

Obtener el contenido de

Los resultados muestran que el Cursor no solo leyó el contenido de la página web, sino que también devolvió datos de configuración sensibles locales al servidor de pruebas. En el código fuente, las palabras clave maliciosas están incrustadas como comentarios HTML.

Aunque el método de anotación es bastante directo y fácil de identificar, ya puede activar operaciones maliciosas.

Práctica: Envenenamiento y manipulación encubiertos en el sistema MCP

  1. Inyección de comentarios codificados

Acceder a la página /encode, es una página web que parece igual que el ejemplo anterior, pero las palabras clave maliciosas están codificadas, lo que hace que el exp de envenenamiento sea más sutil, incluso al acceder al código fuente de la página web es difícil de detectar directamente.

Incluso si el código fuente no contiene palabras clave en texto claro, el ataque aún se ejecuta con éxito.

Práctica: Envenenamiento encubierto y manipulación en el sistema MCP

MCP herramienta de retorno de información de envenenamiento

Según las instrucciones de las palabras clave de MasterMCP, ingrese el comando simulado (. Este comando no tiene significado real, sino que tiene como objetivo activar el MCP malicioso para demostrar sus operaciones posteriores ):

consigue muchas manzanas

Se puede ver que, después de activar el comando, el cliente llamó a Toolbox a través de MCP y agregó con éxito un nuevo servidor MCP.

Al revisar el código del complemento, se puede descubrir que los datos devueltos ya contienen una carga maliciosa procesada y codificada, lo que casi no permite a los usuarios detectar anomalías.

Práctica: envenenamiento encubierto y manipulación en el sistema MCP

ataque de contaminación de interfaces de terceros

Esta demostración es principalmente para recordar que, ya sea que se trate de MCP maliciosos o no maliciosos, al llamar a una API de terceros, si se devuelven directamente los datos de terceros al contexto, esto puede tener graves repercusiones.

Ejecutar solicitud:

Obtener json de /api/data

Resultado: se implantaron palabras clave maliciosas en los datos JSON devueltos y se activó con éxito la ejecución maliciosa.

Práctica: envenenamiento y manipulación encubiertos en el sistema MCP

Técnica de envenenamiento en la fase de inicialización de MCP

Esta demostración incluye la inyección de palabras clave iniciales y dos contenidos sobre conflictos de nombres.

ataque de sobrescritura de función maliciosa

Aquí MasterMCP ha escrito una herramienta con el mismo nombre de función remove_server que Toolbox, y ha codificado palabras clave maliciosas ocultas.

Ejecutar instrucciones:

eliminar el complemento de fetch del servidor toolbox

Claude Desktop no llamó al método remove_server original de toolbox, sino que activó el método homónimo proporcionado por MasterMCP.

El principio es enfatizar que "el método original ha sido desechado" para inducir prioritariamente al modelo grande a llamar a funciones de sobreescritura maliciosas.

Práctica: Envenenamiento y manipulación encubiertos en el sistema MCP

añadir lógica de verificación global maliciosa

Aquí, MasterMCP ha creado una herramienta de banana, cuyo propósito principal es forzar que todas las herramientas se ejecuten después de realizar una verificación de seguridad con esta herramienta en las indicaciones.

Antes de ejecutar la función, el sistema siempre llamará primero al mecanismo de verificación de banana.

Esta es una inyección lógica global lograda al enfatizar repetidamente en el código que "debe ejecutarse la detección de banana".

Práctica: envenenamiento y manipulación encubierta en el sistema MCP

Técnicas avanzadas para ocultar palabras clave maliciosas

forma de codificación amigable para grandes modelos

Debido a la fuerte capacidad de análisis del modelo de lenguaje grande (LLM) para formatos multilingües, esto se utiliza para ocultar información maliciosa, los métodos comunes incluyen:

  • En un entorno en inglés: usar codificación Hex Byte
  • En un entorno chino: usar codificación NCR o codificación JavaScript

![Práctica: Envenenamiento encubierto y manipulación en el sistema MCP](https://img-cdn.gateio.im/webp-social/moments-c5a25d6fa43a286a07b6a57c1a3f9605.webp01

) mecanismo de retorno de carga maliciosa aleatoria

Como se menciona en el capítulo dos sobre la contaminación de la interfaz de terceros, cuando se solicita /random:

Cada vez se devuelve aleatoriamente una página con carga maliciosa, lo que aumenta significativamente la dificultad de detección y rastreo.

![Práctica: Envenenamiento y manipulación encubiertos en el sistema MCP]###https://img-cdn.gateio.im/webp-social/moments-bf6d8976b54bebbec34699753f4dbb70.webp(

Resumen

A través de la demostración práctica de MasterMCP, hemos visto de manera intuitiva los diversos riesgos de seguridad ocultos en el sistema del Model Context Protocol )MCP(. Desde la simple inyección de palabras clave, llamadas cruzadas de MCP, hasta ataques en la fase de inicialización y ocultación de instrucciones maliciosas, cada etapa nos recuerda: aunque el ecosistema MCP es poderoso, también es vulnerable.

Especialmente hoy en día, cuando los modelos grandes interactúan cada vez más con complementos externos y API, una pequeña contaminación de entrada puede provocar riesgos de seguridad a nivel de sistema. Y la diversidad de métodos de ataque como la codificación oculta ), la contaminación aleatoria y la sobrecarga de funciones ( también significa que los enfoques de defensa tradicionales necesitan una actualización completa.

La seguridad nunca es algo que se logre de la noche a la mañana.

Espero que esta demostración sirva como una llamada de atención para todos: tanto desarrolladores como usuarios deben mantener una vigilancia suficiente sobre el sistema MCP, prestando atención a cada interacción, cada línea de código y cada valor de retorno. Solo al tratar cada detalle con rigor, se puede construir un entorno MCP sólido y seguro.

El siguiente paso es que continuaremos mejorando el script MasterMCP, publicando más casos de prueba específicos de código abierto, para ayudar a todos a entender, practicar y fortalecer la protección en un entorno seguro.

![Práctica: Envenenamiento y control encubiertos en el sistema MCP])https://img-cdn.gateio.im/webp-social/moments-e92a70908e6828b2895dd5f52c58459e.webp(

Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • 7
  • Republicar
  • Compartir
Comentar
0/400
EthSandwichHerovip
· 07-18 06:35
Este viejo truco es más fácil de ser atacado, ¿verdad?
Ver originalesResponder0
gas_guzzlervip
· 07-16 22:51
MCP mira el peligro, ¡escapa rápido!
Ver originalesResponder0
faded_wojak.ethvip
· 07-15 19:06
Ver a través de tu mcp jugando trucos
Ver originalesResponder0
PanicSellervip
· 07-15 19:06
¿Todavía no han tomado a la gente por tonta y ya lo han dejado así?
Ver originalesResponder0
LiquiditySurfervip
· 07-15 19:01
La seguridad de la cadena de bloques también debe ajustar el mejor punto de subida para surfear~ La actual situación caótica es tan intensa que ni un martini con hielo es suficiente para enfriar.
Ver originalesResponder0
consensus_failurevip
· 07-15 18:54
Hablando en serio, no deberíamos dejar este tipo de fallos abiertos todo el tiempo.
Ver originalesResponder0
AllInAlicevip
· 07-15 18:50
Este trabajo es demasiado salvaje, me siento un poco nervioso.
Ver originalesResponder0
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)