GlassWorm: gusano que infecta extensiones de VS Code

Iniciado por Dragora, Octubre 24, 2025, 09:13:28 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Octubre 24, 2025, 09:13:28 PM Ultima modificación: Octubre 24, 2025, 09:20:01 PM por Dragora

Investigadores de ciberseguridad han identificado una campaña sofisticada de cadena de suministro que utiliza extensiones de Visual Studio Code (VS Code) alojadas en Open VSX Registry y en el Microsoft Extension Marketplace para propagar un gusano autorreplicante bautizado como GlassWorm por Koi Security. Este incidente subraya que los desarrolladores y el ecosistema DevOps se han convertido en objetivos clave para los actores maliciosos que buscan comprometer la infraestructura de desarrollo de software.

Técnica y alcance: ¿qué hace GlassWorm?

GlassWorm es una amenaza avanzada escrita en JavaScript que fue distribuida dentro de múltiples extensiones de VS Code. La primera ola de infecciones se detectó el 17 de octubre de 2025. En total, Koi Security identificó 14 extensiones comprometidas (13 en Open VSX y 1 en Microsoft Marketplace) con alrededor de 35.800 descargas combinadas. Entre las extensiones afectadas se encuentran codejoy.codejoy-vscode-extension, ginfuru.better-nunjucks, cline-ai-main.cline-ai-agent y otras listadas por los investigadores.

Lo que distingue a GlassWorm de campañas previas es su infraestructura de comando y control (C2) basada en la cadena de bloques Solana, junto con un mecanismo de respaldo mediante Google Calendar. Este uso de blockchain permite a los atacantes ocultar y distribuir instrucciones de forma resistente a la eliminación, mientras que Google Calendar actúa como una segunda vía para recuperar cargas útiles codificadas.

Evasión y persistencia: Unicode invisible y actualizaciones automáticas

GlassWorm incorpora técnicas de evasión novedosas: el código malicioso contiene caracteres Unicode invisibles (selectores de variación) que lo hacen prácticamente indetectable a simple vista en editores de código. Según el análisis técnico de Idan Dardikman, estos caracteres forman parte de la especificación Unicode y no producen salida visual, permitiendo que el código ofensivo "desaparezca" en revisiones superficiales.

Además, las extensiones de VS Code están configuradas para actualizarse automáticamente. Esta funcionalidad permite a los atacantes empaquetar y desplegar código malicioso sin interacción adicional del usuario, acelerando la propagación del gusano.

Objetivos y carga útil: robo de credenciales, drenaje de billeteras y control remoto

El objetivo final de GlassWorm es múltiple y dirigido:

  • Robo de credenciales (npm, Open VSX, GitHub, Git).
  • Drenaje de fondos: el gusano explora transacciones en la blockchain Solana para localizar instrucciones incrustadas en el campo memo; si detecta la señal, descarga la siguiente etapa maliciosa. Se ha observado extracción dirigida contra 49 extensiones de billetera de criptomonedas.
  • Conversión de máquinas en infraestructura maliciosa: despliegue de proxies SOCKS, módulos WebRTC para comunicación P2P y DHT de BitTorrent para distribución descentralizada de comandos.
  • Acceso remoto oculto: instalación de HVNC (Hidden VNC) para control remoto severo.
  • Módulo "Zombi": una segunda etapa que habilita capacidades de ladrón de información, proxy, y persistencia, consolidando el compromiso.

La cadena de infección incluye la extracción de una cadena Base64 desde el campo memo de transacciones Solana, su decodificación y la recuperación de cargas útiles desde servidores C2 identificados por direcciones IP codificadas en el proceso. Además, GlassWorm utiliza eventos de Google Calendar para recuperar instrucciones adicionales, lo que complica su interrupción.

Sospechas sobre la distribución y señales de compromiso

Aún no está claro cómo se secuestraron inicialmente las extensiones legítimas; sin embargo, la técnica y la automatización sugieren un compromiso a nivel de cuentas de publicación o un abuso en el proceso de publicación. Los nombres de las versiones comprometidas incluyen, por ejemplo, codejoy-vscode-extension 1.8.3/1.8.4 y cline-ai-agent 3.1.3 (Microsoft Marketplace).

Indicadores de compromiso y señales a revisar:

  • Comportamientos inusuales de actualizaciones automáticas de extensiones.
  • Tráfico de red hacia los endpoints señalados por los investigadores (cadenas recuperadas desde Solana o eventos de Google Calendar que recuperen cargas adicionales).
  • Presencia de procesos o ficheros asociados a proxies SOCKS, módulos WebRTC, DHT o HVNC.
  • Intentos de exfiltración hacia IPs y endpoints observados en el análisis.

Recomendaciones de mitigación para desarrolladores y equipos DevOps

  • Auditar y verificar extensiones instaladas: eliminar extensiones no esenciales o de origen desconocido.
  • Revisar el código fuente de extensiones antes de su instalación, prestando atención a caracteres Unicode no visibles y strings Base64 sospechosas.
  • Restringir permisos y entornos de desarrollo: aislar IDEs y usar máquinas dedicadas para desarrollo de alto riesgo.
  • Monitoreo de red y detección de anomalías: bloquear conexiones salientes no autorizadas y monitorizar actividad inusual relacionada con proxies o HVNC.
  • Habilitar autenticación robusta y rotación de credenciales para cuentas de publicación en marketplaces y repositorios.
  • Implementar políticas de control de cambios y revisiones de seguridad en la cadena de suministro de software.

En fin...

GlassWorm marca una evolución preocupante en los ataques a la cadena de suministro: un gusano autorreplicante que explota extensiones de VS Code, utiliza blockchain y servicios legítimos como mecanismos C2, y emplea técnicas de ofuscación avanzadas para evadir la detección. La comunidad de desarrollo y los equipos de seguridad deben incrementar la vigilancia, endurecer controles en los procesos de publicación y revisar las prácticas de gestión de extensiones para mitigar la amenaza a tiempo.

Fuente: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login