TL;DR
- Un servidor MCP no es un plugin, es un depositario de credenciales que habla con tu agente en cada llamada: sus descripciones de herramientas y los resultados de sus herramientas entran en el contexto del modelo con el mismo peso que tus propias instrucciones.
- GhostSplice demuestra que el alineamiento del modelo no es una defensa: una orden de robo dada en un solo bloque la rechazan el 100% de las veces GPT-4o, Gemini 2.0 Flash y Llama 3.3; la misma orden repartida entre una descripción de herramienta y un resultado de herramienta se obedece el 100% de las veces.
- El cliente importa tanto como el modelo: Claude Haiku 4.5 rechaza todo a través de la API y cede al 100% en la prueba de tres fragmentos ejecutada dentro de Cursor.
- La cadena de suministro ya es un cable con tensión: CVE-2025-6514 afectó a mcp-remote, un proxy OAuth descargado más de 400,000 veces, con una inyección de comandos activada por un servidor malicioso.
- La detección a nivel de protocolo de Cloudflare y WriteGuard son los primeros controles empresariales reales, pero exigen Zero Trust con inspección TLS, y un servidor stdio local nunca aparece en ellos.
- Para un desarrollador solo o un equipo pequeño la defensa es manual: inventario, procedencia, tokens con alcance limitado, una puerta humana en cada escritura y tratar la salida de las herramientas como datos.
Lo que dicen las fuentes
Un servidor MCP hace de puente entre tu agente y un servicio externo, así que guarda en tu lugar lo necesario para conectarse: tokens, claves de API, credenciales de cuentas de servicio. El análisis de fugas publicado el 17 de agosto parte de una observación directa: los tokens se pegan tal cual en cadenas de configuración y quedan legibles en disco, a un commit apresurado de un repositorio Git s2. El mismo análisis señala el exceso de permisos como el segundo agujero: los permisos amplios concedidos durante el desarrollo llegan a producción sin cambios, de modo que una sola brecha expone mucho más de lo que el uso real justificaba s2. El cuarto agujero es la prompt injection: un agente lee todo lo que le devuelven sus herramientas, una página web, un ticket, un documento interno, y una instrucción oculta en ese contenido se sigue como si viniera de ti, usando herramientas legítimas para exponer lo que debían proteger s2.
El tercer agujero es la cadena de suministro. CVE-2025-6514 afectaba a mcp-remote, un proxy OAuth descargado más de 400,000 veces: un servidor malicioso podía provocar una inyección de comandos en la máquina del desarrollador, ejecutar código y salir con las credenciales. Un paquete npm popular, instalado en una línea, y la puerta quedaba abierta s3.
El ecosistema creció más rápido que sus salvaguardas. El registro oficial supera los 9,600 servidores publicados, los despliegues de servidores remotos se han multiplicado por cinco desde mayo de 2025, cualquiera puede publicar y no hay validación central; tu agente da a una entrada cualquiera la misma confianza que a una herramienta oficial s4. La NSA publicó en mayo una guía de seguridad dedicada a MCP en la que afirma que la adopción del protocolo fue más rápida que la construcción de sus protecciones s5.
GhostSplice, nombrado por el grupo de investigación ASSET, hace que el propio agente ejecute la exfiltración. En lugar de escribir la orden de robo completa, el servidor malicioso la divide: un fragmento en la descripción de una herramienta, el otro en el resultado que esa herramienta devuelve. Cada pieza parece inofensiva por separado; el agente recompone todo lo que entra en su contexto y ejecuta la instrucción completa de buena fe s1. Las cifras son lo esencial. Con la instrucción dada en un solo bloque, GPT-4o, Gemini 2.0 Flash y Llama 3.3 la rechazan el 100% de las veces. Con la instrucción fragmentada, los tres obedecen el 100% de las veces s1. Los modelos Claude resisten mejor en la superficie, pero Claude Haiku 4.5 rechaza todo a través de la API y cede al 100% en la prueba de tres fragmentos ejecutada dentro de Cursor: el mismo modelo rechaza en un cliente y exfiltra en otro, según las protecciones que el cliente añada o no s1. Lo que robaron las pruebas: claves SSH, secretos de entorno, código fuente, datos de clientes, en proyectos aislados con claves falsas, con un método publicado y reproducible s1. El mismo laboratorio publicó Ghostcommit en junio, que escondía sus instrucciones en archivos PNG referenciados por las convenciones del proyecto y luego codificaba los secretos robados en el código fuente como enteros; la fragmentación de instrucciones es una familia de ataques, no un caso aislado s1. Se mantienen dos requisitos previos: el servidor malicioso ya debe estar conectado a tu agente, y el agente debe tener derecho a leer los archivos objetivo s1.
En el lado empresarial, Cloudflare llama "shadow MCP" a los servidores no aprobados que los desarrolladores conectan a sus agentes. Desde la actualización de la especificación, todo cliente MCP conforme envía una cabecera MCP-Protocol-Version, y Gateway inspecciona esa cabecera en todo el tráfico TLS analizado, lo que da a un equipo de seguridad un panel de servidores únicos, usuarios y volumen de peticiones s6. La versión más reciente de la especificación añade las cabeceras Mcp-Method y Mcp-Name, que exponen la operación solicitada y el nombre de la herramienta sin abrir el cuerpo de la petición, de modo que la red puede distinguir un agente que lee un ticket de uno que borra cincuenta. Las reglas de Cloudflare cubren dos casos, el shadow MCP puro (un servidor nunca aprobado) y el bypass del portal (un servidor aprobado al que se accede directamente), y ambos se bloquean con la misma regla base s6.
WriteGuard, abierto en beta privada, clasifica cada herramienta de cada servidor MCP en un nivel de riesgo y aplica una política distinta por nivel: una lectura pasa sin fricción; una escritura contenida, como publicar un comentario, pasa pero se firma como hecha por un agente en nombre de un humano identificado, con un evento de auditoría enviado a un registro central; una acción crítica, como fusionar código, desplegar a producción o borrar en masa, se bloquea antes de que el servidor la procese s7. El ejemplo de GitLab en el post: leer una merge request pasa, comentar pasa con atribución, fusionar se rechaza hasta que lo hace un humano. El agente conserva los permisos del empleado al que sirve, pero cada escritura lleva dos firmas, la de la persona y la de la sesión del agente. Cloudflare describe su propio uso interno: su portal conecta 27 servidores MCP, frente a 13 en abril s7.
Los límites son reales. WriteGuard está en beta privada con inscripción previa, y la detección de Gateway requiere un despliegue de Cloudflare Zero Trust con inspección TLS activada s7. La detección solo ve el tráfico de red que descifra: un servidor MCP local que corre por stdio como un proceso normal en tu máquina sigue siendo invisible para Gateway, y así corren la mayoría de los servidores que instalan los desarrolladores s6. Ninguna de estas herramientas arregla el mecanismo que expone GhostSplice. Los investigadores de ASSET dicen que la solución es tratar la salida de las herramientas como datos, nunca como instrucciones, y que esa separación todavía no existe de forma nativa en los agentes. Sus tres recomendaciones: impedir que un valor producido por una herramienta alimente sin control los argumentos de otra, conservar la capacidad de rechazar a mano cada invocación de herramienta y tratar cualquier anotación de un servidor no verificado como hostil por defecto s1.
Veredicto: qué te protege y qué no
| Control | A quién sirve | Veredicto |
|---|---|---|
| Rechazos del modelo | Todos | Descartar como defensa: 100% de rechazo en un bloque, 100% de obediencia al fragmentar [s1] |
| Protecciones del lado del cliente | Todos | Mantener: el mismo modelo rechazó en la API y cedió en Cursor [s1] |
| Inventario y procedencia de los servidores | Solo y equipos | Mantener: GhostSplice necesita que el servidor ya esté conectado [s1] |
| Tokens dedicados con alcance limitado y rotados | Solo y equipos | Mantener: los tokens en texto plano y el exceso de permisos son las dos primeras vías de fuga [s2] |
| Fijar versiones y auditar dependencias MCP | Solo y equipos | Mantener: mcp-remote entregó una inyección de comandos a más de 400,000 descargas [s3] |
| Detección de cabeceras en Gateway (MCP-Protocol-Version, Mcp-Method, Mcp-Name) | Empresas con Zero Trust | Probar si ya haces inspección TLS; ciega a los servidores stdio [s6] |
| Niveles de riesgo de WriteGuard | Empresas | Probar en la lista de espera; solo beta privada [s7] |
| Puerta humana en cada escritura, merge y borrado | Todos | Mantener: la versión artesanal de lo que WriteGuard industrializa [s7] |
Haz esto el lunes
- Saca la lista de servidores MCP realmente conectados a cada uno de tus agentes y elimina todos los que no hayas usado en el último mes.
- Para cada servidor restante, anota quién lo publica y lee qué hace con tus datos antes de conservarlo; descarta cualquier servidor que llegó desde un hilo en lugar del proveedor.
- Sustituye cada credencial compartida o maestra en una configuración MCP por un token dedicado con el mínimo alcance que ese servidor necesite, y ponle una fecha de rotación.
- Comprueba que ninguno de tus archivos de configuración MCP está bajo seguimiento de Git, y añádelos a .gitignore donde no lo estén.
- Fija la versión de cada paquete MCP que instales y revisa tu lockfile en busca de versiones de mcp-remote cubiertas por CVE-2025-6514.
- Activa la aprobación manual para cualquier herramienta que escriba, fusione, despliegue o borre, y mantenla activa en todos los clientes que uses.
- Revisa una vez las descripciones de herramientas de cada servidor de terceros, buscando instrucciones dirigidas al modelo en lugar de a ti.
- Si usas Cloudflare Zero Trust, activa la inspección TLS y construye el panel de shadow MCP a partir de la cabecera MCP-Protocol-Version.
Para ir más lejos
- Lee el análisis completo de GhostSplice para ver la matriz de pruebas por modelo y por cliente, y las tres mitigaciones que proponen los investigadores s1.
- Busca Ghostcommit, el ataque de junio del mismo laboratorio, para ver cómo se escondían las instrucciones en archivos PNG y cómo se codificaban los secretos robados como enteros en el código fuente s1.
- Revisa las cuatro vías de fuga del análisis del 17 de agosto contra tus propias configuraciones: almacenamiento en texto plano, exceso de permisos, cadena de suministro, prompt injection s2.
- Lee la entrada de NVD de CVE-2025-6514 y comprueba qué versiones de mcp-remote están afectadas antes de confiar en cualquier proxy OAuth de tu stack s3.
- Lee las consideraciones de diseño de la NSA para MCP: es la única checklist independiente de proveedores escrita para equipos que despliegan automatización con agentes s5.
- Estudia las cabeceras MCP-Protocol-Version, Mcp-Method y Mcp-Name en el post de Cloudflare aunque no uses Cloudflare: cualquier proxy que controles puede registrarlas s6.
- Toma prestados los cuatro niveles de riesgo de WriteGuard (solo lectura, impacto mínimo, escritura contenida, crítico) como cuadrícula de revisión de las herramientas que exponen tus propios servidores s7.
- Echa un vistazo al README del registro oficial para entender qué exige publicar y qué no se comprueba s4.
Fuentes
- Malicious MCP servers can split exfiltration orders to bypass model refusals (GhostSplice), The Hacker News. Por qué leerlo: el único sitio con las cifras por modelo y por cliente, además de las mitigaciones de los investigadores.
- How MCP servers can expose enterprise secrets, The Hacker News. Por qué leerlo: las cuatro vías de fuga expuestas en orden, utilizables como checklist de auditoría.
- CVE-2025-6514: mcp-remote command injection, NIST NVD. Por qué leerlo: las versiones afectadas y la gravedad del primer fallo de cadena de suministro MCP ampliamente instalado.
- Official Model Context Protocol registry, modelcontextprotocol on GitHub. Por qué leerlo: muestra cómo funciona la publicación y por qué estar en el registro no es una señal de confianza.
- NSA releases security design considerations for AI-driven automation leveraging MCP, NSA. Por qué leerlo: una guía de diseño independiente de proveedores para equipos que despliegan MCP a escala.
- Detecting and blocking shadow MCP at the protocol level, Cloudflare blog. Por qué leerlo: explica las cabeceras de la especificación que hacen visible el tráfico MCP en la red.
- Bring secure MCP connectivity to your enterprise with MCP Server Portals and WriteGuard, Cloudflare blog. Por qué leerlo: el modelo de riesgo por herramienta y el diseño de identidad de doble firma, con un ejemplo concreto de GitLab.
FAQ
¿Usar un modelo más seguro me protege de GhostSplice?
No. El ataque nunca pide nada prohibido en una sola pieza, así que el entrenamiento de rechazo no se activa. El mismo Claude Haiku 4.5 rechazó todo a través de la API y obedeció al 100% dentro de Cursor; las protecciones del cliente decidieron el resultado, no el modelo.
Soy desarrollador solo, ¿me sirve alguna herramienta de Cloudflare?
Hoy no. La detección de Gateway necesita un despliegue de Zero Trust con inspección TLS, WriteGuard es una beta privada, y ambas son ciegas a los servidores stdio locales. La checklist de arriba es la versión para quien trabaja solo de los mismos controles.
¿Es seguro un servidor listado en el registro oficial?
Estar listado no es estar validado. El registro supera los 9,600 servidores sin revisión central, y tu agente confía en una entrada del registro tanto como en una herramienta de un proveedor. Juzga la procedencia y lee el código, no el listado.
¿Cuál es el cambio de mayor valor?
Tokens dedicados, con alcance mínimo, por servidor, rotados como secretos de producción. Las credenciales maestras en texto plano en los archivos de configuración son la primera vía de fuga, y hacen que cualquier otro fallo, desde CVE-2025-6514 hasta la prompt injection, resulte mucho más caro.
AIDive