Uma vulnerabilidade crítica descoberta no GitHub está colocando em risco milhões de desenvolvedores e empresas em todo o mundo. A falha de segurança permite que invasores roubem tokens de API do GitHub com permissões completas de leitura e escrita, incluindo acesso a repositórios privados, apenas fazendo a vítima clicar em um link malicioso.
O que aconteceu?
O pesquisador de segurança Ammar Askar revelou uma falha sofisticada que explora a integração entre o github.dev (versão web do VSCode) e o sistema de autenticação do GitHub. O ataque é particularmente perigoso por ser extremamente simples de executar e quase imperceptível para a vítima.
Ao acessar um repositório comprometido através do github.dev, um script malicioso embutido em notebooks Jupyter pode executar uma sequência de comandos que resulta no roubo automático do token de autenticação do usuário.
Como o ataque funciona?
A exploração da vulnerabilidade envolve múltiplas camadas técnicas que exploram características do VSCode Web:
1. Engenharia reversa do sistema de webviews
O github.dev utiliza webviews do VSCode que, por design, permitem que eventos de teclado sejam transmitidos entre o navegador e o editor. Essa funcionalidade, criada para melhorar a experiência do usuário, acaba criando uma brecha de segurança crítica.
2. Simulação de eventos de teclado
Scripts maliciosos podem simular pressionamentos de teclas através de JavaScript, permitindo executar comandos do VSCode sem interação real do usuário. O ataque explora atalhos de teclado legítimos como:
Ctrl + Shift + Ppara abrir a paleta de comandosCtrl + Shift + Apara aceitar notificações- Combinações personalizadas para instalar extensões
3. Instalação de extensões maliciosas
O ataque utiliza um método sofisticado de duas etapas:
- Primeiro, instala uma extensão recomendada presente no arquivo
.vscode/extensions.json - Em seguida, usa essa extensão para adicionar um atalho de teclado personalizado que instala uma segunda extensão maliciosa, ignorando as verificações de segurança do “Publisher Trust”
4. Exfiltração do token
Uma vez instalada, a extensão maliciosa tem acesso completo ao token OAuth que o github.dev utiliza para autenticar o usuário. Esse token é então enviado ao invasor, junto com uma lista de todos os repositórios (públicos e privados) aos quais a vítima tem acesso.
Impacto e riscos
As consequências dessa vulnerabilidade são extremamente graves:
- Acesso Total a Repositórios: O token roubado permite ler, modificar e excluir qualquer repositório, incluindo projetos privados e corporativos
- Injeção de Código Malicioso: Invasores podem inserir backdoors em repositórios legítimos
- Roubo de Propriedade Intelectual: Código-fonte proprietário e segredos comerciais podem ser copiados
- Ataques na Cadeia de Suprimentos: Repositórios comprometidos podem infectar outros projetos que dependem deles
- Credenciais Expostas: Tokens de API e senhas armazenadas em variáveis de ambiente podem ser roubadas
Quem está em risco?
Todos os usuários que já utilizaram o github.dev estão potencialmente vulneráveis. Isso inclui:
- Desenvolvedores individuais
- Equipes de desenvolvimento corporativas
- Mantenedores de projetos open-source
- Empresas com repositórios privados no GitHub
A Microsoft (dona do VSCode) e o GitHub são as principais empresas afetadas, mas o impacto se estende a toda a comunidade de desenvolvimento que utiliza essas ferramentas.
Prova de conceito
O pesquisador disponibilizou uma prova de conceito (PoC) para demonstrar a vulnerabilidade. Ao acessar o link malicioso, o notebook Jupyter executa automaticamente o payload que:
- Aguarda o carregamento do VSCode
- Aceita a instalação da extensão recomendada
- Instala a extensão maliciosa principal
- Coleta e exibe o token e a lista de repositórios
Como se proteger imediatamente
Existem medidas críticas que você deve tomar agora mesmo:
1. Limpe os Dados do github.dev
Se você já utilizou o github.dev, siga estes passos:
No Google Chrome:
- Clique no ícone de cadeado ou configurações na barra de endereço
- Selecione “Cookies e dados do site”
- Clique em “Gerenciar dados do site”
- Localize e exclua todos os dados relacionados a
github.devegithub.com
No Firefox:
- Acesse Configurações > Privacidade e Segurança
- Clique em “Gerenciar Dados”
- Remova os dados de github.dev
No Safari:
- Preferências > Privacidade > Gerenciar Dados do Site
- Remova github.dev
2. Revogue tokens comprometidos
Acesse suas configurações do GitHub:
- Vá em Settings > Developer settings > Personal access tokens
- Revogue todos os tokens ativos suspeitos
- Gere novos tokens se necessário
3. Verifique seus repositórios
- Revise o histórico de commits em repositórios importantes
- Verifique se há extensões suspeitas instaladas no VSCode
- Monitore atividades incomuns na sua conta GitHub
4. Desabilite o github.dev (Opcional)
Se você não utiliza frequentemente o github.dev, considere evitar a plataforma até que a vulnerabilidade seja completamente mitigada pela Microsoft.
Limitações da proteção
Infelizmente, se você já utilizou o github.dev e não limpou os dados do navegador, qualquer link pode redirecioná-lo para este ataque. Não existem tokens CSRF ou outras proteções no github.dev que impeçam essa exploração.
A única defesa efetiva é:
- Limpar imediatamente os dados do site
- Nunca clicar em links suspeitos de repositórios desconhecidos
- Permanecer alerta ao acessar o github.dev
A vulnerabilidade existe no VSCode Desktop?
Sim, a falha também está presente na versão desktop do VSCode, embora seja mais difícil de explorar. Nesse caso, seria necessário convencer a vítima a:
- Clonar um repositório malicioso
- Abrir um notebook Jupyter comprometido
No entanto, se um invasor conseguir executar XSS (Cross-Site Scripting) em uma webview, ele pode obter execução remota de código (RCE) completa no computador da vítima.
Resposta das empresas afetadas
Até o momento, a Microsoft e o GitHub não emitiram comunicados oficiais detalhados sobre correções específicas para esta vulnerabilidade. A natureza complexa do problema sugere que soluções completas podem levar tempo para serem desenvolvidas e implementadas.
Lições para a segurança em desenvolvimento
Este incidente destaca várias questões críticas de segurança:
Confiança em Webviews: A fronteira de segurança entre o navegador e aplicações web é delicada e frequentemente explorada
Autenticação Baseada em Tokens: Tokens OAuth com permissões amplas representam um risco significativo quando comprometidos
Extensões de Terceiros: O sistema de extensões, embora poderoso, introduz vetores de ataque complexos
Segurança por Padrão: Funcionalidades projetadas para conveniência (como bubbles de eventos de teclado) podem criar vulnerabilidades graves
O que esperar do futuro?
A comunidade de segurança espera que a Microsoft e o GitHub:
- Implementem validações mais rigorosas para webviews
- Adicionem tokens CSRF e outras proteções no github.dev
- Revisem o modelo de permissões de tokens OAuth
- Fortaleçam o sistema de verificação de extensões
- Fornecem atualizações de segurança urgentes
Conclusão
Esta vulnerabilidade representa uma ameaça séria e imediata para milhões de desenvolvedores em todo o mundo. A simplicidade do ataque combinada com a gravidade do impacto torna essencial que todos os usuários do github.dev tomem medidas de proteção imediatamente.
A limpeza dos dados do navegador é a única defesa efetiva no momento, mas a conscientização sobre links suspeitos e a adoção de práticas de segurança rigorosas são fundamentais para prevenir futuros incidentes.
À medida que ferramentas de desenvolvimento se tornam cada vez mais baseadas na web, vulnerabilidades como esta destacam a importância crítica de segurança em todas as camadas da pilha tecnológica.
Fontes: Blog de Segurança de Ammar Askar | Documentação do GitHub | Microsoft VSCode

Carlos Araújo
Especialista em tecnologia e fundador da SuaInternet.COM. Com sólida experiência em desenvolvimento de software e inteligência artificial, dedica-se a criar soluções de alta performance e sites otimizados que conectam marcas a resultados. Entusiasta de sistemas Linux e automação, partilha aqui análises técnicas e tendências do ecossistema digital.