Vulnerabilidades de seguridad y demostración de ataques del sistema MCP
MCP (Model Context Protocol) el sistema aún 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 dificulta la defensa efectiva de los protocolos y herramientas existentes. Para mejorar la seguridad de MCP, SlowMist ha abierto el código de la herramienta MasterMCP, ayudando a descubrir vulnerabilidades de seguridad en el diseño del producto a través de simulaciones de ataques reales, con el fin de fortalecer el proyecto MCP.
Este artículo demostrará formas comunes de ataque en el sistema MCP, como la contaminación de información y casos reales de instrucciones maliciosas ocultas. Todos los scripts de demostración también se abrirán como código en GitHub, para que todos puedan reproducir todo el proceso en un entorno seguro, e incluso desarrollar sus propios complementos de prueba de ataque.
Visión general de la arquitectura
Objetivo de ataque de demostración MCP: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 MCP y usuarios activos. Entre ellos, @smithery/toolbox es la herramienta de gestión MCP lanzada oficialmente.
Elegir Toolbox como objetivo de prueba se basa principalmente en:
Gran base de usuarios, representativa
Soporta la instalación automática de otros complementos, complementando algunas funciones del cliente.
Incluye configuraciones sensibles ( como la clave API ), para facilitar la demostración
Uso malicioso de MCP: MasterMCP para demostración
MasterMCP es una herramienta simulada de MCP malicioso desarrollada por SlowMist específicamente para pruebas de seguridad, que utiliza un diseño de arquitectura basada en plugins e incluye los siguientes módulos clave:
Simulación de servicios de sitios web locales:
El módulo de simulación de servicio web local integrado en MasterMCP, construye rápidamente un servidor HTTP sencillo a través del marco FastAPI, simulando un entorno web común. Estas páginas parecen normales, pero en realidad ocultan cargas maliciosas cuidadosamente diseñadas en el código fuente o en las respuestas de la interfaz.
Arquitectura MCP local y modular
MasterMCP utiliza un enfoque modular para la expansión, facilitando la adición rápida de nuevos métodos de ataque. Una vez en funcionamiento, MasterMCP ejecutará el servicio FastAPI del módulo anterior en un subproceso.
cliente de demostración
Cursor: uno de los IDE de programación asistida por IA más populares en el mundo actual.
Claude Desktop: Cliente oficial de Anthropic
modelo grande de demostración utilizado
Claude 3.7
Selecciona la versión Claude 3.7, ya que ha mejorado en la identificación de operaciones sensibles, además de representar una capacidad operativa sólida en el ecosistema actual de MCP.
Invocación Maliciosa Cross-MCP
Esta demostración contiene 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 que parece inofensiva "Delicious Cake World".
Ejecutar instrucciones:
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 comentarios HTML.
Inyección de comentarios de codificación
Acceder a la página /encode, esta es una página web que se ve igual, pero las palabras clave maliciosas están codificadas, lo que hace que la inyección de exp sea más oculta, incluso es difícil de detectar directamente al acceder al código fuente de la página.
Incluso si el código fuente no contiene palabras clave en texto plano, el ataque aún se ejecuta con éxito.
ataque de contaminación de interfaz de terceros
Esta demostración tiene como objetivo recordar que, ya sea malicioso o no malicioso, el MCP, al llamar a una API de terceros, si devuelve directamente los datos de terceros al contexto, puede tener graves repercusiones.
Ejecutar solicitud:
Obtener json de /api/data
Resultado: palabras clave maliciosas fueron insertadas en los datos JSON devueltos y activaron con éxito la ejecución maliciosa.
Técnicas 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 funciones maliciosas
MasterMCP escribió una herramienta llamada remove_server con el mismo nombre de función que Toolbox, y codificó palabras clave maliciosas en secreto.
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 la inducción del modelo grande para llamar a funciones de anulación maliciosas.
agregar lógica de verificación global maliciosa
MasterMCP escribió la herramienta banana, cuya función principal es forzar que todas las herramientas se ejecuten mediante la ejecución de esta herramienta para realizar una verificación de seguridad.
Antes de ejecutar la función, el sistema siempre llamará primero al mecanismo de verificación de banana. Esto se logra mediante la inyección lógica global que enfatiza repetidamente en el código que "se debe ejecutar la verificación de banana".
Técnicas avanzadas para ocultar términos de aviso maliciosos
una forma de codificación amigable para modelos grandes
Debido a la fuerte capacidad de análisis de los modelos de lenguaje de gran tamaño en formatos multilingües, esto se utiliza para ocultar información maliciosa, los métodos comúnmente utilizados incluyen:
Entorno en inglés: usar codificación Hex Byte
Entorno en 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.
Resumen
A través de la demostración práctica de MasterMCP, hemos visto de manera directa los diversos riesgos de seguridad ocultos en el sistema MCP. Desde la inyección de palabras clave simples, las llamadas cruzadas de MCP, hasta ataques más encubiertos en la fase de inicialización y el ocultamiento de instrucciones maliciosas, cada etapa nos recuerda: aunque el ecosistema MCP es poderoso, también es vulnerable.
En particular, a medida que los grandes modelos interactúan con complementos externos y API de manera más frecuente, una pequeña contaminación en la entrada puede provocar 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 ), significa que el enfoque de protección tradicional necesita una actualización completa.
Espero que esta demostración sirva como una llamada de atención: tanto los desarrolladores como los usuarios deben mantenerse alerta respecto al sistema MCP, prestando atención a cada interacción, cada línea de código y cada valor de retorno. Solo al tratar los detalles con rigor se puede construir un entorno MCP sólido y seguro.
SlowMist continuará mejorando el script MasterMCP, publicando más casos de prueba específicos de código abierto, para ayudar a comprender, practicar y reforzar la protección en un entorno seguro. El contenido relacionado ya se ha sincronizado con GitHub, los lectores interesados pueden consultarlo.
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.
12 me gusta
Recompensa
12
6
Compartir
Comentar
0/400
screenshot_gains
· hace22h
gm ha salido un nuevo exploit
Ver originalesResponder0
AirdropSweaterFan
· hace22h
Cuidado con ser engañados.
Ver originalesResponder0
ContractCollector
· hace23h
MCP envió, envió
Ver originalesResponder0
ForkItAll
· hace23h
Ya salió lo negro, ¿qué más se puede decir?
Ver originalesResponder0
MissedAirdropBro
· hace23h
Las funerarias son más estables que eso.
Ver originalesResponder0
MEVSandwichVictim
· hace23h
¿Te han tomado por tonto otra vez? Tomar a la gente por tonta es mejor que tomar a estos tontos~
MasterMCP revela vulnerabilidades de seguridad de MCP y demuestra varios métodos de ataque en la práctica
Vulnerabilidades de seguridad y demostración de ataques del sistema MCP
MCP (Model Context Protocol) el sistema aún 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 dificulta la defensa efectiva de los protocolos y herramientas existentes. Para mejorar la seguridad de MCP, SlowMist ha abierto el código de la herramienta MasterMCP, ayudando a descubrir vulnerabilidades de seguridad en el diseño del producto a través de simulaciones de ataques reales, con el fin de fortalecer el proyecto MCP.
Este artículo demostrará formas comunes de ataque en el sistema MCP, como la contaminación de información y casos reales de instrucciones maliciosas ocultas. Todos los scripts de demostración también se abrirán como código en GitHub, para que todos puedan reproducir todo el proceso en un entorno seguro, e incluso desarrollar sus propios complementos de prueba de ataque.
Visión general de la arquitectura
Objetivo de ataque de demostración MCP: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 MCP y usuarios activos. Entre ellos, @smithery/toolbox es la herramienta de gestión MCP lanzada oficialmente.
Elegir Toolbox como objetivo de prueba se basa principalmente en:
Uso malicioso de MCP: MasterMCP para demostración
MasterMCP es una herramienta simulada de MCP malicioso desarrollada por SlowMist específicamente para pruebas de seguridad, que utiliza un diseño de arquitectura basada en plugins e incluye los siguientes módulos clave:
El módulo de simulación de servicio web local integrado en MasterMCP, construye rápidamente un servidor HTTP sencillo a través del marco FastAPI, simulando un entorno web común. Estas páginas parecen normales, pero en realidad ocultan cargas maliciosas cuidadosamente diseñadas en el código fuente o en las respuestas de la interfaz.
MasterMCP utiliza un enfoque modular para la expansión, facilitando la adición rápida de nuevos métodos de ataque. Una vez en funcionamiento, MasterMCP ejecutará el servicio FastAPI del módulo anterior en un subproceso.
cliente de demostración
modelo grande de demostración utilizado
Selecciona la versión Claude 3.7, ya que ha mejorado en la identificación de operaciones sensibles, además de representar una capacidad operativa sólida en el ecosistema actual de MCP.
Invocación Maliciosa Cross-MCP
Esta demostración contiene 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 que parece inofensiva "Delicious Cake World".
Ejecutar instrucciones: 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 comentarios HTML.
Acceder a la página /encode, esta es una página web que se ve igual, pero las palabras clave maliciosas están codificadas, lo que hace que la inyección de exp sea más oculta, incluso es difícil de detectar directamente al acceder al código fuente de la página.
Incluso si el código fuente no contiene palabras clave en texto plano, el ataque aún se ejecuta con éxito.
ataque de contaminación de interfaz de terceros
Esta demostración tiene como objetivo recordar que, ya sea malicioso o no malicioso, el MCP, al llamar a una API de terceros, si devuelve directamente los datos de terceros al contexto, puede tener graves repercusiones.
Ejecutar solicitud: Obtener json de /api/data
Resultado: palabras clave maliciosas fueron insertadas en los datos JSON devueltos y activaron con éxito la ejecución maliciosa.
Técnicas 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 funciones maliciosas
MasterMCP escribió una herramienta llamada remove_server con el mismo nombre de función que Toolbox, y codificó palabras clave maliciosas en secreto.
Ejecutar instrucciones: herramienta quitar obtener complemento 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 la inducción del modelo grande para llamar a funciones de anulación maliciosas.
agregar lógica de verificación global maliciosa
MasterMCP escribió la herramienta banana, cuya función principal es forzar que todas las herramientas se ejecuten mediante la ejecución de esta herramienta para realizar una verificación de seguridad.
Antes de ejecutar la función, el sistema siempre llamará primero al mecanismo de verificación de banana. Esto se logra mediante la inyección lógica global que enfatiza repetidamente en el código que "se debe ejecutar la verificación de banana".
Técnicas avanzadas para ocultar términos de aviso maliciosos
una forma de codificación amigable para modelos grandes
Debido a la fuerte capacidad de análisis de los modelos de lenguaje de gran tamaño en formatos multilingües, esto se utiliza para ocultar información maliciosa, los métodos comúnmente utilizados 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.
Resumen
A través de la demostración práctica de MasterMCP, hemos visto de manera directa los diversos riesgos de seguridad ocultos en el sistema MCP. Desde la inyección de palabras clave simples, las llamadas cruzadas de MCP, hasta ataques más encubiertos en la fase de inicialización y el ocultamiento de instrucciones maliciosas, cada etapa nos recuerda: aunque el ecosistema MCP es poderoso, también es vulnerable.
En particular, a medida que los grandes modelos interactúan con complementos externos y API de manera más frecuente, una pequeña contaminación en la entrada puede provocar 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 ), significa que el enfoque de protección tradicional necesita una actualización completa.
Espero que esta demostración sirva como una llamada de atención: tanto los desarrolladores como los usuarios deben mantenerse alerta respecto al sistema MCP, prestando atención a cada interacción, cada línea de código y cada valor de retorno. Solo al tratar los detalles con rigor se puede construir un entorno MCP sólido y seguro.
SlowMist continuará mejorando el script MasterMCP, publicando más casos de prueba específicos de código abierto, para ayudar a comprender, practicar y reforzar la protección en un entorno seguro. El contenido relacionado ya se ha sincronizado con GitHub, los lectores interesados pueden consultarlo.