Un solo "npm install" basta para que los hackers tomen el control total de la cadena de suministro.

La activa campaña «PhantomRaven» se ha dirigido a desarrolladores a través del repositorio npm y, en poco tiempo, ha distribuido por el ecosistema decenas de paquetes maliciosos. El código malicioso integrado recopila tokens de autenticación, secretos de CI/CD y credenciales para GitHub, lo que crea el riesgo de introducir cambios en proyectos ajenos sin ser detectado y de lanzar ataques a la cadena de suministro. Según Koi Security, la actividad comenzó en agosto; se publicaron 126 paquetes, el número total de descargas superó las 86 000, y una parte significativa de las entradas todavía está disponible en el registro.
Los autores de la campaña disfrazan sus publicaciones como proyectos legítimos y se aprovechan de las «alucinaciones» de los asistentes de IA: se emplea la práctica conocida como slopsquatting, en la que los modelos de chat sugieren nombres de bibliotecas que no existen pero parecen plausibles. Entre las falsificaciones hay paquetes que imitan herramientas de GitLab y Apache, lo que incrementa la confianza del usuario desprevenido y facilita la infiltración en la cadena de suministro.
La característica clave de «PhantomRaven» son las dependencias dinámicas eliminables. Los paquetes declaran cero dependencias en su manifiesto, pero durante la instalación cargan de forma desapercibida la carga útil desde direcciones externas y la ejecutan automáticamente al ejecutar «npm install». El análisis estático de un módulo así casi no detecta nada, por eso el código malicioso permanece en el ecosistema más tiempo de lo habitual.
El código de terceros, tras «instalarse», examina los parámetros del sistema objetivo, valora su relevancia y recorre las variables de entorno en busca de direcciones de correo electrónico para vincular el equipo con un propietario concreto. La mayor amenaza es la recopilación de tokens para NPM, GitHub Actions, GitLab, Jenkins y CircleCI: el acceso a esas claves abre la puerta a modificar repositorios, configuraciones de los pipelines de compilación y a emitir compilaciones infectadas.
Para exfiltrar datos se usan tres canales: solicitudes GET que codifican la información en la URL, solicitudes POST con JSON y conexiones persistentes por WebSocket. Esta combinación facilita eludir las restricciones de red y complica la detección en el perímetro, especialmente si el tráfico se mezcla con la actividad legítima de las herramientas de desarrollo.
El equipo de Koi Security señala que fueron precisamente las dependencias dinámicas eliminables las que ayudaron a que la operación permaneciera largo tiempo sin ser detectada. El informe también incluye indicadores de compromiso y la lista completa de publicaciones maliciosas.
Los desarrolladores deberían verificar el origen de los módulos, cotejar los nombres con las páginas oficiales de los proveedores, evitar seguir recomendaciones indiscriminadas de chatbots y filtrar cuidadosamente los resultados de búsqueda para distinguir paquetes reales del typosquatting y del slopsquatting. De lo contrario, basta con una instalación para transmitir sus claves a los atacantes y darles capacidad de influir en proyectos ajenos.