11 de noviembre de 2025

🧬 GlassWorm: el malware que convirtió Visual Studio Code en su propio gusano

🧬 GlassWorm: el malware que convirtió Visual Studio Code en su propio gusano

Imagina que la extensión que instalas para mejorar tu productividad en VS Code termina convirtiendo tu equipo en parte de una red criminal global.
Eso es exactamente lo que hizo GlassWorm, una de las campañas de malware más sofisticadas descubiertas en 2025, y la primera capaz de autopropagarse dentro del ecosistema de extensiones de Visual Studio Code.


🧩 Un ataque directo al corazón del desarrollo

GlassWorm fue detectado en extensiones distribuidas tanto en el Open VSX Registry como en el Microsoft Extension Marketplace, alcanzando más de 35,800 descargas confirmadas antes de ser contenida.
En otras palabras: miles de desarrolladores en todo el mundo instalaron —sin saberlo— un gusano capaz de infectar otros proyectos y herramientas.

Lo que hace a GlassWorm especialmente peligroso es que no explota una vulnerabilidad técnica de VS Code, sino la confianza de los desarrolladores.
El código malicioso estaba oculto dentro de las propias extensiones usando caracteres Unicode invisibles, imposibles de detectar a simple vista, incluso revisando el código fuente.


🕵️‍♂️ Cómo se propaga el gusano

  1. Infección inicial: el desarrollador instala una extensión aparentemente legítima.

  2. Robo de credenciales: GlassWorm extrae tokens de NPM, GitHub y OpenVSX, junto con claves API y sesiones activas.

  3. Reproducción automática: usa esas credenciales robadas para inyectar su código en otras extensiones publicadas, expandiéndose en efecto dominó.

  4. Persistencia distribuida: recibe instrucciones a través de la blockchain de Solana y eventos ocultos en Google Calendar, una infraestructura de comando y control (C2) casi imposible de derribar.


💀 Más que robo de código: un ataque total

GlassWorm no solo roba credenciales. Entre sus capacidades confirmadas están:

  • Drenar fondos de 49 tipos de monederos de criptomonedas.

  • Instalar un servidor VNC oculto para control remoto del equipo.

  • Convertir la máquina infectada en un proxy SOCKS para ocultar tráfico ilícito.

  • Modificar repositorios o paquetes para incluir backdoors en futuras publicaciones.

Algunas extensiones comprometidas incluyen:

  • ai-driven-dev.ai-driven-dev

  • adhamu.history-in-sublime-merge

  • yasuyuky.transient-emacs

Cada una con miles de descargas recientes antes de ser retirada.


🧠 Un nuevo nivel de amenaza en la cadena de suministro

Este tipo de ataque representa un salto evolutivo en la ciberseguridad del desarrollo moderno.
Ya no se trata de malware que busca infectar usuarios finales: ahora, los atacantes infectan a los desarrolladores, con la esperanza de que estos propaguen el código malicioso a través de sus propios proyectos.

En un entorno donde dependemos de cientos de dependencias NPM, PyPI o VSIX, la cadena de suministro del software es tan fuerte como su eslabón más débil.
GlassWorm demuestra que ese eslabón puede ser una extensión cualquiera.


🧰 Qué deben hacer los desarrolladores (ahora mismo)

  1. Audita tus extensiones.
    Revisa todas las instaladas en VS Code. Elimina las que no uses o que provengan de fuentes poco confiables.

  2. Verifica los permisos.
    Algunas extensiones solicitan más acceso del necesario: archivos, red, entorno del sistema. Revísalo con lupa.

  3. Protege tus tokens.
    No guardes credenciales en texto plano ni en .env dentro del proyecto. Usa gestores seguros.

  4. Desconfía del código invisible.
    Los caracteres Unicode ocultos pueden alterar scripts o funciones sin que lo notes. Usa herramientas de detección.

  5. Monitorea tus cuentas.
    Revisa actividad en NPM, GitHub y VSIX. Si publicas extensiones, cambia tokens inmediatamente.


🚨 Conclusión

GlassWorm marcó un antes y un después en la seguridad del desarrollo moderno.
Demostró que el malware ya no solo apunta a usuarios inexpertos, sino a quienes construyen las herramientas que todos usamos.

Para los profesionales de TI, este caso es una llamada urgente:
no basta con escribir código seguro; ahora también hay que verificar el entorno donde lo escribes.
Porque el próximo gusano podría estar escondido… justo en la extensión que te ayuda a programar más rápido.

Escrito por:
Luis Carreón