Cibersegurança

GlassWorm viveu um ano dentro de extensões do VS Code antes de ser desmantelado

Susan Hill

Por mais de um ano, alguns dos desenvolvedores que constroem os aplicativos do seu celular trabalharam, sem saber, para outra pessoa. Um programa malicioso chamado GlassWorm vivia dentro de extensões do Visual Studio Code, o editor de código mais usado do mundo, e dentro dos pacotes de código aberto que esses desenvolvedores puxam para seus projetos todos os dias. Ele coletava as senhas deles, sequestrava suas contas e as usava para se instalar em ainda mais software. CrowdStrike, Google e a Shadowserver Foundation acabaram de cortar seus fios.

Isso importa até para quem nunca abriu um editor de código, porque a cadeia de suprimentos do software é exatamente isso, uma cadeia. O aplicativo de mensagens do celular, o do banco, o jogo do console se apoiam em milhares de pequenas peças de código aberto escritas e mantidas por outras pessoas. Envenene uma dessas peças e o veneno pode descer rio abaixo até produtos finais usados por milhões. O GlassWorm foi feito para pegar essa correnteza sem ser visto.

O que o diferenciava era o jeito de se esconder. Seus operadores escreviam as instruções maliciosas com caracteres Unicode invisíveis, código que aparece como espaço em branco dentro do editor, de modo que um desenvolvedor revisando o arquivo não via nada de errado. Os pesquisadores da Koi Security, que identificaram a campanha primeiro, o chamaram de primeiro worm capaz de se propagar sozinho por extensões de editores de código. Cada máquina infectada virava o ponto de partida da seguinte.

A maioria dos ataques à cadeia de suprimentos é um golpe rápido: um pacote envenenado é encontrado, retirado e corrigido em poucos dias. O GlassWorm foi feito para durar. Como roubava as credenciais de que precisava para se espalhar, conseguia se reinstalar muito depois de qualquer extensão cair, e foi assim que uma única operação alcançou centenas de projetos e dezenas de milhares de downloads ao longo de mais de um ano.

As vias de infecção eram o encanamento cotidiano do trabalho com software. Os operadores subiam extensões com armadilha no Open VSX, o mercado que alimenta o VS Code e seus primos Cursor, Windsurf, Positron e VSCodium, disfarçadas de ferramentas inofensivas como cronômetros ou formatadores de código. Enfiavam código adulterado em pacotes do npm e do índice do Python por meio de scripts de instalação que rodam sozinhos e, com credenciais tomadas de vítimas anteriores, forçavam alterações maliciosas nos ramos principais de mais de 300 repositórios no GitHub. Uma vez dentro de uma máquina, o GlassWorm caçava chaves: tokens do npm, logins do GitHub, os tokens de publicação que permitem subir extensões e carteiras de criptomoedas. Transformava os computadores infectados em servidores de passagem para outro tráfego criminoso e, em alguns casos, instalava um software de acesso remoto oculto que dava aos operadores uma visão ao vivo da tela.

Derrubá-lo exigia atacar a forma como os operadores mantinham contato com suas máquinas, e aí o GlassWorm tinha sido feito para sobreviver. Em vez de depender de um único servidor de comando que se pudesse desligar, usava quatro canais ao mesmo tempo. Um codificava as instruções dentro de transações da blockchain Solana, um registro público projetado para ser permanente e fora de alcance. Outro escondia a configuração na rede de compartilhamento de arquivos BitTorrent. Um terceiro enfiava endereços codificados nos títulos de eventos do Google Calendar. O quarto era um servidor alugado comum. A equipe Counter Adversary Operations da CrowdStrike, junto com Google e Shadowserver, cortou o conjunto inteiro em uma única ação coordenada.

Cortar os fios não é o mesmo que limpar a ferida. Cortar os canais impede os operadores de mandar novas ordens e novas cargas, mas não tira o GlassWorm das máquinas que ele já controla, e cada senha já roubada continua roubada. Também não é a primeira interrupção da campanha. Depois que a Koi Security a expôs, o GlassWorm voltou, uma vez com duas dúzias de novas extensões maliciosas e, meses depois, com dezenas a mais. O canal em blockchain que os pesquisadores descreviam como impossível de desmantelar acaba de ser desmantelado, mas quem está por trás mostrou repetidamente que reconstrói.

Os investigadores acreditam que os operadores estejam provavelmente na Rússia. O programa verifica o idioma e o fuso horário do computador ao iniciar e se encerra em silêncio se cair num sistema na Rússia ou num país vizinho da antiga órbita soviética, uma assinatura conhecida dos grupos criminosos que operam a partir da região e evitam vítimas locais. A CrowdStrike resumiu a virada sem rodeios: os atacantes não miram mais só os produtos, miram os desenvolvedores que os constroem. A Shadowserver Foundation começou a avisar as organizações afetadas para que limpem seus sistemas e troquem toda credencial que possa ter vazado, e para todos os que estão mais abaixo na cadeia o trabalho de verdade começa agora, à medida que as equipes auditam quais extensões e pacotes instalaram desde o início de 2025. A infraestrutura está apagada. A limpeza mal começou.

Discussão

Há 0 comentários.