Prácticas de riesgo de seguridad de MCP: técnicas encubiertas desde ataques de inyección hasta control global

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

Actualmente, el MCP ( Model Context Protocol ) 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 ayudar a la comunidad a comprender y mejorar la seguridad del MCP, se ha abierto recientemente la herramienta MasterMCP, que tiene como objetivo, a través de simulaciones de ataques reales, ayudar a identificar vulnerabilidades de seguridad en el diseño del producto y fortalecer gradualmente el proyecto MCP.

Este artículo guiará a los lectores a realizar prácticas, demostrando formas comunes de ataque bajo el sistema MCP, como envenenamiento de información, ocultación de instrucciones maliciosas y otros casos reales. Todos los scripts de demostración también se abrirán al público, los lectores 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 encubiertos en el sistema MCP

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 de MCP y usuarios activos. Entre ellos, @smithery/toolbox es la herramienta de gestión de MCP lanzada oficialmente por el sitio.

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

  • La base de usuarios es amplia y representativa
  • Soporta la instalación automática de otros complementos, complementando algunas funcionalidades del cliente.
  • Contiene configuraciones sensibles ( como la clave API ), facilitando la demostración.

MCP malicioso de uso de demostración: MasterMCP

MasterMCP es una herramienta simulada de MCP malicioso diseñada específicamente para pruebas de seguridad, que utiliza una arquitectura basada en plugins e incluye los siguientes módulos clave:

  1. Simulación de servicios de sitios web locales:

Para recrear de manera más realista el escenario de ataque, MasterMC tiene un módulo de simulación de servicio web local integrado. Utiliza el marco FastAPI para construir rápidamente un servidor HTTP sencillo, simulando un entorno web común. Estas páginas parecen normales en la superficie, pero en realidad ocultan cargas maliciosas cuidadosamente diseñadas en el código fuente de la página o en las respuestas de las interfaces.

De esta manera, podemos demostrar de forma completa las técnicas de ataque como la inyección de información y el ocultamiento de instrucciones en un entorno local seguro y controlado, ayudando a entender de manera más intuitiva: incluso una página web que parece normal puede convertirse en una fuente de riesgo que provoque que un modelo grande ejecute operaciones anómalas.

  1. Arquitectura MCP local y modular

MasterMCP utiliza un enfoque modular para su 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. Si se observa con atención, se notará que ya existe un riesgo de seguridad aquí: los complementos locales pueden iniciar cualquier subproceso que no sea el esperado por MCP.

( cliente de demostración

  • Cursor: uno de los IDE de programación asistida por IA más populares en el mundo actual
  • Claude Desktop: Anthropic)MC protocolo de personalización ### cliente oficial

( modelo grande utilizado para demostración

  • Claude 3.7

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

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

Llamada Maliciosa Cruzada de 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 que parece inofensiva sobre "Delicious Cake World", a través de este experimento, se simula el impacto de un cliente de modelo grande accediendo a un sitio web malicioso.

Ejecutar instrucción: Obtener el contenido de

Los resultados muestran que Cursor no solo leyó el contenido de la página web, sino que también devolvió los 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 anotación es bastante directo y fácil de reconocer, ya puede activar operaciones maliciosas.

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

  1. Inyección de comentarios de tipo codificado

Accede a la página /encode, que es una página web que se ve igual que el ejemplo anterior, pero en la que las palabras clave maliciosas han sido codificadas, lo que hace que el ataque de envenenamiento 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 claro, el ataque aún se ejecuta con éxito, y el principio específico se explicará en detalle en los siguientes capítulos.

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

( MCP herramienta devuelve información de envenenamiento

Según la descripción de las palabras clave de MasterMCP, ingrese el comando simulado ). Este comando no tiene significado real, sino que está destinado a activar un MCP malicioso para demostrar las operaciones posteriores ###:

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 complemento, 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.

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

( ataque de contaminación de interfaz de terceros

Esta demostración tiene como objetivo advertir que, ya sea que se trate de MCP maliciosos o no maliciosos, al llamar a una API de terceros, si se devuelve directamente los datos de terceros al contexto, esto puede tener graves consecuencias.

Ejecutar solicitud: Obtener json de /api/data

Resultado: las palabras clave maliciosas fueron incrustadas en los datos JSON devueltos y activaron con éxito la ejecución maliciosa.

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

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

( ataque de sobrescritura de funciones maliciosas

MasterMCP escribió una herramienta llamada remove_server, que utiliza la misma función que Toolbox, y codificó palabras clave maliciosas.

Ejecutar instrucciones: eliminar plugin de fetch del servidor toolbox

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 sobreescritura maliciosas.

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

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

MasterMCP escribió una herramienta de banana, y la función principal de esta herramienta es forzar que todas las herramientas se ejecuten después de realizar esta herramienta para una revisión de seguridad.

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

Esto se logra mediante la inyección de lógica global, enfatizando repetidamente en el código que "debe ejecutarse la detección de banana".

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

Técnicas avanzadas para ocultar palabras clave maliciosas

( forma de codificación amigable para grandes modelos

Debido a que los grandes modelos de lenguaje tienen una fuerte 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

Al solicitar /random, se devuelve aleatoriamente una página con carga maliciosa cada vez, lo que aumenta considerablemente 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-cd87a6781e74c267c89e99e398e7499c.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 inyección 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 en la actualidad, donde los grandes modelos interactúan cada vez más con complementos externos y API, una pequeña contaminación de la entrada puede provocar riesgos de seguridad a nivel del sistema. Además, 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 tradicionales de protección necesitan una actualización completa.

La seguridad nunca se logra de la noche a la mañana.

Espero que esta demostración pueda servir como una llamada de atención para todos: tanto desarrolladores como usuarios deben mantener un nivel adecuado de alerta sobre el sistema MCP, prestando atención a cada interacción, cada línea de código, cada valor de retorno. Solo tratando cada detalle con rigurosidad se puede construir un entorno MCP sólido y seguro.

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

Salida de la práctica: envenenamiento y manipulación encubiertos en el sistema MCP

BANANA4.6%
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
  • 5
  • Compartir
Comentar
0/400
ponzi_poetvip
· 08-05 16:02
La cantidad de código no es lo suficientemente grande
Ver originalesResponder0
LayerZeroEnjoyervip
· 08-05 15:45
La amenaza de seguridad es muy grave.
Ver originalesResponder0
OffchainWinnervip
· 08-05 15:42
Código abierto no tiene miedo a la crítica, ¿verdad?
Ver originalesResponder0
OneBlockAtATimevip
· 08-05 15:38
Esta vulnerabilidad es demasiado peligrosa, ¿verdad?
Ver originalesResponder0
Rekt_Recoveryvip
· 08-05 15:35
El ataque de envenenamiento debe usarse con precaución.
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)