🔄 Historia en Desarrollo — Última actualización: 3 de abril de 2026, 16:30 UTC. Se descubrió y parcheó silenciosamente en v2.1.90 un bypass de seguridad en las reglas de denegación. Repositorios troyanizados del leak están propagando el infostealer Vidar y el malware GhostSocks. Ver sección de Actualizaciones abajo.
Actualizaciones
3 de abril de 2026 — 16:30 UTC
Parche liberado; bypass de seguridad confirmado; campaña de malware en marcha.
Primera versión parcheada: v2.1.90. Anthropic liberó silenciosamente Claude Code v2.1.90, corrigiendo una vulnerabilidad de seguridad descubierta por Adversa AI directamente a través del análisis del código fuente filtrado. No se emitió ningún changelog público ni advisory. Los usuarios que aún ejecutan v2.1.88 o cualquier versión anterior a v2.1.90 deben actualizar de inmediato. El paquete original v2.1.88 permanece despublicado en npm.
Bypass de seguridad en reglas de denegación (parcheado en v2.1.90). El Red Team de Adversa AI — una firma de seguridad israelí — identificó un límite hardcodeado en bashPermissions.ts: la constante MAX_SUBCOMMANDS_FOR_SECURITY_CHECK = 50, etiquetada con el issue interno de Anthropic CC-643. Si un comando bash contiene más de 50 subcomandos, Claude Code retrocede de un deny duro a un ask (prompt al usuario). Un archivo CLAUDE.md malicioso puede desencadenar esto instruyendo a la IA para generar un pipeline de más de 50 subcomandos que incluya un comando denegado (por ejemplo, curl) — bypasseando la regla de denegación por completo. La prueba de concepto usó 50 no-ops true más una invocación de curl. El riesgo es mayor en modo --dangerously-skip-permissions o en pipelines CI/CD. Anthropic ya tenía un fix interno (parser “tree-sitter”) en el código; un cambio de una línea en bashPermissions.ts:2174 cambiando "ask" a "deny" también lo soluciona. Esto parece estar corregido sin anuncio en v2.1.90.
Repositorios troyanizados propagando Vidar + GhostSocks. Zscaler ThreatLabz identificó al menos un repositorio de GitHub malicioso (publicado por el usuario idbzoomh) haciéndose pasar por el código fuente filtrado de Claude Code. El README afirmaba que el código fue “reconstruido desde el archivo .map de npm con funciones enterprise desbloqueadas y sin límites de mensajes.” El repositorio aparecía cerca de la parte superior de los resultados de Google para búsquedas de “leaked Claude Code”. Descargar el archivo .7z en la sección de releases activaba un dropper basado en Rust (ClaudeCode_x64.exe) que desplegaba Vidar v18.7 (un infostealer que apunta a credenciales, datos de tarjetas de crédito e historial del navegador) y GhostSocks (una herramienta proxy usada para enrutar tráfico criminal a través de máquinas infectadas). Al momento del reporte de Zscaler, el repositorio troyanizado tenía 793 forks y 564 estrellas, con al menos dos variantes aún activas en GitHub. Esto refleja una campaña de marzo de 2026 que usó instaladores falsos de OpenClaw para entregar los mismos dos payloads — un patrón de criminales que weaponizan señuelos de herramientas para desarrolladores de IA. Zscaler publicó una lista completa de IoCs en su blog.
Advertencia: No descargues código fuente “filtrado de Claude Code” de repositorios de GitHub que no hayas verificado independientemente contra los mirrors canónicos conocidos. El código fuente filtrado legítimo es TypeScript; ningún ejecutable precompilado forma parte del leak original.
Estado de CVE. Aún no se han asignado CVEs formalmente al 3 de abril. El bypass de la regla de denegación es lo más cercano a una vulnerabilidad que califica para CVE que se ha encontrado hasta ahora — Adversa argumenta que tiene implicaciones regulatorias y de compliance. Anthropic no ha emitido un advisory de seguridad.
2 de abril de 2026 — 16:30 UTC
El archivo R2 map ya no es visible vía CDN; detalle de deposición en demanda; contradicción de Sentry; guía oficial de hardening.
Actualización de accesibilidad de R2/source map. jsDelivr CDN actualmente lista @anthropic-ai/claude-code versión 2.1.88 y sirve cli.js, pero cli.js.map ya no es visible en la vista de navegación pública del CDN. Esto es consistente con que Anthropic haya revocado el acceso público en el bucket R2 y/o invalidación del caché CDN. No deshace la exposición — los mirrors públicos de GitHub con más de 41,500 forks son permanentes. Pero cierra la ruta original de recuperación del artefacto.
Contradicción de Sentry. El análisis profundo de The Register sobre el código fuente filtrado identificó sentry.ts, un módulo de reporte de errores que, cuando ocurre una excepción no manejada, captura: directorio de trabajo actual (exponiendo potencialmente nombres de proyectos y rutas de archivos), feature gates activos, ID de usuario, dirección de correo, ID de sesión e información de plataforma. La página pública de uso de datos de Anthropic declara: “Actualmente no usamos Sentry. Cuando usamos Sentry en el pasado, no enviamos datos sensibles como ruta de archivo o PII.” La presencia de sentry.ts en el código fuente de producción en vivo no es necesariamente una contradicción — la empresa pudo haber dejado de llamar a Sentry mientras dejaba el módulo en su lugar — pero es una discrepancia que vale la pena señalar dado su alcance de captura de PII.
Telemetría de Tamaño de Payload (no documentada). La llamada API tengu_api_query transmite messageLength — la longitud en bytes serializada en JSON del system prompt, mensajes y esquemas de herramientas — en cada llamada a la API. Estos metadatos no están divulgados en la documentación pública de uso de datos de Anthropic y permiten a Anthropic perfilar el tamaño y complejidad de cada sesión de usuario, incluso sin ver el contenido.
El auto-updater se ejecuta en cada lanzamiento. autoUpdater.ts:assertMinVersion() se activa en cada lanzamiento de Claude Code, obteniendo la versión de configuración activa de Statsig/GrowthBook. Esto significa que Anthropic puede retirar remotamente versiones específicas — forzando actualizaciones o deshabilitando instalaciones — sin un mecanismo de push tradicional.
Anthropic publica guía oficial de hardening de privacidad. En respuesta a la divulgación, Anthropic publicó una lista documentada de variables de entorno que limitan la transmisión de datos:
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1— deshabilita todas las operaciones de escritura de memoria y telemetríaCLAUDE_CODE_SIMPLE(bare mode) — elimina completamente memory y autoDreamANTHROPIC_BASE_URL— redirige las llamadas a la API a un endpoint privadoANTHROPIC_UNIX_SOCKET— enruta la autenticación a través de un socket SSH reenviado
Estas estaban previamente sin documentar o enterradas. Su publicación es una respuesta directa a la auditoría de privacidad desencadenada por el leak.
Detalle de deposición en demanda del DoD. En el litigio Anthropic PBC v. U.S. Department of War et al, Thiyagu Ramasamy (jefe de sector público en Anthropic) presentó una declaración del 20 de marzo de 2026 que afirma: “El personal de Anthropic no puede, por ejemplo, iniciar sesión en un sistema del DoW para modificar o deshabilitar los modelos durante una operación; la tecnología simplemente no funciona de esa manera. En estos despliegues, solo el gobierno y su proveedor de nube autorizado tienen acceso al sistema en ejecución.” El código fuente filtrado — particularmente el polling horario de remoteManagedSettings y el auto-updater — complica esta afirmación para despliegues no air-gapped y probablemente aparecerá en presentaciones futuras.
Estado de CVE. No se han asignado CVEs al 2 de abril. No se ha publicado ninguna nueva versión de npm.
1 de abril de 2026 — 16:30 UTC
Anthropic confirma; campaña DMCA comienza. Anthropic ha confirmado oficialmente que el leak fue accidental. Boris Cherny, jefe de Claude Code en Anthropic, lo describió como un “simple error de desarrollador” — el runtime Bun genera source maps por defecto y nadie agregó *.map al .npmignore. La empresa está ahora emitiendo notificaciones de baja DMCA a los mirrors de GitHub. La declaración de Anthropic a CNBC caracterizó la exposición como limitada a código de herramientas: “ningún dato de usuario, prompt o repositorio de cliente fue expuesto.” El paquete original de npm v2.1.88 fue discretamente despublicado.
Esta no fue la primera vez. Un leak de source map casi idéntico ocurrió en febrero de 2025 — haciendo de este el segundo incidente de este tipo en 13 meses. El leak del 31 de marzo también llegó solo 5 días después del leak de la “spec del modelo Mythos”, en el que una mala configuración de CMS expuso ~3,000 archivos internos de Anthropic incluyendo borradores de posts sobre modelos no lanzados.
Hallazgos de investigadores de seguridad — el código es peor que el leak. The Register y el investigador independiente “Antlers” han publicado un análisis profundo de lo que realmente hacen esas 512K líneas. Varios hallazgos merecen atención:
KAIROS (
src/bootstrap/state.ts:72): Un modo de daemon autónomo completamente construido pero no enviado. Nombrado por el concepto griego del momento oportuno, KAIROS está diseñado para ejecutarse persistentemente en segundo plano — incluso cuando tu laptop está cerrada. Suprime la herramientaAskUserQuestion(lo que significa que actúa sin preguntar), auto-pone en segundo plano comandos bash largos silenciosamente, se suscribe a eventos de webhook de GitHub de forma autónoma y opera con un presupuesto de bloqueo de 15 segundos. Referenciado más de 150 veces en el código. Los registros diarios de solo-adición crean una pista de auditoría — pero el usuario no la controla.autoDream: Un agente de fondo separado no lanzado capaz de leer todas las transcripciones de sesión. Se puede deshabilitar vía
CLAUDE_CODE_SIMPLE(bare mode) oCLAUDE_CODE_DISABLE_AUTO_MEMORY=1.Undercover Mode (
undercover.ts, ~90 líneas): Se activa cuando un empleado de Anthropic (USER_TYPE === 'ant') usa Claude Code en un repositorio no interno. Cuando está activo: elimina toda la atribuciónCo-Authored-Byde los commits (borrando rastros de autoría de IA), bloquea cualquier mención de nombres en clave internos, canales de Slack o nombres de modelos no lanzados. El código filtrado también reveló dos nombres en clave de modelos no lanzados: Opus 4.7 y Sonnet 4.8. En las versiones externas enviadas a usuarios regulares, Undercover Mode es dead-code-eliminated — nunca lo encontrarás. La preocupación ética: el código generado por IA de empleados de Anthropic entra a proyectos de código abierto sin ninguna atribución a la IA ni a la empresa.CHICAGO: Nombre en clave interno para computer use / control de escritorio. Habilita clics del ratón, entrada de teclado, acceso al portapapeles y capturas de pantalla. Disponible para suscriptores Pro/Max y empleados de Anthropic.
Telemetría persistente: Inicialmente vía Statsig (adquirido por OpenAI en septiembre de 2025), ahora migrado a GrowthBook. En cada lanzamiento, Claude Code hace una llamada a casa con: ID de usuario, ID de sesión, versión de la app, plataforma, tipo de terminal, UUID de Org, UUID de Cuenta y dirección de correo si está definida. Si está sin conexión, los datos se cachean en
~/.claude/telemetry/. Anthropic puede activar o desactivar feature gates en medio de una sesión.Configuraciones gestionadas remotamente (
remoteManagedSettings/index.ts): Para despliegues empresariales, Anthropic mantiene un servidor que puede enviar un objetopolicySettings, sondeado cada hora sin interacción del usuario. Estas configuraciones pueden establecer variables de entorno incluyendoANTHROPIC_BASE_URL,LD_PRELOADyPATH— y entran en efecto de inmediato vía hot reload.LD_PRELOADen particular tiene implicaciones de seguridad significativas.44 feature flags ocultos que cubren más de 20 funciones no enviadas; 5 estrategias de compactación de contexto; 3 modelos de ejecución de subagentes (Fork, Teammate, Worktree); sistema de event hooks con 25+ eventos;
bashSecurity.tscon 23 verificaciones numeradas que controlan cada comando shell.
Dimensión gubernamental/legal. The Register también sacó a la luz una demanda activa: Anthropic PBC v. U.S. Department of War et al, en la que Anthropic está demandando al DoD por prohibir sus servicios de IA después de que la empresa se negara a comprometer las salvaguardas del modelo. El DoD argumentó que Claude Code representaba una amenaza de supply chain — el leak del código fuente, incluyendo la capacidad de configuraciones gestionadas remotamente y el daemon KAIROS, puede complicar la posición de Anthropic en ese litigio.
Estado de CVE. No se han asignado CVEs a la fecha de esta actualización. Los investigadores de seguridad están auditando activamente el modelo de permisos de herramientas, la implementación JWT del puente IDE y el vector LD_PRELOAD en las configuraciones gestionadas remotamente.
Ninguna versión nueva de npm todavía. No se ha publicado ningún reemplazo parcheado para v2.1.88 al momento de escribir esto, más allá de despublicar el paquete original. Los usuarios deberían fijar a una versión limpia anterior.
Anthropic no fue hackeado. Nadie hizo brute-force a sus sistemas ni explotó un zero-day. Alguien simplemente olvidó eliminar un solo archivo de la configuración del build de npm — y ese archivo le entregó el código fuente completo de Claude Code a cualquiera que supiera dónde buscar.
Qué Pasó
El 31 de marzo de 2026, el investigador de seguridad Chaofan Shou (@shoucccc) descubrió que @anthropic-ai/claude-code versión 2.1.88 — publicado el día anterior — contenía cli.js.map: un archivo source map de JavaScript que nunca debería enviarse en un paquete de producción.
Los source maps son artefactos de depuración. Crean un mapeo entre el código de producción minificado/empaquetado y el código fuente original legible por humanos. Cuando publicas uno públicamente, le das a cualquiera la capacidad de reconstruir tu base de código original completa — comentarios, nombres de variables, arquitectura, todo.
Pero este leak fue más profundo que un source map local. El archivo .map contenía una referencia apuntando a un archivo zip alojado en el bucket de Cloudflare R2 de Anthropic — de acceso público. Ese zip contenía el código fuente TypeScript completo sin ofuscar.
En horas fue descargado, extraído y reflejado en un repositorio público de GitHub. Ese repositorio ha sido forkeado más de 41,500 veces desde entonces.
El código está afuera. No va a regresar.
Qué Fue Expuesto
Los números:
- ~1,900 archivos fuente TypeScript
- 512,000+ líneas de código
- ~40 herramientas integradas
- ~50 comandos slash
- Arquitectura interna completa, comentarios incluidos
Detalles arquitectónicos clave ahora públicos:
El Sistema de Herramientas — Las capacidades de Claude Code están construidas como plugins discretos con permisos controlados. Cada herramienta (lectura de archivos, ejecución bash, fetch web, integración LSP) tiene su propio modelo de permisos. La definición base de herramientas sola tiene 29,000 líneas de TypeScript.
El Motor de Consultas (46K líneas) — El cerebro de la operación. Maneja todas las llamadas a la API de LLM, streaming, caché y orquestación. El módulo individual más grande en el código.
Orquestación Multi-Agente (“Swarms”) — Claude Code puede generar sub-agentes en paralelo, cada uno con permisos de herramientas aislados. Anthropic los llama “swarms” internamente.
El Puente IDE — Una capa de comunicación bidireccional autenticada con JWT que conecta el CLI con las extensiones de VS Code y JetBrains. Ahora completamente documentada gracias al leak.
Runtime: Claude Code corre sobre Bun (no Node.js), usa React con Ink para el renderizado de interfaz de terminal.
Cómo un Source Map se Convierte en un Leak Completo del Código Fuente
Los source maps no son algo exótico. Todo desarrollador JavaScript los ha usado. El problema es que la mayoría piensa en ellos como una herramienta de depuración local — y lo son, hasta que los publicas accidentalmente en un registro de paquetes público.
El flujo que causó esto:
- El sistema de build de Anthropic compiló TypeScript → JavaScript minificado (
cli.js) - El sistema de build generó
cli.js.map— el artefacto de depuración que mapea el bundle de regreso al código fuente - El archivo map referenciaba un archivo zip en un bucket R2 configurado con acceso público
- Alguien publicó el paquete npm sin eliminar el archivo map del output de build
- Shou descargó el paquete, encontró el map, siguió la referencia R2, descargó el zip
Este no es un vector de ataque sofisticado. Cualquier herramienta de auditoría de paquetes npm lo detectaría. El fallo es puramente en la higiene del pipeline de build.
Las Implicaciones de Seguridad
Para Anthropic:
- La arquitectura propietaria es ahora permanentemente pública — los competidores pueden estudiar cada decisión de diseño
- Los investigadores de seguridad auditarán el sistema de permisos de herramientas en busca de caminos de escalación de privilegios
- La implementación JWT del puente IDE recibirá escrutinio en busca de vulnerabilidades de bypass de autenticación
- Los comentarios internos y las convenciones de nomenclatura revelan prioridades estratégicas y limitaciones conocidas
La lección más amplia para los profesionales:
La exposición de source maps es un error extremadamente común que afecta a mucho más que solo las empresas de IA. Una vulnerabilidad de Astro de 2024 siguió el mismo patrón. El fix es trivial — agrega "sourcemap": false a tu configuración de TypeScript/build, o excluye los archivos *.map de la publicación npm vía .npmignore.
El hecho de que esto haya ocurrido en Anthropic — una empresa con recursos de seguridad significativos y un producto que ejecuta código arbitrario en máquinas de desarrolladores — es un recordatorio de que el OPSEC del pipeline de build sigue siendo una ocurrencia tardía para la mayoría de los equipos de ingeniería.
Lo que esto no es:
- Una brecha en la infraestructura cloud de Anthropic
- Exposición de datos de clientes, prompts o repositorios
- Evidencia de un ataque de supply chain (a diferencia del incidente de axios hoy)
Esto es una falla de confidencialidad en el sentido clásico — código propietario ahora es público. El riesgo de exploit viene después, a medida que los investigadores escarban en 512,000 líneas buscando vulnerabilidades en el modelo de permisos de herramientas y el puente IDE.
¿Ya Había Sido Parcialmente Reverse Engineered Claude Code?
Sí. Claude Code ha sido reverse engineered antes — hay un sitio web entero (ccleaks.com ) dedicado a documentar las partes ocultas de Claude Code. Lo que el leak de hoy proporciona es un snapshot fresco, verificado y rico en comentarios de la base de código actual. Para cualquiera que ya esté estudiando los internos de Claude Code, esto es una mejora significativa en fidelidad.
¿El Archivo Map Sigue Siendo Accesible?
Al momento de publicación, la situación es ambigua. La referencia al bucket R2 en el archivo map puede seguir siendo accesible, o Anthropic puede haber revocado el acceso público. El propio paquete npm v2.1.88 puede aún contener el archivo map — npm no permite eliminar paquetes después de cierta ventana. Los mirrors de GitHub son permanentes — más de 41,500 forks garantizan copias redundantes en todo el internet.
Prácticamente: El código está afuera. La accesibilidad de la fuente original es un punto sin importancia.
Lo Que Anthropic Debería Hacer
- Publicar un post-mortem explicando cómo el archivo map entró al pipeline de build
- Revocar el acceso público en el bucket R2 si sigue activo
- Auditar todos los paquetes npm en busca de otros artefactos de depuración enviados accidentalmente
- Agregar verificaciones en el pipeline de build que fragen la publicación si se detectan archivos
*.mapen el output - Emitir un CVE o advisory de seguridad cubriendo cualquier vulnerabilidad descubierta en el código filtrado
El Panorama Más Amplio: Dos Incidentes Mayores, Un Mismo Día
El 31 de marzo de 2026 fue un día difícil para el ecosistema npm. El ataque de supply chain a axios (cubierto aquí ) desplegó un RAT multiplataforma vía una cuenta comprometida de mantenedor. Horas después, el error de build de Anthropic le entregó al mundo el código fuente de Claude Code.
Uno fue un ataque sofisticado y preplaneado. El otro fue un error humano en un script de build.
Ambos terminaron con código sensible en manos del público. La superficie de ataque es amplia — y no siempre es el adversario sofisticado de quien debes preocuparte.
Fuentes: The Register (31 mar) · The Register — Análisis de privacidad (1 abr) · CNBC · Dataconomy — Anthropic confirma · Bloomberg · ClaudeFa.st — Análisis completo · dev.to / Gabriel Anhaia · Penligent · Mirror de GitHub
Sigue @RedTeamGuides para cobertura de este y el ataque de supply chain a axios.
