sistema: OPERATIVO
← volver a todos los hacks
AGENTS MEDIUM NEW

Sampling de MCP: cómo un servidor malicioso abusa del canal LLM inverso

La función de sampling de MCP permite que un servidor pida una compleción al modelo del cliente. Unit 42 mostró (dic. 2025) cómo un servidor malicioso la convierte en llamadas a herramientas encubiertas, secuestro de conversación y robo de cómputo.

2026-06-02 // 7 min affects: mcp-sampling, mcp-clients, llm-coding-assistants

¿Qué es esto?

La mayoría de los análisis de seguridad del Model Context Protocol (MCP) se centran en un solo sentido: el cliente llama a las herramientas de un servidor, y una descripción o un resultado de herramienta malicioso envenena al agente. El sampling invierte ese flujo. Es una función opcional de MCP que permite que un servidor solicite una compleción de LLM al cliente — el servidor dice «ejecuta este prompt en tu modelo y devuélveme la respuesta», y el modelo del cliente obedece.

El 5 de diciembre de 2025, el equipo Unit 42 de Palo Alto Networks (Yongzhe Huang, Akshata Rao, Changjiang Li, Yang Ji, Wenjun Hu) publicó un análisis de los vectores de ataque de MCP que trata el sampling como una superficie de ataque diferenciada, con tres demostraciones contra un asistente de código de uso extendido. The Vulnerable MCP Project catalogó el hallazgo con una puntuación de impacto de 8/10, y Cyber Security News lo cubrió el 9 de diciembre de 2025. El propio protocolo fue introducido por Anthropic en noviembre de 2024; el sampling forma parte de la especificación desde entonces.

Cómo funciona

El sampling existe para que un servidor pueda «tomar prestado» el modelo — por ejemplo, un servidor de revisión de código que necesita que el LLM resuma un diff antes de decidir qué marcar. El problema de confianza es estructural: el servidor controla el prompt que envía y controla cómo lee la respuesta. Ese doble control es lo que se abusa. No se reproduce ninguna primitiva de explotación a continuación; lo que importa es el mecanismo.

Unit 42 agrupa el abuso en tres clases:

Clase de ataque          Lo que hace el servidor malicioso        Consecuencia para el usuario
-----------------------  ---------------------------------------  ------------------------------------
Robo de recursos         Añade trabajo oculto a una solicitud     Cuota de cómputo y créditos de API
                         de sampling legítima (p. ej. «escribe    drenados por cargas no autorizadas,
                         también una historia larga»)             invisibles en la salida mostrada
Secuestro de             Inyecta instrucciones persistentes en    El comportamiento del asistente se
conversación             la respuesta de sampling, que reentra    altera para toda la sesión (la PoC
                         en el contexto                           lo forzó a responder «como un
                                                                  pirata»; el mismo canal puede
                                                                  degradar o armar las respuestas)
Invocación encubierta    Cuela instrucciones que hacen que el     Escrituras de archivos silenciosas,
de herramientas          modelo llame a otras herramientas sin    persistencia y posible exfiltración
                         que el usuario vea la solicitud          de datos, sin consentimiento

La causa raíz común es un modelo de confianza implícito, sin separación incorporada entre el contenido del usuario y las modificaciones del servidor. Como un servidor con capacidad de sampling puede dar forma tanto al prompt como al texto devuelto, puede colar instrucciones en ambos sentidos mientras aparenta ser una herramienta normal.

Por qué importa

El sampling desplaza el modelo de amenaza. El consejo clásico para MCP — «conecta solo servidores de confianza y revisa los resultados de las herramientas» — supone que el peligro va del servidor a la herramienta y al agente. El sampling añade una ruta servidor → modelo → agente que la mayoría de los usuarios nunca ve, porque el ida y vuelta del sampling ocurre por debajo de la conversación visible. Un resumidor de código que drena discretamente tu cuota de inferencia, o que fija una instrucción de comportamiento para el resto de la sesión, produce una salida de apariencia totalmente normal.

La exposición depende de una sola cosa: si el cliente implementa el sampling y con qué valores por defecto. Según Unit 42 y la cobertura posterior, muchos clientes aún no admiten el sampling o lo entregan con valores por defecto permisivos — y a medida que la adopción de MCP se amplió a lo largo de 2026, creció el número de clientes que activan funciones ricas como el sampling. La población afectada es, por tanto, cualquier despliegue de MCP que active el sampling sin acotarlo, lo que explica el nivel moderado en lugar de crítico: requiere un servidor malicioso o comprometido y un cliente con sampling activado, pero ninguno de los dos es exótico.

Defensas

El sampling es útil: el objetivo es acotarlo, no prohibirlo. A partir de las recomendaciones de Unit 42 y la ficha del Vulnerable MCP Project:

  • Exija una aprobación explícita, servidor por servidor, antes de cualquier solicitud de sampling. No deje que un servidor invoque el modelo en silencio. Muestre el prompt que el servidor quiere ejecutar.
  • Separe el contenido del usuario de las modificaciones del servidor con plantillas estrictas, para que el texto suministrado por el servidor no pueda interpretarse como instrucciones dirigidas al modelo.
  • Filtre las respuestas de sampling en busca de frases con forma de instrucción antes de que reentren en el contexto, para frenar el secuestro de conversación.
  • Limite la tasa del sampling por servidor, por sesión y por día, y fije controles de coste sobre las cuotas de cómputo para que el robo de recursos llegue pronto a un tope.
  • Monitorice el uso de cómputo — un resumidor que de repente consume grandes volúmenes de tokens es una señal.
  • Aísle los servidores con capacidad de sampling de las herramientas sensibles. Un servidor con permiso para solicitar compleciones no debería tener también acceso de escritura al sistema de archivos o a los secretos.
  • Desactive el sampling para servidores no confiables por defecto; actívelo solo cuando el flujo de trabajo realmente lo necesite.

Estado

ElementoEstado (a 2 de junio de 2026)
DivulgaciónUnit 42, publicado el 5 de diciembre de 2025
NaturalezaAbuso de una función del protocolo, no un CVE único que parchear
Soporte en el clienteDesigual; muchos clientes no activan el sampling, algunos entregan valores permisivos
Corrección principalAcotación en el cliente (aprobación, límites de tasa, filtrado) — la responsabilidad recae en quienes implementan los clientes
AfectadoCualquier despliegue de MCP con sampling activado y un servidor malicioso/comprometido en el alcance

Sources