El 8 de octubre de 2026, un actor malintencionado publicó en npm una versión comprometida de tensorlake. La versión comprometida es 0.5.144 y contiene una variante del gusano Shai-Hulud, que sustrae información confidencial de los dispositivos infectados e intenta autorreplicarse a través de las cadenas de suministro conectadas. Tensorlake es un entorno de pruebas sin servidor para agentes de IA y, según los datos, su paquete npm cuenta con más de 100 000 instalaciones acumuladas.
Tensorlake también distribuye un paquete a través de PyPI y Cargo, pero, en el momento de redactar este artículo, no hay indicios de que el autor de la amenaza haya podido publicarlo en ninguno de estos ecosistemas. El malware presenta ligeras variaciones con respecto a la última oleada de Shai-Hulud, por lo que es probable que se trate de una nueva infección y no de una reinfección continuada.
Lo que hace el malware
El malware se activa mediante un script de preinstalación, que ejecuta nodo lib/setup.mjs. setup.mjs (25a0735d0db7dc40e5d45ce42d9c106067e6a66e184d967cfecfab17c3bcb5ef) es un script ofuscado que sirve para instalar Bun en un equipo infectado y para ejecutar lib/Math_Symbol.js (b50a00900399ba99fb6ce1fc151519cb99d44320ef2a631f2237e1aea0ad6fec) con el entorno de ejecución de Bun.
Math_Symbol.js contiene una carga útil ofuscada de Shai-Hulud. El malware establece una variable global WORMTAG marcador antes de ejecutar código ofuscado, específico del paquete TensorLake infectado. Este marcador indica que se trata de una nueva infección, y no de una reinfección derivada de una oleada anterior de Shai-Hulud.
El malware descifra cargas útiles de persistencia y proliferación, así como un «interruptor de hombre muerto» que borra los equipos infectados si se revoca un token de GitHub integrado, en consonancia con oleadas anteriores de Shai-Hulud. Asimismo, al igual que en oleadas anteriores de Shai-Hulud, el malware intenta leer y extraer variables de entorno confidenciales y secretos locales. En breve se publicará en el apéndice un índice completo de los datos a los que apunta el malware, pero cualquier sistema afectado por el malware debe considerarse totalmente comprometido y cualquier secreto o credencial que contenga debe renovarse con carácter de máxima prioridad.
Este malware se diferencia de las oleadas anteriores de Shai-Hulud en que intenta leer datos más sensibles almacenados en los navegadores web. El malware intenta leer datos a partir de rutas de archivo predefinidas relacionadas con extensiones de navegador de criptomonedas y, además, descarga un archivo binario llamado «HackBrowserData» en los equipos infectados para intentar sustraer cookies y credenciales almacenadas en los navegadores web.
El malware resuelve su dirección C2 mediante un «dead drop» en la cadena de bloques. El malware revisa las transacciones de la cartera de Ethereum controlada por el autor de la amenaza. 0xb614155Fd88114d40549b259457Bcf921Df091B9 y lee el dominio C2 a partir de los datos de entrada de la transacción más reciente. La transacción más reciente se realizó el 21 de septiembre y contiene la dirección C2 iseekaigogo[.]com.
Seguimiento de la infección
El malware procedía del repositorio de GitHub «tensorlake». El 7 de octubre de 2026, el autor de la amenaza realizó modificaciones verificadas bajo la identidad de un administrador. El malware se introdujo en la modificación 41b38f0 mediante la subida directa de un archivo, tras lo cual el autor de la amenaza intentó actualizar la versión y activar la publicación. El repositorio estuvo comprometido durante aproximadamente 20 horas antes de que el autor de la amenaza pudiera activar la publicación en npm.
Cómo Aikido detecta esto
Si es usuario de Aikido, revise su feed central y filtre por problemas de malware. Esto aparecerá como un problema crítico de 100/100. Aikido realiza reescaneos cada noche, pero recomendamos activar un reescaneo manual ahora.
Si aún no es usuario de Aikido, puede crear una cuenta y conectar sus repositorios. Nuestra cobertura de malware está incluida en el plan gratuito, no se requiere tarjeta de crédito.
Para una cobertura más amplia en todo su equipo, Aikido's Device Protection le proporciona visibilidad y control sobre los paquetes de software instalados en los dispositivos de su equipo. Cubre extensiones de navegador, bibliotecas de código, plugins de IDE y dependencias de compilación, todo en un solo lugar. Detenga el malware antes de que se instale.
Para una protección futura, considere Aikido Safe Chain (código abierto). Safe Chain se integra en su flujo de trabajo existente, interceptando comandos npm, npx, yarn, pnpm y pnpx y verificando los paquetes con Aikido Intel antes de la instalación.
Indicadores de compromiso
Paquetes NPM:
- tensorlake 0.5.144
Dominio C2:
iseekaigogo[.]com
Archivos:
lib/setup.mjs25a0735d0db7dc40e5d45ce42d9c106067e6a66e184d967cfecfab17c3bcb5ef
lib/Math_Symbol.jsb50a00900399ba99fb6ce1fc151519cb99d44320ef2a631f2237e1aea0ad6fec
Otros:
- Cartera de Ethereum del actor malicioso:
0xb614155Fd88114d40549b259457Bcf921Df091B9