Factum | Cylum

El eslabón débil eran las dependencias: aprendizajes del caso npm + crowdstrike

El gusano Worm “Shai-Hulud” compromete npm y ha tenido implicaciones en CrowdStrike. Te contamos qué implicaciones tiene un ataque a la cadena de suministro con este ejemplo reciente.

Npm es el registro público y gestor de paquetes del ecosistema JavaScript/Node.js. Sustenta aplicaciones web y microservicios en frontend y backend, y se usa masivamente en pipelines CI/CD. Por su ubicuidad (dependencias transitivas, millones de paquetes), una brecha en npm puede escalar rápido y afectar a toda tu cadena de suministro.

💡Este tipo de incidentes demuestran la gravedad de los ataques a la cadena de suministro de software, así como la sofisticación y rapidez con la que pueden escalar. Es esencial que los equipos de seguridad lean, auditen y adopten defensas proactivas, especialmente en entornos donde el open source y la automatización forman el núcleo del proceso de desarrollo.

Te contamos este caso con todo detalle:

📆 Fechas clave

  • El ataque fue detectado el 15 de septiembre de 2025, cuando versiones maliciosas de varios paquetes npm fueron publicadas.
  • Publicaciones sobre el incidente se siguieron al día siguiente, 16 de septiembre, con nuevos análisis técnicos agregados.

🧪 Detalles técnicos del ataque

  • El malware se aprovecha del post-install script de paquetes npm maliciosos para ejecutar un bundle.js, que inicia varias fases:
    1. Usa TruffleHog para buscar secretos (tokens, claves, variables de entorno) en el sistema; también explora metadatos de nube (IMDS) cuando estén disponibles.
    2. Si encuentra tokens de GitHub, los usa para:
      • crear un repositorio público llamado Shai-Hulud que contiene datos robados, codificados en base64 u otras transformaciones.
      • implantar workflows de GitHub Actions maliciosos en repositorios accesibles para exfiltrar datos vía un endpoint webhook (webhook.site).
      • migrar repositorios privados a públicos, añadiendo un sufijo -migration al nombre, y con descripción “Shai-Hulud Migration”.
    3. Propagación autónoma (“worm-like behavior”): si el entorno tiene tokens npm válidos, el malware busca otros paquetes bajo ese mantenedor, inserta código malicioso (modificación de package.json + bundle), y publica versiones comprometidas.
  • Se han identificado entre 180-200 paquetes comprometidos aproximadamente, incluyendo varios con el scope @crowdstrike.

🏢 Implicación de CrowdStrike

  • Varios paquetes de npm pertenecientes a CrowdStrike han sido afectados.
  • CrowdStrike ha comunicado que tras detectar los paquetes maliciosos en el registro público de npm, procedieron a eliminarlos y rotar sus claves / tokens públicos afectados.
  • Importante: según sus declaraciones, sus productos principales como Falcon sensor / plataforma no resultaron comprometidos — los paquetes afectados no forman parte del sensor, y los clientes siguen protegidos.

⚠️ Impacto

  • Exposición de secretos (tokens, claves API, credenciales de nube) visibles incluso en logs de workflows de GitHub.
  • Migraciones no autorizadas de repositorios privados a públicos, lo que significa pérdida de confidencialidad de código e información.
  • Alto riesgo de propagación, dada la naturaleza del worm: una vez que infecta, puede usar tokens presentes para comprometer otros paquetes del mismo mantenedor.

🛠️ Qué hacer en este caso (recomendaciones técnicas )

  1. Identificar y limpiar
    • Revisar dependencias en proyectos: verificar versiones afectadas de paquetes (por ejemplo, los de CrowdStrike, @ctrl/*, etc.) y reemplazarlas por versiones limpias seguro.
    • Vaciar cachés npm (npm cache clean –force) y reinstalar dependencias asegurándose de que las versiones instaladas no sean las comprometidas.
  2. Auditoría de repositorios GitHub
    • Buscar repositorios con nombre Shai-Hulud, descripciones Shai-Hulud Migration, ramas o workflows con nombres o archivos sospechosos como .github/workflows/shai-hulud-workflow.yml.
    • Revisar visibilidad de repos: si repos privados han sido convertidos a públicos sin autorización.
  3. Rotación de credenciales
    • Revocar / regenerar todos los tokens de GitHub afectados, tokens de npm, claves de API de servicios en la nube, SSH keys, variables sensibles.
  4. Monitoreo & detección
    • Vigilar logs de CI/CD pipelines, auditorías de GitHub (creación pública/privada de repos, ramas, workflows).
    • Implementar reglas de detección basadas en firmas conocidas: nombre de workflow, webhook endpoint conocido (webhook.site/bb8ca5f6-4175-45d2-b042-fc9ebb8170b7), hash del bundle.js, etc.

El rol de CrowdStrike como víctima parcial subraya que incluso organizaciones con altos estándares de seguridad pueden verse afectadas por fallos en los ecosistemas de paquetes externos. Como abríamos este artículo, es esencial que los equipos de seguridad lean, auditen y adopten defensas proactivas, especialmente en entornos donde el open source y la automatización forman el núcleo del proceso de desarrollo.

Si necesitas ayuda, cuenta con nosotros

Resumen de privacidad
cylum-dark

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Cookies de terceros

Esta web utiliza Google Analytics para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar esta cookie activa nos permite mejorar nuestra web.