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.

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

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:

  1. 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.

  1. 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 ).

Práctica: envenenamiento y manipulación encubiertos 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: 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

  1. 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.

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

  1. 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.

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

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.

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

Práctica: Envenenamiento y control encubierto 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 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.

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

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".

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

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

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

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.

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

Resumen

A través de esta demostración práctica de MasterMCP, hemos visto de forma intuitiva los diversos riesgos de seguridad ocultos en el sistema del Model Context Protocol )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.
  • Recompensa
  • 5
  • Compartir
Comentar
0/400
HalfIsEmptyvip
· hace3h
Esto es demasiado salvaje, ¿están enseñando a la gente a hacer un Rug Pull?
Ver originalesResponder0
SchrodingerWalletvip
· 07-06 08:35
Avanzar hasta la caída de Mainnet
Ver originalesResponder0
ApeDegenvip
· 07-06 08:26
Se sugiere que este proyecto caiga a cero.
Ver originalesResponder0
MEVEyevip
· 07-06 08:12
mcp realmente se ha convertido en un campo de práctica, es absurdo lo de雀氏
Ver originalesResponder0
Ramen_Until_Richvip
· 07-06 08:12
Hay tantos errores que sería mejor revisar el código.
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)