Una versión maliciosa 8.14.0 de jscrambler en npm distribuyó un infostealer multiplataforma

Una versión comprometida del paquete jscrambler de npm instaló un infostealer basado en Rust en los sistemas de desarrolladores, según análisis de Socket, StepSecurity y SafeDep. La versión 8.14.0 se...

Una versión comprometida del paquete jscrambler de npm instaló un infostealer basado en Rust en los sistemas de desarrolladores, según análisis de Socket, StepSecurity y SafeDep. La versión 8.14.0 se publicó el 11 de julio de 2026 y fue reemplazada poco después por la 8.15.0. Sin embargo, la versión afectada sigue disponible en npm y aún puede instalarse cuando se referencia mediante un archivo de bloqueo o una versión explícita.

El paquete malicioso introdujo un hook de preinstalación y dos archivos en dist/. El cargador selecciona un binario específico para cada plataforma integrado en intro.js, lo escribe en un archivo con un nombre aleatorio en el directorio temporal del sistema y lo inicia ocultando su salida. Los investigadores encontraron compilaciones para Windows, macOS y Linux. Los archivos no parecen estar presentes en el historial público del código fuente del proyecto y no se identificó ningún commit ni etiqueta correspondientes a la versión 8.14.0, lo que sugiere que una cuenta de mantenedor o la canalización de publicación podrían haber sido comprometidas.

Información objetivo

El malware busca credenciales y datos de sesión que suelen estar presentes en sistemas de desarrollo y de CI. Entre los objetivos señalados se incluyen las credenciales de AWS, Azure y Google Cloud; contraseñas y cookies de navegadores; billeteras de criptomonedas; datos de Bitwarden; y sesiones de servicios como Discord, Slack, Telegram y Steam. También se buscan archivos de configuración utilizados por herramientas de desarrollo de IA, como Claude Desktop, Cursor, Windsurf, VS Code y Zed, ya que pueden contener claves de API o credenciales del Model Context Protocol.

En Linux, el binario incluye funciones asociadas con la carga de código eBPF, mientras que las variantes para Windows y macOS implementan mecanismos de persistencia. La monitorización durante la ejecución observó conexiones con dos direcciones IP codificadas y con infraestructura de Tor. El paquete recibe aproximadamente 15.800 descargas semanales, aunque se desconoce el número de instalaciones de la versión 8.14.0.

Respuesta recomendada

  • Actualice a la versión 8.15.0 o vuelva a la 8.13.0, y elimine la 8.14.0 de los archivos de bloqueo y las cachés.
  • Revise los registros del gestor de paquetes y la actividad de CI en busca de instalaciones realizadas desde el 11 de julio, incluida la ejecución de dist/setup.js.
  • Inspeccione los directorios temporales, las tareas programadas y los LaunchAgents de macOS en busca de artefactos sospechosos.
  • Considere expuestos los secretos accesibles: rote las credenciales de servicios en la nube, npm, GitHub y herramientas de IA; revoque las sesiones; y proteja las criptomonedas almacenadas en los sistemas afectados.

El incidente pone de relieve el riesgo de los scripts de instalación en las dependencias de desarrollo. npm 12 desactiva estos scripts de forma predeterminada, pero los clientes más antiguos pueden ejecutarlos automáticamente.