Una grave vulnerabilidad en el repositorio de código NPM ha sido explotada por atacantes que han introducido más de 100 paquetes maliciosos diseñados para robar credenciales, según descubrió la firma de seguridad Koi. Desde agosto, estos paquetes se han descargado más de 86,000 veces, y muchos siguen disponibles para descarga pública.

La campaña, conocida como PhantomRaven, aprovecha una práctica de NPM llamada Remote Dynamic Dependencies (RDD), que permite que los paquetes descarguen automáticamente dependencias desde sitios web externos no verificados, incluso aquellos con conexiones HTTP no cifradas. Esto crea un enorme punto ciego para herramientas tradicionales de seguridad, ya que dichas dependencias “invisibles” no aparecen en el análisis estático ni en la lista visible de dependencias del paquete.

El proceso de ataque funciona descargando código malicioso de servidores controlados por los atacantes cada vez que se instala un paquete comprometido, evitando el almacenamiento en caché o versionado que podría ayudar a detectar manipulación. Esto posibilita a los atacantes:

  • Adaptar las cargas útiles según la IP o el entorno, sirviendo código limpio a investigadores y código malicioso en entornos corporativos o de nube.
  • Mantener paquetes aparentemente seguros durante semanas para evadir escaneos, y luego activar el código malicioso.

Los paquetes maliciosos inspeccionan los sistemas infectados para recolectar variables de entorno, credenciales de GitHub, Jenkins y NPM, además de detalles del entorno de integración continua y entrega continua (CI/CD), facilitando ataques posteriores en la cadena de suministro de software.

Curiosamente, muchos nombres de estas dependencias halladas son “alucinaciones” de modelos de lenguaje de IA, influyendo en desarrolladores que buscan nombres de dependencias sugeridos por bots, lo que PhantomRaven utiliza para camuflar sus cargas maliciosas.

Koi recomienda a los desarrolladores que usan NPM revisar su publicación con los indicadores específicos para detectar si sus sistemas han sido comprometidos por PhantomRaven.

Hasta el momento, NPM no ha respondido oficialmente a esta amenaza ni ha anunciado medidas para limitar el uso riesgoso de Remote Dynamic Dependencies.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí