Secuestro de Cuenta npm de Axios: RAT mediante Dependencia Fantasma y Filtración de Código de Claude
El 31 de marzo de 2026, atacantes secuestraron la cuenta npm del mantenedor de Axios (jasonsaayman), publicando versiones maliciosas 1.14.1 (la más reciente) y 0.30.4 (legacy). Los paquetes distribuyeron un troyano RAT durante tres horas—desde las 00:21 hasta las 03:15 UTC. Con 100 millones de descargas semanales, el daño potencial fue enorme.
El código de Axios en sí permaneció intacto. Los atacantes añadieron una dependencia de [email protected] en package.json—un paquete creado un día antes del ataque. Esta dependencia no se importa en el código, actuando como una dependencia fantasma.
Mecanismo del Ataque
La instalación procede de la siguiente manera:
npm installdescarga todas las dependencias depackage.json.plain-crypto-jsejecuta un scriptpostinstall.- El script descarga un payload desde un servidor C2.
- Se despliega un RAT multiplataforma para macOS, Windows y Linux.
- El script restaura un
package.jsonlimpio, ocultando rastros.
Una revisión estándar de código no detectará el problema: los archivos JS están limpios, y la dependencia sospechosa solo es visible en el manifiesto. Los escáneres deben verificar los scripts postinstall de los paquetes transitivos.
Acciones Inmediatas
| Rama | Versión Maliciosa | Versión Segura |
|--------|-------------------|--------------|
| latest | 1.14.1 | 1.14.0 |
| legacy | 0.30.4 | 0.30.3 |
Verifique:
package-lock.json/yarn.locken busca de versiones maliciosas.- Presencia de
plain-crypto-jsen las dependencias.
Si se encuentra—el sistema está infectado. Rote claves, tokens y secretos. Los IOCs han sido publicados por StepSecurity, Socket y otros.
Atribuido a UNC1069/Lazarus—un ataque típico de cadena de suministro mediante secuestro de cuenta sin comprometer el registro npm.
Filtración de Código Fuente de Claude mediante Sourcemap
El mismo día, Anthropic publicó @anthropic-ai/[email protected] con un archivo cli.js.map de 59.8 MB. El sourcemap reveló ~512,000 líneas de TypeScript, 1,900 archivos, prompts del sistema, lógica de memoria, planificación y funciones no anunciadas.
Causa y Consecuencias
Un error en .npmignore: los source maps no fueron excluidos del paquete. El sourcemap hacía referencia a un bucket R2 público de Anthropic. El código fue rápidamente reflejado en GitHub después de un informe de Chaofan Shou.
Anthropic eliminó la versión y lanzó un parche, pero los espejos se propagaron. Esto no fue un hack sino un error de compilación.
Implementación en Sala Limpia: De la Filtración a Proyecto Abierto
Sigrid Jean (instructkr) reescribió la arquitectura de Claude Code en Python sin copiar el código fuente, evitando DMCA. Usó oh-my-codex para aceleración.
Implementó:
- Arnés de agente.
- Herramientas.
- Memoria y planificación.
- Subagentes de enjambres.
El repositorio claw-code obtuvo 50,000 estrellas en 2 horas, 100,000+ en un día—un récord en GitHub. Un port a Rust también es popular. El proyecto se posiciona como herramientas de arnés mejoradas.
Conclusiones Clave
- Dependencia fantasma en Axios: RAT se disfraza como biblioteca criptográfica, activado mediante postinstall, multiplataforma.
- Filtración de Claude Code: 512k líneas mediante sourcemap debido a falta de .npmignore.
- Enfoque de sala limpia: Reescribir arquitectura en Python/Rust evita DMCA, crea una alternativa abierta.
- Verificaciones de archivos de bloqueo: Esencial para detectar 1.14.1/0.30.4 y plain-crypto-js.
- Auditorías de cuentas npm: El secuestro de mantenedor es un vector para ataques de cadena de suministro.
— Editorial Team
Aún no hay comentarios.