El error abierto de VSX permite que las extensiones de código VS maliciosas omitan las comprobaciones de seguridad previas a la publicación

Los investigadores de ciberseguridad han revelado detalles de un error ahora parcheado que afecta el proceso de escaneo previo a la publicación de Open VSX y hace que la herramienta permita que una extensión maliciosa de Microsoft Visual Studio Code (VS Code) pase el proceso de investigación y entre en funcionamiento en el registro.

«La canalización tenía un único valor de retorno booleano que significaba ‘no hay escáneres configurados’ y ‘todos los escáneres no pudieron ejecutarse’», Oran Simhony, investigador de Koi Security. dicho en un informe compartido con The Hacker News. «La persona que llamó no pudo notar la diferencia. Entonces, cuando los escáneres fallaron bajo carga, Open VSX lo trató como ‘nada que buscar’ y agitó la extensión directamente».

Ciberseguridad

A principios del mes pasado, la Fundación Eclipse, que mantiene Open VSX, anunció planes para hacer cumplir controles de seguridad previos a la publicación antes de que las extensiones de VS Code se publiquen en el repositorio en un intento de abordar el creciente problema de las extensiones maliciosas.

Dado que Open VSX también sirve como mercado de extensiones para Cursor, Windsurf y otras bifurcaciones de VS Code, la medida fue vista como un enfoque proactivo para evitar que se publiquen extensiones maliciosas en primer lugar. Como parte del análisis previo a la publicación, las extensiones que no superan el proceso se ponen en cuarentena para revisión del administrador.

La vulnerabilidad descubierta por Koi, cuyo nombre en código Sésamo abiertotiene que ver con cómo este servicio basado en Java informa los resultados del análisis. Específicamente, se debe al hecho de que malinterpreta las fallas en el trabajo del escáner, ya que no hay escáneres configurados, lo que hace que una extensión se marque como aprobada y luego se active inmediatamente y esté disponible para su descarga desde Open VSX.

Al mismo tiempo, también puede hacer referencia a un escenario en el que los analizadores existen y los trabajos del analizador han fallado y no se pueden poner en cola porque el grupo de conexiones de la base de datos está agotado. Aún más preocupante, un servicio de recuperación diseñado para reintentar análisis fallidos sufrió el mismo problema, permitiendo así que las extensiones omitan todo el proceso de análisis bajo ciertas condiciones.

Un atacante puede aprovechar esta debilidad para inundar el punto final de publicación con varias extensiones .VSIX maliciosas, lo que provoca que la carga simultánea agote el grupo de conexiones de la base de datos. Esto, a su vez, conduce a un escenario en el que los trabajos de escaneo no se ponen en cola.

Ciberseguridad

Lo notable del ataque es que no requiere ningún privilegio especial. Un actor malicioso con una cuenta de editor gratuita podría haber activado de manera confiable esta vulnerabilidad para socavar el proceso de escaneo y publicar su extensión. El problema era dirigido en Abierto VSX versión 0.32.0 el mes pasado luego de la divulgación responsable el 8 de febrero de 2026.

«El escaneo previo a la publicación es una capa importante, pero es una capa», dijo Koi. «El diseño del oleoducto es sólido, pero un solo valor booleano que no podía distinguir entre ‘nada que hacer’ y ‘algo salió mal’ convirtió toda la infraestructura en una puerta que se abrió bajo presión».

«Este es un antipatrón común: manejo de errores de apertura fallida escondido detrás de una ruta de código diseñada para un caso legítimo de ‘nada que hacer’. Si está creando canalizaciones similares, haga explícitos los estados de falla. Nunca permita que ‘no se necesita trabajo’ y ‘trabajo fallido’ compartan un valor de retorno».

El ataque a la cadena de suministro GlassWorm abusa de 72 extensiones VSX abiertas para apuntar a los desarrolladores – CYBERDEFENSA.MX

Los investigadores de ciberseguridad han señalado una nueva iteración de la campaña GlassWorm que, según dicen, representa una «escalada significativa» en la forma en que se propaga a través del registro Open VSX.

«En lugar de requerir que cada listado malicioso incorpore el cargador directamente, el actor de amenazas ahora está abusando de extensionPack y extensionDependencies para convertir extensiones inicialmente independientes en vehículos de entrega transitivos en actualizaciones posteriores, permitiendo que un paquete de apariencia benigna comience a extraer una extensión separada vinculada a GlassWorm solo después de que ya se haya establecido la confianza», Socket dicho en un informe publicado el viernes.

La empresa de seguridad de la cadena de suministro de software dijo que descubrió al menos 72 extensiones maliciosas Open VSX adicionales desde el 31 de enero de 2026, dirigidas a desarrolladores. Estas extensiones imitan utilidades de desarrollo ampliamente utilizadas, incluidos linters y formateadores, ejecutores de código y herramientas para asistentes de codificación impulsados ​​por inteligencia artificial (IA), como Clade Code y Google Antigravity.

Los nombres de algunas de las extensiones se enumeran a continuación. Desde entonces, Open VSX ha tomado medidas para eliminarlos del registro.

  • angular-studio.ng-extensión-angular
  • crotoapp.vscode-xml-extensión
  • extensión-de-código-gvotcha.claude
  • mswincx.antigravity-cockpit
  • tamokill12.foundry-pdf-extensión
  • turbobase.sql-turbo-herramienta
  • vce-brendan-studio-eich.js-depurador-vscode

GlassWorm es el nombre que se le da a un Campaña de malware en curso que se ha infiltrado repetidamente en Microsoft Visual Studio Marketplace y Open VSX con extensiones maliciosas diseñadas para robar secretos y vaciar carteras de criptomonedas, y abusar de los sistemas infectados como servidores proxy para otras actividades delictivas.

Ciberseguridad

Aunque Koi Security detectó por primera vez la actividad en octubre de 2025, los paquetes npm que utilizaban las mismas tácticas, en particular el uso de caracteres Unicode invisibles para ocultar código malicioso, fueron detectados. identificado ya en marzo de 2025.

La última versión conserva muchas de las características asociadas con GlassWorm: ejecutar comprobaciones para evitar infectar sistemas con una configuración regional rusa y usar transacciones de Solana como un solucionador de caídas para recuperar el servidor de comando y control (C2) para mejorar la resiliencia.

Pero el nuevo conjunto de extensiones también presenta una mayor ofuscación y rota las billeteras de Solana para evadir la detección, además de abusar de 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 una extensión está declarada como «extensionPack» o «extensionDependencies» en el archivo «package.json» de la extensión, el editor procede a instalar todas las demás extensiones enumeradas en él.

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 un atacante primero carga una extensión VS Code completamente inofensiva en el mercado para eludir la revisión, después de lo cual se actualiza para incluir un paquete vinculado a GlassWorm como una dependencia.

«Como resultado, una extensión que parecía no transitiva y comparativamente benigna en la publicación inicial puede convertirse más tarde en un vehículo de entrega transitivo de GlassWorm sin ningún cambio en su propósito aparente», dijo Socket.

En un aviso simultáneo, Aikido atribuyó al actor de amenazas GlassWorm a una campaña masiva que se está extendiendo a través de repositorios de código abierto, en la que los atacantes inyectan varios repositorios con caracteres Unicode invisibles para codificar una carga útil. Si bien el contenido no es visible cuando se carga en editores de código y terminales, se decodifica en un cargador que es responsable de buscar y ejecutar 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 técnica Unicode se implementó en dos paquetes npm diferentes, lo que indica un impulso coordinado y multiplataforma:

  • @aifabrix/miso-cliente
  • @iflow-mcp/watercrawl-watercrawl-mcp

«Las inyecciones maliciosas no llegan en confirmaciones evidentemente sospechosas», afirma el investigador de seguridad Ilyas Makari dicho. «Los cambios circundantes son realistas: ajustes en la documentación, mejoras en la versión, pequeñas refactorizaciones y correcciones de errores que son estilísticamente consistentes con cada proyecto objetivo. Este nivel de adaptación específica del proyecto sugiere fuertemente que los atacantes están usando grandes modelos de lenguaje para generar compromisos de cobertura convincentes».

¿PhantomRaven o experimento de investigación?

El desarrollo surge como Endor Labs. dicho Descubrió 88 nuevos paquetes npm maliciosos cargados en tres oleadas entre noviembre de 2025 y febrero de 2026 a través de 50 cuentas desechables. Los paquetes vienen con funcionalidad para robar información confidencial de la máquina comprometida, incluidas variables de entorno, tokens CI/CD y metadatos del sistema.

La actividad se destaca por el uso de dependencias dinámicas remotas (RDD), donde el archivo de metadatos «package.json» especifica una dependencia en una URL HTTP personalizada, lo que permite a los operadores modificar el código malicioso sobre la marcha, así como evitar la inspección.

Ciberseguridad

Si bien los paquetes fueron identificados inicialmente como parte del PhantomRaven campañala empresa de seguridad de aplicaciones señaló en una actualización que fueron producidas por un investigador de seguridad como parte de un experimento legítimo, afirmación que cuestionó, citando tres señales de alerta. Esto incluye el hecho de que las bibliotecas recopilan mucha más información de la necesaria, no brindan transparencia al usuario y se publican mediante nombres de cuentas y direcciones de correo electrónico rotados deliberadamente.

A partir del 12 de marzo de 2026, el propietario de los paquetes realizó cambios adicionales, intercambiando la carga útil de recolección de datos entregada a través de algunos de los paquetes npm publicados durante el período de 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. «Cuando los paquetes dependen de código alojado fuera del registro npm, los autores conservan el control total sobre la carga útil sin publicar una nueva versión del paquete. Al modificar un solo archivo en el servidor – o simplemente cerrarlo – pueden cambiar o deshabilitar silenciosamente el comportamiento de cada paquete dependiente a la vez».