El investigador de seguridad Ammar Askar (Ammar Askar) publicó los detalles de un ataque contra el entorno basado en navegador GitHub.dev, que permite robar un token OAuth de GitHub con permisos de lectura y escritura sobre todos los repositorios accesibles para el usuario, incluidos los privados. Para su explotación basta con un solo clic en un enlace malicioso. Microsoft confirmó la vulnerabilidad y declaró estar trabajando en una corrección, precisando que la versión de escritorio de VS Code no se ve afectada. En el momento de la publicación aún no se le habían asignado un identificador CVE ni una puntuación CVSS, aunque existe un PoC-exploit público.
Mecanismo de ataque
GitHub.dev es un editor de código web ligero basado en VS Code, que funciona en el sandbox del navegador. Permite enviar pull requests y hacer commits directamente desde el navegador. Para la autenticación, GitHub.com transmite un token OAuth a GitHub.dev mediante una solicitud POST. Según el investigador, este token no está limitado a un repositorio concreto y proporciona acceso a todos los repositorios disponibles para el usuario.
La cadena de explotación consta de varias fases:
- Ejecución de JavaScript en el webview — el atacante utiliza el mecanismo de envío de mensajes entre la ventana principal de VS Code y los componentes webview (empleados para renderizar la vista previa de Markdown y editar notebooks de Jupyter). El JavaScript malicioso se ejecuta dentro de un webview no confiable.
- Simulación de pulsaciones de teclas — el script imita eventos keydown en la ventana principal del editor, invocando la combinación Ctrl+Shift+P para abrir la paleta de comandos.
- Instalación de una extensión maliciosa — a través de la paleta de comandos se instala una extensión controlada por el atacante, que intercepta el token OAuth transmitido a GitHub.dev.
- Exfiltración de datos — la extensión utiliza GitHub API para enumerar todos los repositorios privados a los que tiene acceso la víctima.
Elusión de la verificación de confianza del editor
El elemento clave del ataque es el uso de la función local workspace extensions (extensiones locales del espacio de trabajo). Si una extensión se coloca en la carpeta .vscode/extensions dentro del espacio de trabajo, se instala sin el diálogo adicional de confirmación de confianza en el editor. Además, las extensiones pueden registrar sus propios atajos de teclado a través de package.json, lo que permite al atacante invocar por vía programática comandos arbitrarios de VS Code, incluida la instalación de extensiones eludiendo la verificación de confianza.
Evaluación del impacto
La vulnerabilidad supone una amenaza seria para los desarrolladores que utilizan activamente GitHub.dev para trabajar con repositorios. Los principales riesgos son:
- Compromiso del código fuente — según el investigador, el token robado otorga permisos de lectura y escritura sobre todos los repositorios accesibles, lo que abre la posibilidad de inyectar código malicioso en la cadena de suministro.
- Acceso a repositorios privados — el atacante puede enumerar y leer el contenido de repositorios privados que potencialmente contengan información confidencial, claves API y secretos de infraestructura.
- Escalabilidad del ataque — la explotación requiere solo un clic por parte de la víctima, lo que la hace apta para campañas de phishing masivas dirigidas a desarrolladores.
Es importante subrayar: por el momento no hay casos confirmados de explotación de esta vulnerabilidad en ataques reales. El estado actual es la existencia de código PoC público. El alcance exacto de los permisos del token OAuth se basa en las afirmaciones del investigador y no está respaldado por un boletín de seguridad formal de Microsoft o GitHub.
Contexto de la divulgación
El investigador informó de la vulnerabilidad en el issue tracker microsoft/vscode el 2 de junio de 2026 y prácticamente de inmediato publicó los detalles técnicos. Justificó este enfoque de divulgación por experiencias previas de interacción con Microsoft acerca de vulnerabilidades en VS Code, en particular, remitiéndose a casos en los que problemas similares permanecieron sin corrección oportuna. El Partner Software Engineering Manager en Microsoft Alexandru Dima (Alexandru Dima) confirmó que la compañía está trabajando en un parche y aclaró por separado que la versión de escritorio de VS Code no es vulnerable a este fallo.
Recomendaciones
Hasta la publicación de una corrección oficial por parte de Microsoft, es razonable adoptar las siguientes medidas:
- Minimizar el uso de GitHub.dev — para trabajar con repositorios privados y críticos, es preferible utilizar la versión de escritorio de VS Code o GitHub CLI, que no son vulnerables a este ataque.
- Revisar los tokens OAuth activos — en la configuración de GitHub (Settings → Applications → Authorized OAuth Apps), comprobar que no existan autorizaciones sospechosas y revocar los tokens que no se utilicen.
- Revisar los registros de auditoría — para organizaciones en GitHub Enterprise, examinar el registro de auditoría en busca de operaciones anómalas sobre los repositorios (clonaciones masivas, commits inesperados).
- No hacer clic en enlaces sospechosos que lleven a GitHub.dev, especialmente si se reciben por correo electrónico o mensajería instantánea.
- Restringir el alcance de los tokens — al utilizar GitHub API e integraciones, emplear fine-grained personal access tokens con los permisos mínimos necesarios en lugar de tokens clásicos con acceso amplio.
Los desarrolladores y organizaciones que utilizan activamente GitHub.dev deberían pasar temporalmente a la versión de escritorio de VS Code para trabajar con repositorios privados y seguir el estado de la corrección en el tracker de Microsoft. Dada la disponibilidad pública del código PoC y la ausencia de un parche, la ventana para una posible explotación sigue abierta; la revisión de las autorizaciones OAuth activas en la configuración de GitHub es la acción prioritaria en este momento.