Los operadores de GlassWorm han vuelto a vulnerar la cadena de suministro de extensiones de Visual Studio Code, subiendo a OpenVSX tres nuevos paquetes maliciosos que acumularon más de 10.000 descargas. Pese al refuerzo de controles tras el incidente anterior, la campaña se apoyó nuevamente en obfuscación con Unicode invisible y en el robo de credenciales para propagarse a cuentas y proyectos interconectados.
GlassWorm: robo de credenciales y propagación en la cadena de suministro
Detectado por primera vez en octubre de 2025, GlassWorm se especializa en el robo de credenciales de plataformas y registros de desarrollo —GitHub, npm y OpenVSX—, además de apuntar a criptomonedederos. El código malicioso en JavaScript se camufla con caracteres Unicode de ancho cero y homoglifos, técnica que dificulta la revisión visual y la detección por herramientas estáticas. Con capacidades tipo “gusano”, el actor usa tokens y contraseñas robadas para infiltrar otros proyectos y extensiones accesibles por la víctima, escalando a lo largo de la cadena de suministro de software.
Infraestructura C2 resiliente: blockchain de Solana y Google Calendar
Para el mando y control (C2), GlassWorm recurre a la blockchain de Solana y mantiene Google Calendar como canal de respaldo. La combinación de una red pública descentralizada y un servicio en la nube legítimo eleva el umbral de bloqueo, al mezclarse con tráfico benigno y dificultar el desmantelamiento de su infraestructura.
De la primera ola a la actual: por qué fallaron los controles
En la primera oleada de octubre, se identificaron 12 extensiones comprometidas en OpenVSX y Visual Studio Code Marketplace, con cerca de 35.800 descargas. Aunque se barajó la posibilidad de inflado artificial de métricas, la respuesta incluyó la revocación de tokens y nuevas políticas de seguridad. Sin embargo, según Koi Security, los tres paquetes recientes volvieron a pasar los filtros gracias a la obfuscación con caracteres invisibles, un vector que los flujos habituales de revisión y análisis estático no están bloqueando de forma sistemática.
Expansión a GitHub y alcance global de la campaña
La empresa Aikido alertó de la expansión de GlassWorm hacia GitHub, elevando el riesgo para equipos que dependen de ecosistemas internos y de código abierto. Con base en información obtenida tras el acceso a un servidor de los atacantes (facilitado de forma anónima), Koi Security reporta víctimas en Estados Unidos, Sudamérica, Europa y Asia, además de intrusiones en organismos gubernamentales de Oriente Medio. Los operadores serían rusoparlantes y utilizan el framework RedExt. Los indicadores recopilados —incluyendo identificadores en criptobolsas y mensajería— han sido remitidos a las fuerzas del orden.
Cómo funciona la obfuscación con Unicode invisible
El ataque inserta caracteres de ancho cero (p. ej., U+200B/U+200C/U+200D) y homoglifos visualmente indistinguibles. Aunque el código “se ve” normal, cambia la semántica de identificadores, concatenaciones o comparaciones, pasando desapercibido en diffs y revisiones. Esto puede romper expresiones regulares y eludir firmas. Mitigar exige normalización y bloqueo de “confusables”, linters y pre-commit hooks específicos para Unicode, además de activar en la IDE la opción de mostrar caracteres invisibles.
Medidas prioritarias para marketplaces y equipos
OpenVSX y VSC Marketplace: elevar el listón de publicación
Refuerce la verificación de editores, exija 2FA hardware en operaciones sensibles, amplíe el análisis estático para detectar Unicode invisible y homoglifos, y use señales reputacionales para cuarentenar actualizaciones anómalas. Realice retroscan de paquetes instalados, revoque la confianza cuando proceda y notifique de forma forzada a los usuarios afectados.
Equipos de desarrollo: endurecer el consumo de extensiones
Implante allowlists de extensiones, restrinja fuentes no oficiales y audite periódicamente los complementos de VS Code. Supervise tráfico saliente inusual —incluidos accesos a Solana RPC y actividad atípica del API de Google Calendar—, rote con frecuencia los tokens de GitHub/npm/OpenVSX y gestione secretos con revocación automática. En estaciones de trabajo, habilite el renderizado de invisibles y utilice detectores de anti-patrones Unicode.
GlassWorm vuelve a evidenciar la fragilidad de las cadenas de suministro en el desarrollo moderno. Revise su política de extensiones, consolide una lista de fuentes de confianza y despliegue controles que identifiquen caracteres invisibles y anomalías de C2. Manténgase atento a los avisos de OpenVSX, Koi Security y Aikido, actualice reglas de detección y, sobre todo, inventaríe ya sus extensiones y revoque tokens sospechosos para reducir el movimiento lateral y la compromisión de repositorios.