El malware GlassWorm resurge y apunta a cientos de repositorios en GitHub, npm y VSCode
El ataque a la cadena de suministro **GlassWorm** ha regresado con fuerza, comprometiendo cientos de paquetes, repositorios y extensiones en múltiples plataformas. Investigadores de seguridad alertan sobre la naturaleza coordinada y el amplio alcance de esta campaña.

Investigadores de **Aikido**, **Socket**, **Step Security** y la comunidad **OpenSourceMalware** han identificado colectivamente 433 componentes comprometidos este mes en ataques atribuidos a **GlassWorm**.
### Resumen de la Campaña
La evidencia sugiere que un único actor de amenazas está detrás de las campañas de **GlassWorm**, utilizando la misma dirección de la blockchain **Solana** para la actividad de comando y control (C2), payloads idénticos o funcionalmente similares, e infraestructura compartida.
**GlassWorm** fue observado por primera vez en octubre pasado. Los atacantes emplearon caracteres Unicode "invisibles" para ocultar código malicioso diseñado para robar datos de billeteras de criptomonedas y credenciales de desarrolladores.
La campaña se expandió al marketplace oficial de **Visual Studio Code** de **Microsoft** y al registro **OpenVSX**, como descubrió el investigador de Secure Annex, John Tuckner.
Los sistemas **macOS** también fueron objetivo, con clientes troyanizados para **Trezor** y **Ledger**, y posteriormente desarrolladores a través de extensiones de **OpenVSX** comprometidas.
### Alcance del Último Ataque
La última ola de ataques de **GlassWorm** es significativamente más extensa, afectando a:
* 200 repositorios de Python en **GitHub**
* 151 repositorios de JS/TS en **GitHub**
* 72 extensiones de **VSCode/OpenVSX**
* 10 paquetes de **npm**
### Vectores y Técnicas de Ataque
El compromiso inicial ocurre en **GitHub**, donde las cuentas son comprometidas para forzar el envío de commits maliciosos.
Posteriormente, se publican paquetes y extensiones maliciosas en **npm** y **VSCode/OpenVSX**, presentando código ofuscado (caracteres Unicode invisibles) para evadir la detección.

*Fuente: Aikido*
En todas las plataformas, la blockchain **Solana** se consulta cada cinco segundos en busca de nuevas instrucciones. Según **Step Security**, entre el 27 de noviembre de 2025 y el 13 de marzo de 2026, hubo 50 transacciones nuevas, principalmente para actualizar la URL del payload.
Las instrucciones estaban incrustadas como memos en las transacciones y llevaron a la descarga del runtime de **Node.js** y a la ejecución de un ladrón de información basado en JavaScript.

*Fuente: Step Security*
El malware apunta a datos de billeteras de criptomonedas, credenciales, tokens de acceso, claves SSH y datos del entorno de desarrollo.
### Atribución y Mitigación
El análisis de comentarios en el código sugiere que actores de amenazas de habla rusa podrían estar detrás de **GlassWorm**. El malware omite la ejecución si se encuentra la configuración regional rusa en el sistema. Sin embargo, esto es insuficiente para una atribución segura.
**Step Security** aconseja a los desarrolladores que instalan paquetes de Python directamente desde **GitHub** o que ejecutan repositorios clonados que verifiquen si hay signos de compromiso buscando en su código fuente la variable marcadora “lzcdrtfxyqiplpd”, un indicador del malware **GlassWorm**.

*Fuente: Step Security*
También recomiendan inspeccionar los sistemas en busca de la presencia del archivo *~/init.json*, que se utiliza para la persistencia, así como instalaciones inesperadas de **Node.js** en el directorio de inicio (por ejemplo, ~/node-v22*).
Adicionalmente, los desarrolladores deben buscar archivos *i.js* sospechosos en proyectos clonados recientemente y revisar los historiales de commits de **Git** en busca de anomalías, como commits donde la fecha del committer es significativamente más reciente que la fecha original del autor.