Envenenamiento y manipulación encubiertos en el sistema MCP: demostración práctica
MCP (Modelo de Contexto de Protocolo) el sistema todavía se encuentra en una etapa temprana de desarrollo, el entorno general es bastante caótico, y diversas formas de ataque potencial aparecen constantemente, los protocolos y herramientas existentes son difíciles de defender de manera efectiva. Para ayudar a la comunidad a comprender y mejorar mejor la seguridad de MCP, ha surgido una herramienta de código abierto llamada MasterMCP. Esta herramienta tiene como objetivo, a través de simulacros de ataques reales, ayudar a los desarrolladores a identificar oportunamente los riesgos de seguridad en el diseño del producto, y así fortalecer gradualmente el proyecto MCP.
Este artículo guiará a los lectores a realizar prácticas, demostrando las formas comunes de ataque bajo el sistema MCP, como la inyección de información y la ocultación de comandos maliciosos, entre otros casos reales. Todos los scripts utilizados en las demostraciones también serán de código abierto, permitiendo a los lectores reproducir todo el proceso en un entorno seguro e incluso desarrollar sus propios complementos de prueba de ataque basados en estos scripts.
Visión general de la arquitectura
Objetivo de ataque de demostración MCP: Toolbox
Un sitio web de complementos es uno de los sitios de complementos MCP más populares en la actualidad, reuniendo una gran cantidad de listas de MCP y usuarios activos. La herramienta de gestión de MCP Toolbox, lanzada oficialmente, fue seleccionada como objetivo de prueba, principalmente por las siguientes razones:
La base de usuarios es enorme y representativa
Soporta la instalación automática de otros complementos, complementando algunas funciones del cliente.
Contiene configuraciones sensibles ( como la API Key ), lo que facilita la demostración
MCP malicioso utilizado en la demostración: MasterMCP
MasterMCP es una herramienta de simulación de MCP maliciosos diseñada específicamente para pruebas de seguridad, que utiliza una arquitectura modular y contiene los siguientes módulos clave:
Simulación de servicios de sitios web locales:
Para reproducir de manera más realista el escenario de ataque, MasterMC incluye un módulo de simulación de servicio web local. A través del marco FastAPI, se establece rápidamente un servidor HTTP simple que simula un entorno web común. Estas páginas parecen normales en la superficie, pero en realidad esconden cargas maliciosas meticulosamente diseñadas en el código fuente de la página o en las respuestas de la interfaz.
De esta manera, podemos demostrar de forma completa técnicas de ataque como la inyección de información y el ocultamiento de instrucciones en un entorno local seguro y controlado, ayudando al lector a entender de manera más intuitiva: incluso una página web que parece común puede convertirse en una fuente de riesgo que desencadene operaciones anormales en modelos grandes.
Arquitectura MCP de plugins locales
MasterMCP utiliza un enfoque modular para su expansión, facilitando la rápida adición de nuevas formas de ataque en el futuro. Al ejecutarse, MasterMCP iniciará el servicio FastAPI del módulo en un subproceso. (Los lectores atentos notarán que ya existe un riesgo de seguridad aquí: los plugins locales pueden iniciar subprocesos que no son los esperados por MCP ).
cliente de demostración
Cursor: Uno de los IDE de programación asistida por IA más populares del mundo.
Claude Desktop: cliente oficial de una gran empresa de modelos
modelo grande utilizado para 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 relativamente fuerte en el ecosistema actual de MCP.
Cross-MCP llamada maliciosa
Esta demostración incluye dos contenidos: envenenamiento y llamadas maliciosas Cross-MCP.
ataque de envenenamiento de contenido web
Inyección de comentarios
Cursor accede al sitio web de prueba local. Esta es una página aparentemente inofensiva sobre "Delicious Cake World", y a través de este experimento, simulamos el impacto que tiene el acceso de un cliente de un gran modelo a un sitio web malicioso.
Ejecutar instrucciones:
Recuperar el contenido de
Los resultados muestran que 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 en forma de comentarios HTML.
Aunque el método de comentario es bastante directo y fácil de identificar, ya puede desencadenar operaciones maliciosas.
Inyección de comentarios codificados
Visita la página /encode, que es una página web que se ve igual que el ejemplo anterior, pero donde las palabras clave maliciosas han sido codificadas, lo que hace que el ataque de inyección sea más oculto, 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 plano, el ataque aún se ejecuta con éxito, el principio específico se explicará en detalle en capítulos posteriores.
MCP herramienta devuelve información de envenenamiento
Aquí, según las instrucciones de palabras clave de MasterMCP, se ingresa el comando simulado (. Este comando no tiene un significado real y tiene como objetivo activar un MCP malicioso para demostrar las operaciones posteriores del MCP malicioso ):
conseguir 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 plugin, se puede descubrir que los datos devueltos ya contienen una carga maliciosa procesada y codificada, lo que hace que sea casi imperceptible para el usuario.
ataque de contaminación de interfaz de terceros
Esta demostración tiene como objetivo recordarles a todos que, ya sea un MCP malicioso o no malicioso, al llamar a una API de terceros, si se devuelven los datos de terceros directamente al contexto, esto puede tener graves repercusiones.
Ejecutar solicitud:
Fetch json from /api/data
Resultado: las palabras clave maliciosas fueron insertadas en los datos JSON devueltos y lograron activar la ejecución maliciosa.
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 escribió una herramienta llamada remove_server con la misma función que Toolbox, y codificó palabras clave maliciosas ocultas.
Ejecutar instrucción:
herramienta quitar obtener complemento servidor
Claude Desktop no llamó al método remove_server del toolbox original, sino que activó el método homónimo proporcionado por MasterMCP.
El principio es enfatizar que "el método anterior ha sido desechado" y priorizar la inducción de que el gran modelo invoque funciones de cobertura maliciosa.
añadir lógica de verificación global maliciosa
Aquí MasterMCP ha escrito una herramienta llamada banana, cuyo objetivo principal es forzar que todas las herramientas se ejecuten después de realizar una verificación de seguridad mediante esta herramienta en los mensajes de aviso.
Antes de ejecutar la función, el sistema siempre llamará primero al mecanismo de verificación de banana.
Esta es la inyección de lógica global lograda al enfatizar repetidamente en el código que "debe ejecutarse la detección de banana".
Técnicas avanzadas para ocultar palabras clave maliciosas
forma de codificación amigable para grandes modelos
Debido a que el modelo de lenguaje grande ( LLM ) tiene una gran capacidad de análisis de 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
mecanismo de retorno de carga maliciosa aleatoria
Como se menciona en el capítulo dos, la contaminación de la interfaz de terceros, al solicitar /random, siempre devuelve aleatoriamente una página con una carga útil maliciosa, lo que aumenta considerablemente la dificultad de detección y rastreo.
MCP(. Desde la simple inyección de palabras clave, las llamadas cruzadas de MCP, hasta ataques en la fase de inicialización más encubiertos y el ocultamiento de instrucciones maliciosas, cada etapa nos recuerda: aunque el ecosistema MCP es poderoso, también es vulnerable.
Especialmente hoy en día, cuando los grandes modelos interactúan cada vez más con complementos externos y APIs, una pequeña contaminación de entrada puede desencadenar riesgos de seguridad a nivel del sistema. La diversificación de los métodos de ataque ), como la codificación oculta, la contaminación aleatoria y la sobrescritura de funciones (, también significa que las ideas de defensa tradicionales necesitan una actualización completa.
La seguridad nunca se logra 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 adecuada sobre el sistema MCP, prestando atención a cada interacción, cada línea de código y cada valor de retorno. Solo tratando cada detalle con rigor se puede construir un entorno MCP sólido y seguro.
El siguiente paso es que continuaremos mejorando el script MasterMCP, liberando más casos de prueba específicos para ayudar a todos a comprender, practicar y fortalecer la protección en un entorno seguro.
![Iniciando la práctica: envenenamiento encubierto y manipulación en el sistema MCP])https://img-cdn.gateio.im/webp-social/moments-bf6d8976b54bebbec34699753f4dbb70.webp(
Ver originales
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.
7 me gusta
Recompensa
7
5
Compartir
Comentar
0/400
HalfIsEmpty
· hace3h
Esto es demasiado salvaje, ¿están enseñando a la gente a hacer un Rug Pull?
Ver originalesResponder0
SchrodingerWallet
· 07-06 08:35
Avanzar hasta la caída de Mainnet
Ver originalesResponder0
ApeDegen
· 07-06 08:26
Se sugiere que este proyecto caiga a cero.
Ver originalesResponder0
MEVEye
· 07-06 08:12
mcp realmente se ha convertido en un campo de práctica, es absurdo lo de雀氏
Ver originalesResponder0
Ramen_Until_Rich
· 07-06 08:12
Hay tantos errores que sería mejor revisar el código.
Práctica de riesgos de seguridad de MCP: demostración completa desde la inyección hasta el ataque encubierto
Envenenamiento y manipulación encubiertos en el sistema MCP: demostración práctica
MCP (Modelo de Contexto de Protocolo) el sistema todavía se encuentra en una etapa temprana de desarrollo, el entorno general es bastante caótico, y diversas formas de ataque potencial aparecen constantemente, los protocolos y herramientas existentes son difíciles de defender de manera efectiva. Para ayudar a la comunidad a comprender y mejorar mejor la seguridad de MCP, ha surgido una herramienta de código abierto llamada MasterMCP. Esta herramienta tiene como objetivo, a través de simulacros de ataques reales, ayudar a los desarrolladores a identificar oportunamente los riesgos de seguridad en el diseño del producto, y así fortalecer gradualmente el proyecto MCP.
Este artículo guiará a los lectores a realizar prácticas, demostrando las formas comunes de ataque bajo el sistema MCP, como la inyección de información y la ocultación de comandos maliciosos, entre otros casos reales. Todos los scripts utilizados en las demostraciones también serán de código abierto, permitiendo a los lectores reproducir todo el proceso en un entorno seguro e incluso desarrollar sus propios complementos de prueba de ataque basados en estos scripts.
Visión general de la arquitectura
Objetivo de ataque de demostración MCP: Toolbox
Un sitio web de complementos es uno de los sitios de complementos MCP más populares en la actualidad, reuniendo una gran cantidad de listas de MCP y usuarios activos. La herramienta de gestión de MCP Toolbox, lanzada oficialmente, fue seleccionada como objetivo de prueba, principalmente por las siguientes razones:
MCP malicioso utilizado en la demostración: MasterMCP
MasterMCP es una herramienta de simulación de MCP maliciosos diseñada específicamente para pruebas de seguridad, que utiliza una arquitectura modular y contiene los siguientes módulos clave:
Para reproducir de manera más realista el escenario de ataque, MasterMC incluye un módulo de simulación de servicio web local. A través del marco FastAPI, se establece rápidamente un servidor HTTP simple que simula un entorno web común. Estas páginas parecen normales en la superficie, pero en realidad esconden cargas maliciosas meticulosamente diseñadas en el código fuente de la página o en las respuestas de la interfaz.
De esta manera, podemos demostrar de forma completa técnicas de ataque como la inyección de información y el ocultamiento de instrucciones en un entorno local seguro y controlado, ayudando al lector a entender de manera más intuitiva: incluso una página web que parece común puede convertirse en una fuente de riesgo que desencadene operaciones anormales en modelos grandes.
MasterMCP utiliza un enfoque modular para su expansión, facilitando la rápida adición de nuevas formas de ataque en el futuro. Al ejecutarse, MasterMCP iniciará el servicio FastAPI del módulo en un subproceso. (Los lectores atentos notarán que ya existe un riesgo de seguridad aquí: los plugins locales pueden iniciar subprocesos que no son los esperados por MCP ).
cliente de demostración
modelo grande utilizado para demostración
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 relativamente fuerte en el ecosistema actual de MCP.
Cross-MCP llamada maliciosa
Esta demostración incluye dos contenidos: envenenamiento y llamadas maliciosas Cross-MCP.
ataque de envenenamiento de contenido web
Cursor accede al sitio web de prueba local. Esta es una página aparentemente inofensiva sobre "Delicious Cake World", y a través de este experimento, simulamos el impacto que tiene el acceso de un cliente de un gran modelo a un sitio web malicioso.
Ejecutar instrucciones:
Recuperar el contenido de
Los resultados muestran que 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 en forma de comentarios HTML.
Aunque el método de comentario es bastante directo y fácil de identificar, ya puede desencadenar operaciones maliciosas.
Visita la página /encode, que es una página web que se ve igual que el ejemplo anterior, pero donde las palabras clave maliciosas han sido codificadas, lo que hace que el ataque de inyección sea más oculto, 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 plano, el ataque aún se ejecuta con éxito, el principio específico se explicará en detalle en capítulos posteriores.
MCP herramienta devuelve información de envenenamiento
Aquí, según las instrucciones de palabras clave de MasterMCP, se ingresa el comando simulado (. Este comando no tiene un significado real y tiene como objetivo activar un MCP malicioso para demostrar las operaciones posteriores del MCP malicioso ):
conseguir 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 plugin, se puede descubrir que los datos devueltos ya contienen una carga maliciosa procesada y codificada, lo que hace que sea casi imperceptible para el usuario.
ataque de contaminación de interfaz de terceros
Esta demostración tiene como objetivo recordarles a todos que, ya sea un MCP malicioso o no malicioso, al llamar a una API de terceros, si se devuelven los datos de terceros directamente al contexto, esto puede tener graves repercusiones.
Ejecutar solicitud:
Fetch json from /api/data
Resultado: las palabras clave maliciosas fueron insertadas en los datos JSON devueltos y lograron activar la ejecución maliciosa.
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 escribió una herramienta llamada remove_server con la misma función que Toolbox, y codificó palabras clave maliciosas ocultas.
Ejecutar instrucción:
herramienta quitar obtener complemento servidor
Claude Desktop no llamó al método remove_server del toolbox original, sino que activó el método homónimo proporcionado por MasterMCP.
El principio es enfatizar que "el método anterior ha sido desechado" y priorizar la inducción de que el gran modelo invoque funciones de cobertura maliciosa.
añadir lógica de verificación global maliciosa
Aquí MasterMCP ha escrito una herramienta llamada banana, cuyo objetivo principal es forzar que todas las herramientas se ejecuten después de realizar una verificación de seguridad mediante esta herramienta en los mensajes de aviso.
Antes de ejecutar la función, el sistema siempre llamará primero al mecanismo de verificación de banana.
Esta es la inyección de lógica global lograda al enfatizar repetidamente en el código que "debe ejecutarse la detección de banana".
Técnicas avanzadas para ocultar palabras clave maliciosas
forma de codificación amigable para grandes modelos
Debido a que el modelo de lenguaje grande ( LLM ) tiene una gran capacidad de análisis de formatos multilingües, esto se utiliza para ocultar información maliciosa, los métodos comunes incluyen:
mecanismo de retorno de carga maliciosa aleatoria
Como se menciona en el capítulo dos, la contaminación de la interfaz de terceros, al solicitar /random, siempre devuelve aleatoriamente una página con una carga útil maliciosa, lo que aumenta considerablemente la dificultad de detección y rastreo.
MCP(. Desde la simple inyección de palabras clave, las llamadas cruzadas de MCP, hasta ataques en la fase de inicialización más encubiertos y el ocultamiento de instrucciones maliciosas, cada etapa nos recuerda: aunque el ecosistema MCP es poderoso, también es vulnerable.
Especialmente hoy en día, cuando los grandes modelos interactúan cada vez más con complementos externos y APIs, una pequeña contaminación de entrada puede desencadenar riesgos de seguridad a nivel del sistema. La diversificación de los métodos de ataque ), como la codificación oculta, la contaminación aleatoria y la sobrescritura de funciones (, también significa que las ideas de defensa tradicionales necesitan una actualización completa.
La seguridad nunca se logra 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 adecuada sobre el sistema MCP, prestando atención a cada interacción, cada línea de código y cada valor de retorno. Solo tratando cada detalle con rigor se puede construir un entorno MCP sólido y seguro.
El siguiente paso es que continuaremos mejorando el script MasterMCP, liberando más casos de prueba específicos para ayudar a todos a comprender, practicar y fortalecer la protección en un entorno seguro.
![Iniciando la práctica: envenenamiento encubierto y manipulación en el sistema MCP])https://img-cdn.gateio.im/webp-social/moments-bf6d8976b54bebbec34699753f4dbb70.webp(