Campaña de participación en paquetes de npm – 25/11



Buen día

Para facilitar la adopción de medidas de verificación, contención y erradicación, compartimos la siguiente información detallada sobre un ataque continuo y a gran escala a la cadena de suministro que afecta al ecosistema npm y a la comunidad de desarrollo de JavaScript en general :

Contexto de la amenaza





Nivel de alerta : 5 Crítica



Alcance: Transversal

Motivación: Económica

Inicio de actividad: noviembre de 2025

Relevancia geográfica: Global

Campañas activas:



Información relevante sobre amenazas

  • Descripción

La campaña Shai Hulud, un ataque que aprovechó cuentas comprometidas de mantenedores de proyectos para insertar código malicioso en paquetes npm, se ha reactivado con una nueva ofensiva significativa contra la cadena de suministro del ecosistema JavaScript. Según los informes más recientes, los actores han iniciado una nueva ola de infecciones dirigidas a paquetes npm con el objetivo de comprometer integraciones y repositorios de proyectos alojados en GitHub, a una escala mayor que la campaña original detectada a finales del verano de 2025.

Los nuevos indicios sugieren que los atacantes han logrado comprometer e inyectar código malicioso en unos 500 paquetes npm con más de 132 millones de descargas mensuales totales , utilizando versiones manipuladas para robar secretos, credenciales y claves de acceso vinculadas a entornos de desarrollo y CI/CD. Entre los objetivos más destacados se incluyen componentes utilizados en entornos a gran escala, como proyectos vinculados a Zapier, ENS Domains y Postman , lo que confirma que la campaña está evolucionando y aumentando su impacto operativo.

El código malicioso implementado en esta nueva ola continúa aprovechando los scripts que se ejecutan durante los procesos de instalación o ejecución, y establece mecanismos de exfiltración que envían secretos robados a la infraestructura controlada por los atacantes. Los datos robados incluyen tokens de GitHub, claves SSH, variables de entorno, secretos de configuración, credenciales de servicios en la nube y cualquier otra información que pueda facilitar movimientos laterales o vulneraciones adicionales.

Paralelamente, el actor utiliza repositorios comprometidos para implementar flujos de trabajo manipulados de GitHub Actions , automatizando así la recopilación y el envío de secretos y manteniendo la persistencia hasta que los mantenedores detecten la actividad. Este uso de automatización maliciosa evidencia una mayor madurez operativa en comparación con la campaña original.

Afectación

El alcance de la nueva campaña es considerablemente mayor que el registrado en septiembre pasado. Investigaciones recientes confirman que se han alterado aproximadamente 500 paquetes npm , muchos de los cuales presentan una alta dependencia transitiva. Esto implica que, además de un mayor volumen de paquetes comprometidos que en la campaña anterior, esta oleada afecta a componentes utilizados en procesos reales, como automatizaciones, integraciones corporativas y herramientas de flujo interno respaldadas por equipos de ingeniería. Como resultado, el riesgo de participación se amplifica exponencialmente en proyectos que ni siquiera eran objetivos directos.



Entre los ecosistemas afectados se encuentran los entornos de producción e integración continua basados en GitHub, lo que afecta a los flujos de trabajo que utilizan repositorios contaminados o dependencias manipuladas. Las infecciones confirmadas en organizaciones como Zapier, ENS Domains y Postman demuestran que la campaña no se limita a paquetes pequeños, sino que afecta a servicios e infraestructura ampliamente utilizados.



A pesar de los esfuerzos de GitHub y npm por eliminar paquetes y bloquear cuentas comprometidas, la naturaleza de autopropagación del ataque significa que la detección completa sigue en curso y que aún no está disponible un límite definitivo del impacto total.



  • Pronóstico de amenazas

Todo indica que el actor continúa activo y con capacidades en expansión. La evidencia actual muestra:



  • Publicación repetida de versiones maliciosas mediante npm publish --force .

  • Regeneración continua de paquetes comprometidos incluso después de que npm los elimine.

  • Creación o manipulación de repositorios de GitHub para introducir flujos de trabajo maliciosos capaces de exfiltrar secretos y ejecutar comandos del entorno de desarrollo.

  • Técnicas refinadas para evitar la detección, incluida una ofuscación más avanzada y el uso de servicios de exfiltración temporales o generados dinámicamente.

  • Enfoque ampliado a ecosistemas y empresas de alto perfil, lo que sugiere que el actor podría estar priorizando el impacto estratégico y la captura masiva de credenciales.



A la vista de la inteligencia recopilada, es muy probable que en los próximos meses sigan apareciendo nuevas iteraciones de la campaña, aprovechando vectores similares o evolucionados.



Recomendaciones

Como buena práctica preventiva ante este tipo de campañas, la Agencia de Ciberseguridad de Cataluña considera prioritario implementar cuarentenas de 60/90 días para las actualizaciones de paquetes de NPM y, en general, para las dependencias de forma transversal. En un gran número de campañas de este tipo, observamos que una política de cuarentena permite evitar un gran número de estas. Además, dado el impacto que podría tener un ataque de estas características, también se recomienda llevar a cabo las siguientes acciones :



  • Auditar y limpiar dependencias de npm

  • Revise todos los archivos package.json, package-lock.json y SBOM para identificar dependencias transitivas y avanzadas.

  • Elimine o reemplace cualquier paquete marcado como malicioso o eliminado del registro npm.

  • Revocar credenciales de sistemas sensibles

  • Revocar inmediatamente los tokens npm, los tokens de acceso personal de GitHub, las claves SSH y las claves del proveedor de la nube que puedan haber estado expuestas en las máquinas de los desarrolladores o en las canalizaciones de CI/CD.

  • Vuelva a emitir nuevas credenciales con menos privilegios y habilite la autenticación multifactor (MFA).

  • Inspeccionar repositorios de GitHub y entornos de CI/CD

  • Encuentre y elimine flujos de trabajo inesperados o confirmaciones sospechosas en GitHub Actions.

  • Verifique la creación de repositorios públicos recientes en las cuentas de GitHub de su organización.

  • Fortalecer los entornos de desarrollo y CI/CD

  • Aplique protección de puntos finales, cifrado de disco completo y actualizaciones de seguridad a todas las estaciones de trabajo de desarrolladores (Linux/macOS).

  • Restrinja las instalaciones de npm de fuentes no verificadas y aplique privilegios mínimos estrictos para los tokens CI.

  • Almacene toda la información confidencial en administradores de secretos seguros en lugar de utilizar variables de entorno.





Puede encontrar una lista de los paquetes identificados como alterados en el archivo .txt adjunto. Quedamos a su disposición si tiene alguna duda o necesita ayuda al respecto.





Detalles

Documentos

Comentarios

Información sobre el ecosistema CERCA

CERCA Información sobre el ecosistema

Comunidades CERCA
Área DEEPTECH