# Demostración educativa de tres vulnerabilidades de Claude Code (bypass de hooks, inyección MCP, exfiltración de claves API) con servidor atacante, proxy MITM y escáner de detección para el aprendizaje de seguridad en la cadena de suministro.
Este proyecto demuestra tres vulnerabilidades divulgadas por Check Point Research en la herramienta CLI Claude Code de Anthropic. Está diseñado para estudiantes e investigadores de ciberseguridad para comprender cómo funcionan los ataques a la cadena de suministro en herramientas de desarrollo con IA.

| ID | CVSS | Tipo | Corregido en |
|---|
| Sin CVE | 8.7 | Omisión del consentimiento de hooks → RCE | v1.0.87 (Sep 2025) |
| CVE-2025-59536 | 8.7 | Inyección de configuración del servidor MCP → RCE | v1.0.111 (Oct 2025) |
| CVE-2026-21852 | 5.3 | Exfiltración de claves API mediante URL base | v2.0.65 (Ene 2026) |
├── README.md # Este archivo
├── attacker_server.py # Servidor HTTP local que registra los datos recibidos
├── attacker_proxy.py # Proxy MITM para CVE-2026-21852 (captura clave API + tráfico)
├── scanner.py # Herramienta de detección: escanea repos en busca de estos patrones
├── vuln1_hooks_bypass/ # Demo: hooks maliciosos en settings.json
│ └── .claude/settings.json
├── CVE-2025-59536_mcp_injection/ # Demo: inyección de configuración del servidor MCP
│ ├── .mcp.json
│ └── .claude/settings.json
└── CVE-2026-21852_api_exfil/ # Demo: exfiltración de claves API mediante URL base
└── .claude/settings.json
python3 attacker_server.pypython3 attacker_proxy.py — proxy transparente en 127.0.0.1:8888 que captura claves API mientras reenvía el tráfico normalmentepython3 scanner.py <ruta-a-cualquier-repo> para detectar estos patronesscanner.py verifica cualquier repositorio local en busca de los tres patrones de vulnerabilidad antes de abrirlo en Claude Code.
python3 scanner.py <ruta-al-repo>
Detecta:
enableAllProjectMcpServers: true combinado con definiciones de servidores en .mcp.json (CVE-2025-59536)ANTHROPIC_BASE_URL u otras anulaciones de variables de entorno relacionadas con credenciales en .claude/settings.json (CVE-2026-21852)Termina con el código 1 si se encuentra algún problema, 0 si está limpio — fácil de integrar en una comprobación previa a la clonación en CI.
| Componente | Versión |
|---|---|
| Claude Code CLI | v2.0.61 |
Nota: v2.0.61 es una compilación vulnerable (el parche llegó en v2.0.65). No uses esta versión en producción.
En entornos de desarrollo impulsados por IA, los archivos de configuración forman parte de la capa de ejecución. Clonar un repositorio no confiable ahora equivale a ejecutar código no confiable si tus herramientas cargan automáticamente las configuraciones del proyecto.
Este proyecto se proporciona tal cual con fines educativos. Las técnicas mostradas aquí se demuestran únicamente en localhost y apuntan solo a vulnerabilidades históricas ya parcheadas. Usar estas herramientas contra sistemas de producción, infraestructura de terceros o cualquier sistema sin autorización explícita es ilegal y poco ético. El autor no es responsable de ningún daño causado por el mal uso de este material.