Saltar al contenido

El servidor MCP que se fía de su cliente

Tres herramientas sobre un directorio de proyecto leen cualquier fichero de la máquina y ejecutan cualquier comando. Funcionan exactamente como está documentado — ese es el problema.

Node.js · MCP · JSON-RPC 2.0 · Seguridad

Reloj
45 min
Mediana
Pocos intentos aún
Tasa de entrega
Intentos
0

Origen

Desarrollado por AGISports sobre patrones e incidentes reales de producción.

Revisión de seguridad, devuelta

Las herramientas funcionan exactamente como está documentado

workspace-mcp le da a un agente tres herramientas sobre un directorio de proyecto: leer un fichero, buscar con una expresión regular, y ejecutar uno de los scripts que el proyecto declara. Está en producción, conectado a agentes que además leen gestores de incidencias, páginas web y metadatos de dependencias.

El resumen del revisor: cualquier agente al que se le pueda inducir a llamar a estas herramientas con argumentos elegidos por un atacante puede leer cualquier fichero de la máquina y ejecutar cualquier comando como el usuario que corre el servidor.

Qué tienes que hacer

Que pase la suite de ataque sin romper la funcional.

npm run test:attack       # en rojo
npm run test:functional   # en verde — y tiene que seguir así

Por qué no es un filtro

Las dos suites son la puerta, y tiran en direcciones opuestas. Cerrar el servidor hasta que no funcione nada no es un arreglo, y la suite funcional está para decirlo — varios de sus casos son justo los que rompe un saneado rápido. La tensión entre las dos es el drill.

La aserción es un atacante, no una comprobación de estilo. No puedes debilitarla para pasar: un ataque más flojo no te da el verde, te lo quita.

El arreglo va en el servidor. No en los tests, no en el contenido del workspace, no en la configuración de CI — eso se compara contra nuestra copia, y un diff que los toque es puerta roja por muy verde que saliera la ejecución.

De dónde sale esto

Entre enero y abril de 2026 se publicaron más de cuarenta CVEs contra implementaciones de MCP en los SDK de Python, TypeScript, Java y Rust. Sobre 2.614 servidores analizados, el 43 % era vulnerable a inyección de comandos y el 82 % usaba operaciones de fichero susceptibles de path traversal. CVE-2025-6514, en mcp-remote, es una ejecución remota de código con CVSS 9.6 en un paquete con más de 437.000 descargas.

Es una clase de fallo con víctimas y sin material de práctica en ninguna parte. Ese hueco es la razón de que este drill exista.

Cómo se hace

  1. 01Forkea el repositorio de la arena, con todo el código fuente y las suites de tests del mantenedor.
  2. 02Empieza a grabar tu pantalla completa antes de abrir el repositorio. Lo que se puntúa es cómo decides, así que la pantalla tiene que enseñarlo.
  3. 03Orquesta tu IA (Claude Code, Cursor, Antigravity, Codex...) en local. No hagas pruebas a ciegas ni pushes de ensayo.
  4. 04Realiza UN ÚNICO git push a tu repositorio cuando consideres que la solución está lista. La marca de tiempo en verde certifica tu tiempo final.