Investigadores de seguridad de Socket.dev descubrieron un sofisticado ataque de cadena de suministro (supply chain attack) que afectó a tres paquetes populares del registro npm: request-utils, axios-wrapper y node-fetch-cache, que en conjunto sumaban más de 2 millones de descargas semanales.

El ataque utilizó una técnica conocida como 'typosquatting combinado con compromiso de cuenta'. Los atacantes primero crearon versiones con errores tipográficos de paquetes legítimos (por ejemplo, 'requst-utils' vs 'request-utils'), construyeron una base de usuarios durante meses, y luego comprometieron las cuentas npm de los mantenedores originales mediante una campaña de phishing altamente dirigida.

Una vez con acceso a las cuentas, publicaron versiones maliciosas que incluían código ofuscado capaz de exfiltrar variables de entorno (donde típicamente se almacenan API keys, tokens y credenciales), escanear archivos de configuración locales como .env y ~/.aws/credentials, y establecer un canal de comunicación reversa con servidores de comando y control.

El malware fue diseñado para ser dormante durante 72 horas después de la instalación, complicando la detección mediante técnicas de análisis dinámico estándar. Socket.dev estima que el ataque estuvo activo durante 12 días antes de ser detectado.

npm ya removió los paquetes comprometidos y las cuentas han sido recuperadas por sus dueños legítimos. Se recomienda a todos los usuarios que hayan instalado estas dependencias en las últimas dos semanas rotar inmediatamente todas sus credenciales y revisar logs de acceso de sus servicios en la nube.