Investigadores de ciberseguridad han revelado un ataque con un solo clic a través de Microsoft Visual Studio Code (VS Code) que permite robar el token de GitHub de un usuario.
«Con solo hacer clic en un enlace, es posible que un atacante robe un token de GitHub que puede leer y escribir en sus repositorios, incluidos los privados», dijo el investigador de seguridad Ammar Askar.
GitHub admite una función llamada GitHub.dev que se ejecuta como un editor de código fuente ligero basado en web en el entorno limitado del navegador web al iniciar un entorno VS Code. Permite a los usuarios enviar solicitudes de extracción y realizar confirmaciones.
«Esta funcionalidad se logra mediante la PUBLICACIÓN de github.com a través de un token OAuth en github.dev que le permite interactuar con GitHub en su nombre», dijo Askar. «El token no tiene como alcance el repositorio particular con el que interactuó, lo que significa que tiene acceso completo a todos los demás repositorios a los que tiene acceso».
En pocas palabras, la vulnerabilidad permite a los atacantes instalar extensiones maliciosas de VS Code que roban tokens GitHub OAuth cuando se pasan a GitHub.dev explotando un mecanismo de paso de mensajes entre la ventana principal de VS Code y las vistas web. Las vistas web se utilizan para representar vistas previas de Markdown o editar cuadernos de Jupyter.

Específicamente, el exploit ejecuta JavaScript malicioso dentro de una vista web que no es de confianza para simular pulsaciones de teclas (también conocidas como eventos de pulsación de teclas) en la ventana principal del editor, abre la paleta de comandos activando «Ctrl+Shift+P» e instala una extensión controlada por el atacante que extrae el token GitHub OAuth enviado a GitHub.dev y consulta la API de GitHub para enumerar todos los repositorios privados a los que puede acceder la víctima.
Vale la pena señalar que el enfoque también aprovecha una característica de VS Code llamada extensiones del espacio de trabajo local que permite instalar una extensión directamente sin presentar ningún mensaje de diálogo de confianza adicional, siempre y cuando se coloque en la carpeta «.vscode/extensions» dentro de ese espacio de trabajo, evitando efectivamente la verificación de confianza del editor.
«Sin embargo, esto es sólo un pequeño inconveniente, una de las cosas que las extensiones pueden hacer como parte de su paquete.json es contribuir con combinaciones de teclas adicionales a VS Code», explicó el investigador. «Dado que podemos activar combinaciones de teclas de manera confiable, podemos simplemente agregar una combinación de teclas para cualquier comando de VS Code que queramos, como instalar una extensión y omitir la verificación del editor confiable».
El investigador también señaló que GitHub fue notificado de la vulnerabilidad el 2 de junio de 2026, una hora después de la cual los detalles del problema se hicieron públicos, citando el manejo de Microsoft de los errores relacionados con VS Code en el pasado. Al momento de escribir este artículo, Microsoft reconoció la vulnerabilidad y señaló que está trabajando en una solución.
«Para aclarar, este problema no afecta a VS Code Desktop», dijo Alexandru Dima, gerente de ingeniería de software asociado de Microsoft.