Ataque masivo a npm: 67 paquetes maliciosos distribuyen malware avanzado
En los últimos meses, se ha producido una escalada significativa en la distribución de malware a través del repositorio npm, el gestor de paquetes más usado en el ecosistema Node.js. Distintos equipos de expertos en ciberseguridad han detectado que actores vinculados con Corea del Norte están detrás de una oleada de 67 paquetes maliciosos, descargados en más de 17.000 ocasiones antes de ser identificados y retirados, dentro de la campaña conocida como «Contagious Interview».
La estrategia de los atacantes consiste en infiltrarse en entornos de desarrollo abiertos aprovechando la popularidad de npm, suplantando proyectos legítimos y aplicando cambios sutiles para evitar ser detectados. Así, los desarrolladores y las organizaciones que confían en estos paquetes para automatizar y acelerar sus flujos de trabajo pueden verse comprometidos sin darse cuenta.
Campaña «Contagious Interview»: la amenaza persistente en npm
Esta operación, bautizada como «Contagious Interview», no es un incidente puntual, sino un esquema sostenido en el tiempo por grupos estatales norcoreanos. Una de las tácticas detectadas implica ofertas de empleo falsas dirigidas principalmente a profesionales del desarrollo de software. El proceso de «selección» incluye supuestas pruebas técnicas para los candidatos, que realmente consisten en la instalación de uno de los paquetes contaminados de npm, permitiendo así que el malware se ejecute en sus dispositivos.
El objetivo final de estos ataques es robar datos sensibles, como credenciales, archivos de criptomonedas o información sobre sistemas empresariales, y mantener acceso persistente a los equipos comprometidos.
Paquetes comprometidos y técnicas de engaño
Entre los 67 paquetes identificados hay nombres que imitan a herramientas y bibliotecas reconocidas del ecosistema JavaScript, como «vite-meta-plugin», «vite-postcss-tools» y «js-prettier». A menudo, la diferencia radica en una pequeña variación o error tipográfico respecto al nombre real, lo que dificulta a los usuarios detectar el engaño. Este tipo de técnicas también han sido utilizadas en otras campañas de malware en AUR.
Al instalar uno de estos paquetes, se ejecuta un script postinstalación que pone en marcha el «XORIndex Loader», un componente malicioso especialmente diseñado para pasar desapercibido frente a los sistemas de detección tradicionales. Este loader recopila información del dispositivo, la envía a servidores bajo control de los atacantes (utilizando infraestructura legítima como Vercel), y recibe instrucciones para descargar y ejecutar nuevos módulos maliciosos, como «BeaverTail» e «InvisibleFerret».
Esta capacidad de actualización modular permite que el malware evolucione y se adapte a los intentos de limpieza, generando una dinámica de «whack-a-mole» donde los atacantes suben variantes renovadas conforme los investigadores detectan y eliminan las anteriores.
Funcionamiento técnico: obfuscación y persistencia
El «XORIndex Loader» destaca por el uso de técnicas de ofuscación avanzadas, como la codificación XOR de cadenas de texto y rotación de múltiples endpoints de comando y control. Tras recopilar datos tan diversos como el nombre de usuario, hostname, tipo de sistema operativo, IP y geolocalización del dispositivo, el loader ejecuta scripts JavaScript recibidos desde los servidores de los atacantes mediante funciones «eval()», lo que le permite descargar y activar cargas útiles adicionales sin interacción del usuario. La detección de malware en repositorios oficiales también ha aumentado en los últimos meses.
El segundo escenario lo protagoniza «BeaverTail», especialista en extraer información sensible de monederos de criptomonedas y directorios de extensiones de navegador ampliamente utilizados. Los archivos robados se comprimen y envían a direcciones IP controladas por los criminales. Posteriormente, se activa el backdoor «InvisibleFerret» para mantener el control a largo plazo sobre el sistema.
Los expertos han constatado que estos mecanismos afectan por igual a usuarios de Windows, macOS y Linux, lo que amplía el alcance potencial del ataque.
Recomendaciones y medidas de defensa
Las empresas que dependen del ecosistema npm y los desarrolladores independientes deben extremar la precaución, especialmente cuando reciben propuestas laborales inesperadas o paquetes poco conocidos. Los investigadores aconsejan:
- Verificar la autoría y la reputación de los paquetes antes de su instalación.
- Analizar el código fuente en busca de técnicas de ofuscación o scripts sospechosos.
- Utilizar herramientas de análisis en tiempo real, como extensiones para el navegador o integraciones en plataformas de control de versiones tipo GitHub, que alerten ante posibles riesgos en dependencias.
- Priorizar el uso de proyectos mantenidos por comunidades activas y con historial transparente.
- Ejecutar nuevas librerías en entornos aislados de la infraestructura principal (sandbox) antes de pasar a producción.
La campaña «Contagious Interview» y la aparición de loaders como XORIndex evidencian la importancia de reforzar los controles de seguridad en la cadena de suministro de software y la necesidad de estar alerta ante cualquier indicio de movimientos sospechosos en los repositorios de npm. La colaboración entre desarrolladores, plataformas y expertos en ciberseguridad será esencial para prevenir estas amenazas, que por su alcance y sofisticación representan un reto para miles de profesionales y empresas en todo el mundo.