Exploit de Um Clique no GitHub.dev do VS Code Rouba Tokens do GitHub, Expondo Repositórios Privados
Uma vulnerabilidade crítica foi divulgada no **Microsoft Visual Studio Code (VS Code)**, especificamente em seu ambiente **GitHub.dev**. Este exploit de um clique permite que atacantes roubem tokens OAuth do **GitHub**, concedendo-lhes acesso de leitura e escrita aos repositórios privados de um usuário. A falha explora extensões maliciosas e um mecanismo de passagem de mensagens para contornar verificações de segurança.
Pesquisadores de cibersegurança descobriram uma vulnerabilidade significativa afetando o **Microsoft Visual Studio Code (VS Code)** quando usado com o **GitHub.dev**, um editor de código baseado na web. Este exploit permite um ataque de um clique que pode comprometer o token do **GitHub** de um usuário, fornecendo acesso não autorizado aos seus repositórios.
"Apenas clicando em um link, é possível que um atacante roube um token do GitHub que pode ler e escrever em seus repositórios, incluindo os privados", alertou o pesquisador de segurança **Ammar Askar** em seu post detalhado no blog [disse](https://blog.ammaraskar.com/github-token-stealing/).

### Entendendo o GitHub.dev e o Fluxo de Tokens
O **GitHub.dev** opera como um [editor de código-fonte leve baseado na web](https://docs.github.com/en/codespaces/the-githubdev-web-based-editor) diretamente dentro do sandbox de um navegador web, facilitando ações como o envio de pull requests e a realização de commits. Essa funcionalidade depende do **github.com** postar de forma segura um token **OAuth** para o **GitHub.dev**, autorizando-o a interagir com o **GitHub** em nome do usuário.
Crucialmente, este token **OAuth** não é escopo para um repositório específico. Em vez disso, ele concede acesso total a todos os repositórios aos quais o usuário pode acessar, tornando sua compromisso altamente impactante.
### O Mecanismo do Exploit
A vulnerabilidade permite que atacantes instalem extensões maliciosas do **VS Code** que interceptam esses tokens **OAuth** sensíveis do **GitHub**. O cerne do exploit reside em abusar de um [mecanismo de passagem de mensagens](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage) entre a janela principal do **VS Code** e seus [webviews](https://code.visualstudio.com/api/extension-guides/webview), que são usados para renderizar conteúdo como prévias de Markdown ou notebooks Jupyter.

Especificamente, o exploit executa JavaScript malicioso dentro de um webview não confiável. Este script simula pressionamentos de tecla (**Ctrl+Shift+P**) na janela principal do editor, abrindo a **Command Palette**. Em seguida, ele instala programaticamente uma extensão controlada pelo atacante. Esta extensão maliciosa subsequentemente extrai o token **OAuth** do **GitHub** passado para o **GitHub.dev** e consulta a **API do GitHub** para enumerar todos os repositórios privados acessíveis à vítima.
### Contornando Verificações de Confiança
O ataque explora ainda mais um recurso do **VS Code** conhecido como [extensões de workspace local](https://code.visualstudio.com/updates/v1_89#_local-workspace-extensions). Este recurso permite que extensões sejam instaladas diretamente colocando-as na pasta `.vscode/extensions` dentro de um workspace, contornando efetivamente o [prompt de diálogo de confiança](https://code.visualstudio.com/docs/configure/extensions/extension-runtime-security#_extension-publisher-trust) padrão.
Askar explicou: "Isso é apenas um pequeno contratempo, no entanto, uma das coisas que as extensões podem fazer como parte de seu package.json é contribuir com keybindings extras para o VS Code. Como podemos acionar keybindings de forma confiável, podemos simplesmente adicionar um keybind para qualquer comando do VS Code que quisermos, como instalar uma extensão enquanto ignoramos a verificação de editor confiável."
### Divulgação e Resposta da Microsoft
O **GitHub** foi [notificado](https://github.com/microsoft/vscode/issues/319593) sobre esta vulnerabilidade em 2 de junho de 2026. No entanto, os detalhes do problema foram tornados públicos logo depois, uma decisão que **Askar** atribuiu ao [tratamento](https://blog.ammaraskar.com/vscode-rce/) passado da **Microsoft** de [bugs semelhantes relacionados ao VS Code](https://starlabs.sg/blog/2025/05-breaking-out-of-restricted-mode-xss-to-rce-in-visual-studio-code/).
Inicialmente, a **Microsoft** reconheceu a vulnerabilidade e confirmou que estava trabalhando em uma correção. **Alexandru Dima**, gerente de engenharia de software parceiro na **Microsoft**, esclareceu que "este problema não afeta o **VS Code Desktop**."
### Atualização: Vulnerabilidade Mitigada
Após a divulgação pública, a **Microsoft** confirmou que a vulnerabilidade foi corrigida. "Este problema foi mitigado para nossos serviços e nenhuma ação do cliente é necessária", declarou um porta-voz da **Microsoft**, indicando que os usuários do **GitHub.dev** estão agora protegidos. O Ghost Protocol continuará monitorando mais detalhes sobre a correção e quaisquer avisos de segurança relacionados.