El gusano Shai‑Hulud compromete NPM y la cadena de suministro: desarrolladores, víctimas

El gusano Shai‑Hulud compromete NPM y la cadena de suministro: desarrolladores, víctimas

Querían un "Hello, world" y acabaron con un "Hello, worm".

image

En el ecosistema JavaScript se detectó un gusano peligroso llamado Shai-Hulud, que ha infectado al menos 187 paquetes en el repositorio NPM. Su particularidad es que no solo roba las credenciales de los desarrolladores, sino que se propaga por sí mismo, creando nuevas versiones de bibliotecas con código malicioso insertado. Una vez en el sistema, el malware busca tokens de NPM, modifica hasta veinte de los paquetes más populares a los que tenga acceso el propietario de esos tokens y publica sus copias actualizadas. Cada nueva instalación de un componente infectado conduce al robo de un número aún mayor de secretos y a su publicación en repositorios públicos de GitHub con la etiqueta Shai-Hulud.

El estudio del ataque está a cargo de especialistas de las empresas Aikido, StepSecurity y la plataforma socket.dev. Según sus datos, el primer paquete comprometido fue modificado el 14 de septiembre. El gusano utiliza la herramienta TruffleHog para buscar claves de acceso y tokens en el entorno del desarrollador, y también intenta crear GitHub Actions y volcar los secretos encontrados. Además, se dirige a sistemas Linux y macOS, ignorando por completo los entornos Windows. Para servicios en la nube, Shai-Hulud puede extraer datos de AWS, Azure y Google Cloud Platform.

Despertó especial alarma que la infección afectara paquetes publicados en nombre de CrowdStrike. Socket.dev registró al menos 25 de esas bibliotecas, pero NPM las eliminó rápidamente del acceso público. Desde CrowdStrike informaron que no hay amenaza para la plataforma principal Falcon: los módulos maliciosos no están vinculados a los productos de la empresa, las claves fueron revocadas y la investigación del incidente continúa.

Los expertos prestaron atención a que Shai-Hulud no solo utiliza tokens robados, sino que también provoca una cadena de infección en cascada: una cuenta comprometida conduce a la contaminación de todos los paquetes de su propietario. Este esquema hace que el gusano sea especialmente peligroso, ya que una falta de atención de un desarrollador puede provocar una propagación en avalancha. Los investigadores comparan el ataque con un organismo vivo, que puede quedar inactivo durante un tiempo y luego reanudar la actividad con una nueva infección. Ya hay indicios de reducción en el número de infecciones recientes, pero persiste el riesgo de un nuevo repunte.

El precedente del incidente actual fue una serie de ataques a NPM en las últimas semanas. Primero hubo una campaña masiva de phishing con notificaciones falsas sobre la necesidad de actualizar la configuración de autenticación multifactor; después, varias decenas de paquetes maliciosos ingresaron al registro público, orientados a robar datos de criptomonedas. En agosto resultó afectada la popular herramienta «nx» con millones de descargas por semana: el código insertado buscaba claves y tokens, creaba un nuevo repositorio público directamente en la cuenta de GitHub de la víctima y depositaba allí lo robado. A diferencia de Shai-Hulud, ese malware no contaba con un mecanismo de autorreplicación.

Según especialistas del sector, lo ocurrido puede calificarse como un «ataque a la cadena de suministro al cuadrado». Se considera que la única solución eficaz será implantar un esquema protegido de doble factor para la publicación de cada paquete con confirmación obligatoria por parte de una persona. Los procesos automáticos sin control adicional se convierten en una puerta abierta para el atacante.

Shai-Hulud demuestra lo vulnerables que siguen siendo las actuales cadenas de suministro de software. La infección masiva a través de paquetes de confianza pone en riesgo todo el proceso de desarrollo, y mientras el ecosistema no adopte medidas de control y autenticación más estrictas, brotes similares se repetirán.

Tu privacidad está muriendo lentamente, pero nosotros podemos salvarla

¡Únete a nosotros!