El ataque s1ngularity a NX golpea la cadena de suministro JS/TS: alcance, vector y mitigación

CyberSecureFox 🦊

Investigadores de Wiz han reconstruido el ataque “s1ngularity” a la plataforma de builds NX, un incidente de cadena de suministro con consecuencias amplias para el ecosistema JavaScript/TypeScript. Según sus hallazgos, el compromiso afectó a 2.180 cuentas y expuso el contenido de 7.200 repositorios, con parte de los secretos robados aún vigentes. Dada la adopción de NX en entornos empresariales para monorrepos y automatización CI/CD, el alcance operativo del incidente es significativo.

Alcance del incidente: repositorios expuestos y secretos aún válidos

La primera fase (26–27 de agosto de 2025) involucró builds comprometidas de NX que afectaron a unos 1.700 usuarios, filtrando más de 2.000 secretos únicos y alrededor de 20.000 archivos desde equipos infectados. En la segunda fase (28–29 de agosto), los atacantes reutilizaron tokens de GitHub sustraídos para cambiar repositorios privados a públicos, comprometiendo otras 480 cuentas y exponiendo datos de 6.700 repositorios privados. Una tercera fase (a partir del 31 de agosto) apuntó a una organización concreta, publicando 500 repositorios privados mediante dos cuentas previamente comprometidas.

Vector de ataque: GitHub Actions vulnerable y paquete npm malicioso

El equipo de NX publicó un análisis de causa raíz: una debilidad en GitHub Actions permitió la ejecución de código mediante un pull request con un encabezado manipulado. Con ese acceso, los atacantes publicaron en npm versiones maliciosas de NX que incluían el script telemetry.js, ejecutado en la fase postinstall.

La carga útil operaba como infostealer en Linux y macOS, recolectando tokens de GitHub/npm, claves SSH, archivos .env y datos de monederos de criptomonedas. La exfiltración se dirigía a repositorios públicos de GitHub con nombres como s1ngularity-repository (y variantes -0, -1). En la primera fase se introdujeron al menos tres cargas útiles distintas en la cadena de suministro de NX.

IA operacionalizada: descubrimiento de secretos y evasión

Una característica singular del incidente fue el uso —documentado públicamente— de herramientas CLI de IA generativa (Claude, Google Gemini, Amazon Q) como parte del arsenal ofensivo. Los atacantes emplearon prompts adaptativos para localizar credenciales y mejorar iterativamente la extracción de secretos y eludir controles, reduciendo el time-to-exfiltration.

Riesgo residual: tokens activos y posible movimiento lateral

Wiz advierte que las instalaciones de versiones afectadas de NX podrían ser más numerosas de lo registrado. Aproximadamente 100 tokens de npm —en torno al 40% de los robados en la primera fase— siguen activos. Cerca del 5% de los tokens de GitHub permanecen válidos, manteniendo la ventana para accesos no autorizados y lateral movement en organizaciones afectadas.

Implicaciones para DevSecOps y equipos JavaScript/TypeScript

El caso evidencia cómo una única configuración deficiente de CI/CD puede propagar artefactos maliciosos a gran escala. En ecosistemas basados en paquetes y automatización, el principio de mínimo privilegio y la gestión de secretos de corta vida son determinantes. La incorporación de IA por parte del atacante amplifica el radio de impacto y acelera la explotación, elevando el listón de defensa para desarrolladores y plataformas.

Respuesta recomendada y endurecimiento de la cadena de suministro

Acciones inmediatas

Rotar todos los tokens potencialmente expuestos (GitHub y npm), revocar claves SSH, reinstalar NX desde fuentes confiables, verificar .env y monederos, e auditar permisos de repositorios y organizaciones.

Buenas prácticas sostenibles

Restringir GITHUB_TOKEN con permissions explícitas; bloquear la ejecución de código no confiable en PR (sobre todo desde forks); validar y sanear metadatos/entradas de PR; usar OIDC para tokens efímeros; habilitar 2FA/SSO y rotación obligatoria de secretos; limitar tokens de npm por scope e IP/CIDR y adoptar provenance/attestations; activar secret scanning y alertas; y monitorizar anomalías en CI/CD y dependencias.

La seguridad de la cadena de suministro exige disciplina operativa, higiene estricta en CI/CD y preparación frente a adversarios que ya operan con IA. Revise hoy la configuración de GitHub Actions y npm, rote e inventaríe sus secretos y capacite a sus equipos para responder con rapidez ante incidentes de supply chain.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.