
Los investigadores de ciberseguridad han advertido sobre una nueva iteración de la campaña GlassWorm, afirmando que ha «ampliado significativamente» su método de propagación a través del registro Open VSX.
«En lugar de requerir que los cargadores estén directamente integrados en cada lista maliciosa, los actores de amenazas ahora están explotando extensionPack y extensionDependency para convertir extensiones que inicialmente parecen independientes en vehículos de entrega transitivos en actualizaciones posteriores, permitiendo que paquetes aparentemente benignos comiencen a extraer extensiones vinculadas a GlassWorms individuales solo si ya se ha establecido la confianza». dijo en un informe publicado el viernes.
La empresa de seguridad de la cadena de suministro de software anunció que ha descubierto al menos 72 extensiones Open VSX maliciosas adicionales dirigidas a desarrolladores desde el 31 de enero de 2026. Estas extensiones imitan utilidades de desarrollo ampliamente utilizadas, como herramientas para linters y formateadores, ejecutores de código y asistentes de codificación impulsados por inteligencia artificial (IA), como Clade Code y Google Antigravity.
A continuación se muestran los nombres de algunas extensiones. Open VSX luego tomó medidas para eliminarlos del registro.
angular-studio.ng-angular-extension crotoapp.vscode-xml-extension gvotcha.claude-code-extension mswincx.antigravity-cockpit tamokill12.foundry-pdf-extension turbobase.sql-turbo-tool vce-brendan-studio-eich.js-debuger-vscode
GlassWorm es el nombre dado a una campaña de malware en curso que inyecta repetidamente extensiones maliciosas en Microsoft Visual Studio Marketplace y Open VSX con el objetivo de robar secretos, exfiltrar carteras de criptomonedas y explotar sistemas infectados como servidores proxy para otras actividades delictivas.
Koi Security informó por primera vez de esta actividad en octubre de 2025, pero ya en marzo de 2025 se identificaron paquetes npm que usaban las mismas tácticas, específicamente el uso de caracteres Unicode invisibles para ocultar código malicioso.
La última versión conserva muchas de las características asociadas con GlassWorm. Esto significa realizar comprobaciones para evitar que los sistemas se infecten con configuraciones regionales rusas y utilizar transacciones de Solana como un sistema de resolución muerta para recuperar servidores de comando y control (C2) para mejorar la resiliencia.
Sin embargo, el nuevo conjunto de extensiones presenta una ofuscación más fuerte y no solo rota las billeteras de Solana para evitar la detección, sino que también explota las relaciones de extensión para implementar cargas útiles maliciosas, de manera similar a cómo los paquetes npm dependen de dependencias no autorizadas para pasar desapercibidas. Independientemente de si la extensión está declarada como «extensionPack» o «extensionDependency» en el archivo «package.json» de la extensión, el editor continuará instalando todas las demás extensiones enumeradas allí.
Al hacerlo, la campaña GlassWorm utiliza una extensión como instalador de otra extensión maliciosa. Esto también abre nuevos escenarios de ataque a la cadena de suministro, ya que los atacantes pueden primero cargar extensiones de VS Code completamente benignas en el mercado para eludir las revisiones, que luego se actualizan para enumerar los paquetes vinculados a GlassWorm como dependencias.
«Como resultado, una extensión que parecía no transitiva y relativamente benigna cuando se publicó por primera vez podría convertirse más tarde en un vehículo de distribución transitivo de GlassWorm sin cambiar su propósito aparente», dijo Socket.
En un aviso simultáneo, Aikido cree que los atacantes de GlassWorm son responsables de una campaña a gran escala distribuida en repositorios de código abierto, en la que los atacantes inyectan caracteres Unicode invisibles en varios repositorios para codificar cargas útiles. Este contenido no es visible cuando se carga en un editor de código o terminal, pero se decodifica en un cargador que busca y ejecuta un script de segunda etapa para robar tokens, credenciales y secretos.
Se estima que no menos de 151 repositorios de GitHub se vieron afectados como parte de la campaña entre el 3 y el 9 de marzo de 2026. Además, la misma tecnología Unicode se implementó en dos paquetes npm diferentes, lo que demuestra un impulso multiplataforma coordinado.
@aifabrix/miso-client @iflow-mcp/watercrawl-watercrawl-mcp
«Las inyecciones maliciosas no se encuentran entre los cometidos obviamente sospechosos», afirmó el investigador de seguridad Ilyas Makari. «Los cambios circundantes son reales: ajustes en la documentación, actualizaciones de versiones, pequeñas refactorizaciones y correcciones de errores que son estilísticamente consistentes con cada proyecto objetivo. Este nivel de ajustes específicos del proyecto sugiere fuertemente que el atacante está utilizando un modelo de lenguaje extenso para generar confirmaciones de cobertura convincentes».
¿Phantom Raven o un experimento de investigación?
El desarrollo se produce después de que Endor Labs anunciara que había descubierto 88 nuevos paquetes npm maliciosos cargados a través de 50 cuentas de un solo uso en tres oleadas desde noviembre de 2025 hasta febrero de 2026. Este paquete contiene funcionalidad para robar información confidencial como variables de entorno, tokens CI/CD y metadatos del sistema de una máquina comprometida.
Esta actividad se destaca por el uso de dependencias dinámicas remotas (RDD). El archivo de metadatos «package.json» especifica dependencias con URL HTTP personalizadas, lo que permite a los operadores modificar código malicioso sobre la marcha, así como evitar la inspección.
Estos paquetes se identificaron inicialmente como parte de la campaña PhantomRaven, pero la compañía de seguridad de aplicaciones señaló en una actualización que los paquetes fueron creados por investigadores de seguridad como parte de un experimento legítimo. La empresa cuestionó esta afirmación, citando tres señales de alerta. Esto incluye el hecho de que la biblioteca recopila más información de la necesaria, no brinda transparencia a sus usuarios e intercambia intencionalmente nombres de cuentas y direcciones de correo electrónico para que el público pueda verlos.
A partir del 12 de marzo de 2026, el propietario del paquete realizó cambios adicionales, reemplazando la carga útil de recopilación de datos distribuida a través de algunos de los paquetes npm que se publicaron durante tres meses con un simple «¡Hola, mundo!» mensaje.
«Si bien la eliminación del código que recopilaba información extensa es ciertamente bienvenida, también resalta los riesgos asociados con las dependencias de URL», dijo Endor Labs. «Si un paquete depende de un código alojado fuera del registro npm, los autores tienen control total sobre la carga útil sin tener que publicar una nueva versión del paquete. Pueden cambiar o deshabilitar silenciosamente el comportamiento de todos los paquetes dependientes a la vez modificando un solo archivo en el servidor o simplemente cerrando el archivo».
Source link
