Investigadores consideran este incidente uno de los ataques más sofisticados a la cadena de suministro open source porque los paquetes maliciosos incluían firmas y metadatos de procedencia válidos, algo que normalmente sirve para demostrar que el software es legítimo.
Mini Shai‑Hulud no fue un único incidente, sino una campaña escalonada dirigida a múltiples proyectos y ecosistemas de desarrollo.
Entre el 10 y el 12 de mayo de 2026, investigadores detectaron que el malware había comprometido más de 170 paquetes en npm y PyPI distribuidos en 19 namespaces, publicando más de 400 versiones maliciosas.
Entre los proyectos afectados aparecieron bibliotecas relacionadas con:
Muchas de estas librerías son dependencias utilizadas por miles de aplicaciones web y herramientas de desarrollo, lo que amplifica enormemente el impacto potencial.
En conjunto, los paquetes afectados acumulaban más de 518 millones de descargas históricas, lo que ilustra el alcance potencial del ataque dentro del ecosistema open source.
Posteriormente, una nueva oleada afectó al ecosistema AntV, un conjunto de bibliotecas de visualización de datos con alrededor de 16 millones de descargas semanales.
La velocidad del ataque se debió principalmente a la automatización y al abuso de privilegios legítimos.
En el incidente del 19 de mayo, los atacantes comprometieron la cuenta de mantenedor de npm asociada al paquete atool.
Una vez dentro, aprovecharon los mecanismos normales de publicación que utilizan los mantenedores:
Con un solo acceso comprometido, los atacantes pudieron disparar procesos automáticos que publicaron versiones nuevas en decenas o cientos de paquetes al mismo tiempo.
Esto permitió que centenares de artefactos maliciosos se publicaran en cuestión de minutos, algo prácticamente imposible de hacer manualmente.
Uno de los aspectos más técnicos del ataque fue el uso indebido de los sistemas modernos de publicación segura.
Muchos proyectos open source usan GitHub Actions con “trusted publishing”, un mecanismo que permite publicar paquetes sin guardar credenciales permanentes. En su lugar, el pipeline obtiene tokens temporales mediante OpenID Connect (OIDC).
En varios proyectos comprometidos, los atacantes lograron:
Como el propio pipeline oficial realizaba la publicación, los paquetes parecían provenir del sistema de build legítimo del proyecto.
Esto rompió una suposición común en seguridad: que eliminar credenciales permanentes evita este tipo de compromisos.
El ataque fue aún más preocupante porque consiguió superar mecanismos diseñados precisamente para evitar manipulaciones.
Los pipelines modernos suelen generar pruebas de procedencia (provenance) bajo el estándar SLSA y firmar artefactos mediante certificados Sigstore. Estas firmas permiten verificar que un paquete fue construido por un workflow autorizado.
En el caso de Mini Shai‑Hulud, los investigadores descubrieron que los atacantes obtuvieron certificados de firma legítimos usando identidades comprometidas de CI y tokens OIDC. Como resultado, los paquetes maliciosos incluían provenance SLSA Build Level 3 válida y firmas criptográficas auténticas.
Desde el punto de vista de las herramientas de verificación, todo parecía correcto: paquetes firmados, procedencia trazable y publicación desde pipelines confiables.
El problema no estaba en el sistema de firmas, sino en que el entorno de build confiable ya había sido comprometido.
Los paquetes infectados contenían código diseñado para recopilar credenciales sensibles de desarrolladores e infraestructura.
Entre los objetivos identificados se encuentran:
Robar estas credenciales permitía a los atacantes comprometer nuevos repositorios, pipelines y cuentas de publicación, lo que ayudaba a que el malware se propagara por el ecosistema.
Por esa capacidad de expansión automática, Mini Shai‑Hulud ha sido descrito como un gusano de cadena de suministro dentro del ecosistema de desarrollo.
El incidente dejó varias lecciones importantes para la seguridad del software moderno.
1. La infraestructura confiable puede convertirse en el vector de ataque.
Incluso sistemas avanzados como OIDC, SLSA o artefactos firmados no garantizan seguridad si el atacante controla el pipeline que genera el software.
2. Un solo mantenedor comprometido puede afectar cientos de paquetes.
El caso del ecosistema AntV demostró cómo una sola cuenta permitió publicar cientos de versiones maliciosas en minutos.
3. Las dependencias multiplican el impacto.
Muchos paquetes npm dependen de otros paquetes. Si uno se compromete, el malware puede propagarse a través de dependencias transitivas a miles de proyectos.
4. La campaña parece parte de una operación más amplia.
Investigadores vinculan Mini Shai‑Hulud con una campaña mayor del grupo TeamPCP que también comprometió herramientas como el plugin Checkmarx Jenkins AST y atacó múltiples ecosistemas open source.
Mini Shai‑Hulud dejó claro que la verificación criptográfica por sí sola no es suficiente si los atacantes logran controlar la infraestructura que genera el software.
Por eso muchas organizaciones están reforzando medidas como:
A medida que el desarrollo moderno depende cada vez más de pipelines automáticos y paquetes reutilizables, la seguridad de las identidades de desarrolladores y la infraestructura de CI/CD se vuelve tan crítica como el propio código.
Mini Shai‑Hulud demostró lo rápido que puede romperse esa confianza — y lo lejos que puede propagarse el impacto cuando ocurre.
Comments
0 comments