Una campaña de ciberataques coordinados ha comprometido múltiples paquetes críticos de npm durante julio de 2025, afectando bibliotecas JavaScript con más de 30 millones de descargas semanales. Los atacantes emplearon sofisticadas técnicas de phishing dirigidas específicamente contra mantenedores de proyectos open source, exponiendo las vulnerabilidades inherentes en las cadenas de suministro de software moderno.
Compromiso Masivo de la Infraestructura de Toptal
El incidente más significativo involucró la compromisión completa de Toptal, una plataforma líder de servicios freelance y herramientas de desarrollo. El 20 de julio, los ciberdelincuentes obtuvieron acceso no autorizado al repositorio GitHub corporativo, exponiendo instantáneamente 73 repositorios privados que contenían código fuente confidencial y proyectos internos.
Los investigadores de seguridad de Socket documentaron que los atacantes ejecutaron un plan meticulosamente orquestado. Tras comprometer los repositorios, modificaron el código fuente del sistema de diseño Picasso, inyectando componentes maliciosos antes de publicar 10 paquetes infectados en el registro npm bajo la apariencia de actualizaciones legítimas.
El malware integrado contenía dos funciones críticas: extracción de tokens de autenticación GitHub mediante scripts preinstall y destrucción sistemática de datos a través de scripts postinstall. Los paquetes comprometidos registraron aproximadamente 5,000 descargas antes de su detección y remoción.
Campaña de Phishing Contra Mantenedores JavaScript
Paralelamente, una operación de mayor escala se dirigió contra desarrolladores de paquetes npm ampliamente utilizados. El objetivo principal fue JounQin, mantenedor del paquete eslint-config-prettier, que registra más de 30 millones de descargas semanales y es fundamental en innumerables proyectos JavaScript.
La metodología de ataque empleó correos electrónicos de phishing altamente sofisticados enviados desde direcciones que simulaban el soporte oficial de npm ([email protected]). Los mensajes contenían enlaces que redirigían al dominio fraudulento npnjs[.]com, una réplica convincente del sitio oficial npmjs.com.
El compromiso resultó en la infiltración de varios paquetes críticos: eslint-plugin-prettier, synckit, @pkgr/core y napi-postinstall. Los atacantes utilizaron las credenciales robadas para distribuir versiones maliciosas que contenían malware especializado para sistemas Windows.
Análisis Técnico del Payload Malicioso
El análisis forense reveló un esquema de infección sofisticado. El script malicioso install.js se activaba inmediatamente después de la instalación del paquete, conteniendo una función logDiskSpace() que, contrario a su nombre aparentemente benigno, ejecutaba el archivo node-gyp.dll a través del proceso del sistema rundll32. Este mecanismo facilitaba la infiltración del stealer Scavanger, un troyano diseñado para la exfiltración de información sensible.
Compromiso de la Biblioteca ‘is’: Backdoor Multiplataforma
Un tercer incidente significativo involucró el paquete ‘is’, una biblioteca JavaScript ligera con 2.8 millones de descargas semanales. El desarrollador Jordan Harband detectó rápidamente la compromisión de las versiones 3.3.1-5.0.0, que fueron eliminadas del registro seis horas después de su publicación.
Los atacantes emplearon el mismo dominio fraudulento npnjs[.]com para obtener las credenciales del mantenedor. El código malicioso inyectado funcionaba como un loader JavaScript multiplataforma, estableciendo conexiones WebSocket para control remoto de los sistemas infectados.
La carga útil recopilaba información detallada del sistema host, incluyendo nombres de equipo, especificaciones del sistema operativo y procesador, así como todas las variables de entorno. Cada mensaje recibido a través de WebSocket se interpretaba como código JavaScript ejecutable, otorgando efectivamente a los atacantes acceso interactivo completo a las máquinas comprometidas.
Estrategias de Mitigación y Recuperación
La comunidad de ciberseguridad recomienda encarecidamente que los desarrolladores realicen auditorías inmediatas de sus dependencias. Es crucial verificar la ausencia de versiones comprometidas en sistemas de producción y ejecutar escaneos completos para detectar posibles infecciones.
Esta serie de incidentes subraya la importancia crítica de proteger las cadenas de suministro de software y la necesidad urgente de aumentar la conciencia sobre técnicas de ingeniería social entre desarrolladores. La implementación de autenticación de dos factores, verificación regular de fuentes de comunicación y precaución al hacer clic en enlaces de correos electrónicos siguen siendo principios fundamentales para defenderse contra estas amenazas emergentes.