Malware GlassWorm se propaga en extensiones de OpenVSX y VS Code

Un ataque de cadena de suministro dirigido a desarrolladores ha infectado extensiones de OpenVSX y Microsoft Visual Studio Code Marketplace con un malware auto-propagable llamado GlassWorm, instalado aproximadamente 35.800 veces.

Características del malware

  • Código malicioso invisible: GlassWorm oculta su código usando caracteres Unicode invisibles, que desaparecen de los editores de código.
  • Propagación automática: Puede usar credenciales robadas para infectar otras extensiones a las que la víctima tiene acceso.
  • Robo de credenciales: Apunta a cuentas de GitHub, npm, OpenVSX, y datos de billeteras de criptomonedas de 49 extensiones infectadas.
  • Control remoto y proxy: Instala un proxy SOCKS y clientes VNC invisibles (HVNC) para acceso remoto oculto.
  • Uso de blockchain y Google Calendar:
    • Solana blockchain para comandos y entrega de payloads codificados en base64.
    • Google Calendar como método de respaldo para entregar URLs codificadas.
  • Distribución descentralizada: Emplea la DHT de BitTorrent para distribuir comandos y mantener resiliencia.
  • Payload final: ZOMBI, un JavaScript fuertemente ofuscado, convierte cada máquina infectada en un nodo de la infraestructura criminal.

Extensiones afectadas

OpenVSX

  • codejoy.codejoy-vscode-extension@1.8.3 y 1.8.4
  • l-igh-t.vscode-theme-seti-folder@1.2.3
  • kleinesfilmroellchen.serenity-dsl-syntaxhighlight@0.3.2
  • JScearcy.rust-doc-viewer@4.2.1
  • SIRILMP.dark-theme-sm@3.11.4
  • CodeInKlingon.git-worktree-menu@1.0.9 y 1.0.91
  • ginfuru.better-nunjucks@0.3.2
  • ellacrity.recoil@0.7.4
  • grrrck.positron-plus-1-e@0.0.71
  • jeronimoekerdt.color-picker-universal@2.8.91
  • srcery-colors.srcery-colors@0.3.9

VS Code Marketplace

  • cline-ai-main.cline-ai-agent@3.1.3

Algunas extensiones en OpenVSX fueron comprometidas el 17 de octubre, y el malware se propagó en los días siguientes. Microsoft ya retiró la extensión maliciosa del Marketplace de VS Code.

Cómo se propaga automáticamente

Las extensiones de VS Code se actualizan automáticamente. Cuando una extensión infectada como CodeJoy 1.8.3 se publicó, todos los usuarios fueron actualizados automáticamente, sin interacción ni advertencia.

Esto permitió que GlassWorm se extendiera rápidamente a miles de sistemas de desarrollo.

Comparaciones y contexto

Ataque similar al “Shai-Hulud” en npm, que comprometió 187 paquetes.

GlassWorm se considera uno de los ataques de cadena de suministro más sofisticados y el primer caso documentado de ataque tipo gusano en VS Code.

Recomendaciones para desarrolladores

  1. Actualizar o desinstalar extensiones comprometidas.
  2. Cambiar credenciales de GitHub, npm, OpenVSX y billeteras de criptomonedas si se usaron en sistemas afectados.
  3. Monitorear tráfico de red y procesos sospechosos por proxies SOCKS y clientes VNC ocultos.
  4. Auditar las extensiones instaladas regularmente y evitar extensiones poco conocidas o raramente actualizadas.