Análisis práctico de la contaminación y manipulación encubierta en el sistema MCP
MCP (Modelo de Contexto de Protocolo) el sistema actualmente se encuentra en una etapa temprana de desarrollo, el entorno general es bastante caótico, y surgen constantemente diversas formas de ataque potencial, lo que hace que el diseño de los protocolos y herramientas existentes sea difícil de defender de manera efectiva. Para ayudar a la comunidad a comprender mejor y mejorar la seguridad de MCP, un equipo de seguridad ha abierto el código de la herramienta MasterMCP, con la esperanza de que a través de ejercicios de ataque reales, se ayude a los desarrolladores a identificar a tiempo los riesgos de seguridad en el diseño del producto, y así fortalecer gradualmente el proyecto MCP.
Este artículo llevará a los lectores a realizar prácticas, demostrando las formas comunes de ataque bajo el sistema MCP, como envenenamiento de información, instrucciones maliciosas ocultas y otros casos reales. Todos los scripts de demostración también se abrirán como código fuente, y los lectores podrán reproducir todo el proceso en un entorno seguro, e incluso desarrollar sus propios complementos de prueba de ataque basándose en estos scripts.
Visión general de la arquitectura
Demostración del objetivo de ataque MCP:Toolbox
Un conocido sitio web de plugins MCP es uno de los lugares más populares para MCP, que reúne una gran cantidad de listas de MCP y usuarios activos. Entre ellos, 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 ciertas funciones del cliente.
Incluye configuraciones sensibles ( como la clave API ), facilitando la demostración.
Uso malicioso de MCP: MasterMCP de demostración
MasterMCP es una herramienta de simulación de MCP maliciosos diseñada específicamente para pruebas de seguridad, que utiliza una arquitectura basada en plugins e incluye los siguientes módulos clave:
Simulación de servicio de sitios web locales:
Para recrear de manera más realista el escenario de ataque, MasterMCP incorpora un módulo de simulación de servicio web local. A través del marco FastAPI, se puede construir rápidamente un servidor HTTP simple que simula un entorno web común. Estas páginas parecen normales en la superficie, pero en realidad ocultan cargas maliciosas diseñadas cuidadosamente en el código fuente de la página o en las respuestas de la interfaz.
Arquitectura MCP local y modular
MasterMCP utiliza un enfoque modular para la expansión, lo que facilita la adición rápida de nuevos métodos de ataque en el futuro. Una vez en funcionamiento, MasterMCP ejecutará el servicio FastAPI mencionado anteriormente en un proceso hijo.
Cliente de demostración
Cursor: uno de los IDE de programación asistida por IA más populares del mundo.
Claude Desktop:Anthropic(MCP protocolo personalizado)cliente oficial
modelo grande utilizado para demostración
Claude 3.7
Selecciona la versión Claude 3.7, ya que ha mejorado en la identificación de operaciones sensibles y representa una capacidad operativa bastante fuerte en el ecosistema actual de MCP.
Llamadas maliciosas de Cross-MCP
ataque de envenenamiento de contenido web
Inyección de comentarios
Acceder al sitio web de prueba local a través de Cursor, simulando el impacto de un cliente de gran modelo que accede a un sitio web malicioso.
Ejecutar instrucción:
Obtén 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 comentario HTML. Aunque el método de comentario es bastante evidente y fácil de reconocer, ya puede activar operaciones maliciosas.
Inyección de comentarios codificados
Visitar la página /encode, que parece ser una página web normal, pero en la que las palabras clave maliciosas han sido codificadas, haciendo que el envenenamiento sea más encubierto, incluso al ver el código fuente de la página es difícil de percibir directamente.
Incluso si el código fuente no contiene pistas en texto claro, el ataque aún se ejecuta con éxito.
ataque de contaminación de interfaz de terceros
Esta demostración tiene como principal objetivo advertir que, ya sea que el MCP sea malicioso o no, 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: Palabras clave maliciosas fueron insertadas en los datos JSON devueltos y se activaron con éxito la ejecución maliciosa.
Técnica de envenenamiento en la fase de inicialización de MCP
ataque de sobrescritura de función maliciosa
MasterMCP escribió una herramienta llamada remove_server que tiene la misma función que Toolbox, y codificó palabras clave maliciosas ocultas.
Ejecutar instrucciones:
herramienta eliminar plugin de fetch servidor
Claude Desktop no llamó al método remove_server de toolbox original, sino que activó el método homónimo proporcionado por MasterMCP.
El principio es enfatizar que "el método original ha sido desechado", priorizando inducir al modelo grande a llamar a la función de sobreescritura maliciosa.
agregar lógica de verificación global maliciosa
MasterMCP ha desarrollado una herramienta banana, cuya función principal es forzar que todas las herramientas se ejecuten solo después de que se haya llevado a cabo una revisión de seguridad mediante esta herramienta en la frase de aviso.
Antes de ejecutar la función, el sistema siempre llama primero al mecanismo de verificación banana. Esto se logra mediante la insistencia en el código de que "se debe ejecutar la verificación banana" para implementar la inyección lógica global.
Técnicas avanzadas para ocultar palabras clave maliciosas
forma de codificación amigable para grandes modelos
Debido a la fuerte capacidad de análisis de los modelos de lenguaje de gran tamaño en formatos multilingües, esto se ha utilizado 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
Cuando se solicita /random, siempre se devuelve aleatoriamente una página con carga maliciosa, lo que aumenta considerablemente la dificultad de detección y rastreo.
MCP(. Desde inyecciones de palabras clave simples, llamadas cruzadas de MCP, hasta ataques en la fase de inicialización más encubiertos y ocultación de instrucciones maliciosas, cada etapa nos recuerda: aunque el ecosistema MCP es poderoso, también es frágil.
Especialmente hoy en día, cuando los grandes modelos interactúan con complementos externos y API con mayor frecuencia, una pequeña contaminación de entrada puede desencadenar un riesgo de seguridad a nivel de sistema. La diversificación de los métodos de ataque, como el ocultamiento de códigos ), la contaminación aleatoria y la cobertura de funciones (, también significa que los enfoques de protección 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 adecuada 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.
![Práctica: Envenenamiento y manipulación encubiertos en el sistema MCP])https://img-cdn.gateio.im/webp-social/moments-bf6d8976b54bebbec34699753f4dbb70.webp(
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.
17 me gusta
Recompensa
17
3
Compartir
Comentar
0/400
MysteriousZhang
· 07-12 21:34
¡Este bug es realmente sutil! Los que se encargan de la seguridad son realmente duros.
Ver originalesResponder0
LiquidationKing
· 07-12 21:15
Esta vulnerabilidad es realmente buena.
Ver originalesResponder0
HashBard
· 07-12 21:07
otro día, otro exploit... *bebe té mientras observa cómo se quema mcp*
Análisis de riesgos de seguridad del sistema MCP: demostración práctica de envenenamiento encubierto y manipulación.
Análisis práctico de la contaminación y manipulación encubierta en el sistema MCP
MCP (Modelo de Contexto de Protocolo) el sistema actualmente se encuentra en una etapa temprana de desarrollo, el entorno general es bastante caótico, y surgen constantemente diversas formas de ataque potencial, lo que hace que el diseño de los protocolos y herramientas existentes sea difícil de defender de manera efectiva. Para ayudar a la comunidad a comprender mejor y mejorar la seguridad de MCP, un equipo de seguridad ha abierto el código de la herramienta MasterMCP, con la esperanza de que a través de ejercicios de ataque reales, se ayude a los desarrolladores a identificar a tiempo los riesgos de seguridad en el diseño del producto, y así fortalecer gradualmente el proyecto MCP.
Este artículo llevará a los lectores a realizar prácticas, demostrando las formas comunes de ataque bajo el sistema MCP, como envenenamiento de información, instrucciones maliciosas ocultas y otros casos reales. Todos los scripts de demostración también se abrirán como código fuente, y los lectores podrán reproducir todo el proceso en un entorno seguro, e incluso desarrollar sus propios complementos de prueba de ataque basándose en estos scripts.
Visión general de la arquitectura
Demostración del objetivo de ataque MCP:Toolbox
Un conocido sitio web de plugins MCP es uno de los lugares más populares para MCP, que reúne una gran cantidad de listas de MCP y usuarios activos. Entre ellos, la herramienta de gestión de MCP Toolbox, lanzada oficialmente, fue seleccionada como objetivo de prueba, principalmente por las siguientes razones:
Uso malicioso de MCP: MasterMCP de demostración
MasterMCP es una herramienta de simulación de MCP maliciosos diseñada específicamente para pruebas de seguridad, que utiliza una arquitectura basada en plugins e incluye los siguientes módulos clave:
Para recrear de manera más realista el escenario de ataque, MasterMCP incorpora un módulo de simulación de servicio web local. A través del marco FastAPI, se puede construir rápidamente un servidor HTTP simple que simula un entorno web común. Estas páginas parecen normales en la superficie, pero en realidad ocultan cargas maliciosas diseñadas cuidadosamente en el código fuente de la página o en las respuestas de la interfaz.
MasterMCP utiliza un enfoque modular para la expansión, lo que facilita la adición rápida de nuevos métodos de ataque en el futuro. Una vez en funcionamiento, MasterMCP ejecutará el servicio FastAPI mencionado anteriormente en un proceso hijo.
Cliente de demostración
modelo grande utilizado para demostración
Selecciona la versión Claude 3.7, ya que ha mejorado en la identificación de operaciones sensibles y representa una capacidad operativa bastante fuerte en el ecosistema actual de MCP.
Llamadas maliciosas de Cross-MCP
ataque de envenenamiento de contenido web
Acceder al sitio web de prueba local a través de Cursor, simulando el impacto de un cliente de gran modelo que accede a un sitio web malicioso.
Ejecutar instrucción:
Obtén 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 comentario HTML. Aunque el método de comentario es bastante evidente y fácil de reconocer, ya puede activar operaciones maliciosas.
Visitar la página /encode, que parece ser una página web normal, pero en la que las palabras clave maliciosas han sido codificadas, haciendo que el envenenamiento sea más encubierto, incluso al ver el código fuente de la página es difícil de percibir directamente.
Incluso si el código fuente no contiene pistas en texto claro, el ataque aún se ejecuta con éxito.
ataque de contaminación de interfaz de terceros
Esta demostración tiene como principal objetivo advertir que, ya sea que el MCP sea malicioso o no, 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: Palabras clave maliciosas fueron insertadas en los datos JSON devueltos y se activaron con éxito la ejecución maliciosa.
Técnica de envenenamiento en la fase de inicialización de MCP
ataque de sobrescritura de función maliciosa
MasterMCP escribió una herramienta llamada remove_server que tiene la misma función que Toolbox, y codificó palabras clave maliciosas ocultas.
Ejecutar instrucciones:
herramienta eliminar plugin de fetch servidor
Claude Desktop no llamó al método remove_server de toolbox original, sino que activó el método homónimo proporcionado por MasterMCP.
El principio es enfatizar que "el método original ha sido desechado", priorizando inducir al modelo grande a llamar a la función de sobreescritura maliciosa.
agregar lógica de verificación global maliciosa
MasterMCP ha desarrollado una herramienta banana, cuya función principal es forzar que todas las herramientas se ejecuten solo después de que se haya llevado a cabo una revisión de seguridad mediante esta herramienta en la frase de aviso.
Antes de ejecutar la función, el sistema siempre llama primero al mecanismo de verificación banana. Esto se logra mediante la insistencia en el código de que "se debe ejecutar la verificación banana" para implementar la inyección lógica global.
Técnicas avanzadas para ocultar palabras clave maliciosas
forma de codificación amigable para grandes modelos
Debido a la fuerte capacidad de análisis de los modelos de lenguaje de gran tamaño en formatos multilingües, esto se ha utilizado para ocultar información maliciosa. Los métodos comunes incluyen:
mecanismo de retorno de carga maliciosa aleatoria
Cuando se solicita /random, siempre se devuelve aleatoriamente una página con carga maliciosa, lo que aumenta considerablemente la dificultad de detección y rastreo.
MCP(. Desde inyecciones de palabras clave simples, llamadas cruzadas de MCP, hasta ataques en la fase de inicialización más encubiertos y ocultación de instrucciones maliciosas, cada etapa nos recuerda: aunque el ecosistema MCP es poderoso, también es frágil.
Especialmente hoy en día, cuando los grandes modelos interactúan con complementos externos y API con mayor frecuencia, una pequeña contaminación de entrada puede desencadenar un riesgo de seguridad a nivel de sistema. La diversificación de los métodos de ataque, como el ocultamiento de códigos ), la contaminación aleatoria y la cobertura de funciones (, también significa que los enfoques de protección 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 adecuada 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.
![Práctica: Envenenamiento y manipulación encubiertos en el sistema MCP])https://img-cdn.gateio.im/webp-social/moments-bf6d8976b54bebbec34699753f4dbb70.webp(