Aikido

El paquete NPM «tensorlake» se ha visto afectado por el gusano Shai Hulud

Escrito por
Oliver Smith

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.mjs
    • 25a0735d0db7dc40e5d45ce42d9c106067e6a66e184d967cfecfab17c3bcb5ef
  • lib/Math_Symbol.js
    • b50a00900399ba99fb6ce1fc151519cb99d44320ef2a631f2237e1aea0ad6fec

Otros:

  • Cartera de Ethereum del actor malicioso:
    • 0xb614155Fd88114d40549b259457Bcf921Df091B9
Compartir:

https://www.aikido.dev/blog/tensorlake-npm-package-compromised

Escanear en busca de malware

Empieza gratis
4.7/5
¿Cansado de los falsos positivos?

Prueba Aikido como otros 100k.
Empiece ahora
Obtenga un recorrido personalizado

Con la confianza de más de 100k equipos

Reservar ahora
Escanee su aplicación en busca de IDORs y rutas de ataque reales

Con la confianza de más de 100k equipos

Empezar a escanear
Vea cómo el pentesting de IA prueba su aplicación

Con la confianza de más de 100k equipos

Empezar a probar

Consigue seguridad hoy mismo,
de forma rápida y gratuita.

Protege tu código, cloud y runtime en un sistema centralizado.
Conecta un repositorio para descubrir qué encuentran los agentes de razonamiento en tu base de código.

No se requiere tarjeta de crédito | Resultados del análisis en 32 segundos.
Con la confianza de más de 150k organizaciones