UM campanha Glassworm continua evoluindo e explorando a confiança em mercados de extensões VS Code, agora com uma terceira leva de pacotes maliciosos que usam implantes em Rust e código “invisível” para furtar credenciais e dar acesso remoto a desenvolvedores.
O que é o Glassworm e como se espalha
Glassworm é um malware distribuído por meio de extensões maliciosas em repositórios de VS Code – compatíveis, como o Microsoft Visual Studio Marketplace (oficial) e o OpenVSX (alternativo e aberto). A campanha começou em outubro com explosões aparentemente legítimas que incluíam JavaScript ofuscado usando caracteres Unicode invisíveis, dificultando a detecção em revisões manuais e estáticas.
Uma vez instalado, o Glassworm tenta roubar contas GitHub, npm e OpenVSX, além de dados de carteiras de criptomoeda associadas a ofertas de extensões populares. Ele também instalou um proxy SOCKS no host comprometido e um cliente HVNC (hidden VNC), permitindo que os experientes usem a máquina do desenvolvedor como pivô de rede e mantenham acesso remoto furtivo.
Terceira onda e novos pacotes maliciosos
A terceira onda, detalhada por John Tuckner (Secure Attachment) e BleepingComputer, adiciona 24 novos pacotes maliciosos ou imitadores de projetos legítimos, protegendo stacks usadas em massa como Flutter, Vim, YAML, Tailwind, Svelte, React Native, Vue e Solidity. Entre os pacotes incluídos no VS Marketplace estão, por exemplo, ícones/material theme falsos, “prettier” trojanizado, extensões de Flutter, Vim, YAML, React Native e um “claude-devsce”, enquanto no OpenVSX há variantes de Flutter, YAML, Tailwind/React e Solidity com editores suspeitos.
A técnica operacional é sempre semelhante:
- Publica-se uma extensão aparentemente limpa, às vezes clonando nome e descrição de projetos populares.
- Após aprovação, o editor empurra uma atualização que injeta o código malicioso.
- Em seguida, inflaciona-se artificialmente o número de downloads e avaliações para aumentar a confiança e o ranking nas buscas, posicionando a extensão maliciosa ao lado do legítimo.
Evolução técnica: implantes em Rust e C2 resiliente
Pesquisadores observaram que a nova geração do Glassworm embute implantes em Rust dentro dos pacotes de extensão, além dos scripts JS ofuscados por Unicode. Esses binários Rust funcionam como loaders e backdoors, e o comando‑e‑controle usa múltiplas camadas: payloads cifrados (tipicamente AES‑256‑CBC) com chaves fornecidas dinamicamente em cabeçalhos HTTP, e canais alternativos como Solana blockchain, IPs diretos e até eventos no Google Calendar para maior resiliência.
O malware usa tokens npm para publicar novos pacotes maliciosos, credenciais Git/GitHub para comprometer repositórios legítimos e credenciais de OpenVSX para subir mais extensões infectadas, criando um efeito “verme” na cadeia de suprimentos de software. Os relatórios indicam ainda uma pivotagem para o GitHub, onde os mesmos truques de Unicode esteganográfico estão sendo usados para esconder payloads em projetos JavaScript.
Riscos para desenvolvedores e cadeia de suprimentos
Ao comprometer máquinas de desenvolvimento, o Glassworm obtém:
- Credenciais de plataformas de código (GitHub, Git, OpenVSX), registros (npm) e carteiras.
- Acesso interno contínuo via proxy SOCKS, permitindo que os atacantes usem o host para chegar a serviços internos atrás de firewalls.
- Capacidade de inserir backdoors em bibliotecas, extensões e projetos open source amplamente consumidos, ampliando o impacto na cadeia de suprimentos.
Essa combinação torna uma campanha especialmente perigosa para equipes que definem extensões de VS Code pouco auditadas, IDEs alternativos que usam OpenVSX (como forks com IA) e fluxos CI/CD integrados a repositórios comprometidos.
Medidas recomendadas para desenvolvedores e empresas
- Auditar imediatamente as extensões do VS Code instaladas, comparando nomes/editores com listas de IOCs divulgadas (Koi Security, Secure Attachment, Truesec, BleepingComputer) e removendo qualquer pacote suspeito ou imitador.
- Considerar desativar a atualização automática de extensões e adotar um processo manual de revisão para novas atualizações, ao menos em estações sensíveis (devs core, CI/CD, engenharia de lançamento).
- Implementar lista de permissões corporativa de extensões e bloquear instalações não autorizadas por meio de políticas de gerenciamento (GPO, MDM, VS Code Settings Sync gerenciado, etc.).
- Monitorar endpoints de desenvolvimento em busca de tráfego anômalo (C2, Solana, Google Calendar incomum, domínios de Glassworm) e processos relacionados a proxies SOCKS ou HVNC.
- Rotacionar imediatamente tokens npm, GitHub/Git, OpenVSX e chaves de API se houver suspeita de instalação de extensões ligadas ao Glassworm.
Embora os mercados de extensões ainda se ajustem para bloquear esse tipo de operação, a seleção criteriosa de extensões e a durabilidade das estações de desenvolvimento tornam-se uma peça crítica de defesa na cadeia de suprimentos.
