Pacotes npm e Go sequestrados usam tarefas do VS Code e transações de blockchain para entregar infostealer Python

JFrog identifica dois pacotes npm e um cluster de 16 pacotes Go hijacked com payload que aciona via tasks.json do VS Code e busca instruções em transações Tron, Aptos e BSC.
A JFrog Security Research publicou na segunda-feira (29) a análise de duas versões maliciosas de pacotes npm e de um cluster de 16 pacotes Go que invertem o playbook tradicional de ataque ao registry. Em vez de explorar lifecycle scripts do npm, alvo bloqueado pelos hardenings do npm v12, os atacantes esconderam a execução dentro do arquivo tasks.json do VS Code, configurado com autoRun: 'folderOpen'. Basta o desenvolvedor abrir a pasta no editor para a cadeia disparar, sem que npm install ou npm test sejam invocados.
Os pacotes npm comprometidos são html-to-gutenberg na versão 4.2.11 e fetch-page-assets na 1.2.9, ambos publicados em 25 de maio e retirados do registry depois da disclosure. A trilha Go foi identificada em paralelo pela Nextron Research e replicada para 16 pacotes que carregam o mesmo loader. O payload baixa uma fonte aparente, na verdade um blob de JavaScript com tag de extensão alterada, e executa em processo node -e desacoplado.
Por que o blockchain entra na cadeia
O loader não usa um domínio C2 fixo. Ele resolve transações em três blockchains públicas, na ordem: TronGrid, Aptos e BSC JSON-RPC. O dado relevante está no campo input da transação, depois de um marcador '?.?', e é XOR-decodificado antes da execução. A mecânica importa porque inviabiliza o takedown clássico de DNS sinkhole e exige que o time de detecção monitore tráfego saindo para infrastructure de blockchain public, padrão que firewalls corporativos quase nunca tratam como hostil.
A segunda etapa estabelece um backdoor socket.io e o infostealer Python na sequência. Ele tem alcance amplo: credenciais salvas em navegadores Chromium e Firefox, gerenciadores de senha, autenticadores TOTP, carteiras cripto, históricos do Git, hosts.yml do GitHub CLI, logs do GitHub Desktop, configurações do próprio VS Code, Windows Credential Manager, Linux Secret Service, KDE Wallet, macOS Keychain e metadados de provedores cloud. Em ambientes em que devs guardam tokens de API curtos no .env do projeto, o vazamento é direto.
Quem está exposto, e em que altura da cadeia
O ângulo desconfortável para o CISO está em quem precisa rodar VS Code com auto-trust ativo. Plataformas de coding agent que oferecem espaço para o usuário abrir um repositório arbitrário e iniciar análise pertencem à categoria mais exposta, porque a abertura do workspace dispara o autoRun sem prompt. Times de DevSecOps que padronizaram .vscode/tasks.json compartilhado entre repositórios herdaram um vetor que sai do escopo das varreduras de dependência que rodam em pre-commit.
A superfície real ainda não foi mensurada. JFrog informa que as duas versões npm tiveram alguns milhares de downloads antes da remoção, mas o número não isola quanto chegou a estações de desenvolvedor e quanto ficou em build agents efêmeros de CI. A telemetria do infostealer, na medida em que aparecer em mercados de credential broker nas próximas semanas, é o termômetro que vai dizer quanto valeu o investimento dos atacantes.
O read-across para Bangalore e São Paulo
É aqui que o ataque sai do nicho de pesquisa em segurança e vira problema de comitê. As Acceleration Centers da PwC e da Deloitte em Bangalore concentram milhares de desenvolvedores em projetos client-facing que usam tasks.json compartilhado para padronizar lint, build e deploy. Uma intrusão silenciosa numa máquina de delivery no offshore vira credenciais GitHub de clientes do Tier 1 financeiro inglês ou americano. A HCLTech e a TCS, que rodam centros equivalentes em Pune e Chennai, têm exposição na mesma ordem de magnitude.
No Brasil, o vetor pega a engenharia das fintechs e dos bancos digitais, que padronizaram VS Code com tasks compartilhadas para ambientes de Nubank, C6 e BTG. A Stefanini e a CI&T, que entregam squads alocados em clientes do varejo e da indústria, têm a mesma geometria de risco. Recomendar revogação de tokens em escala virou ação operacional, não exercício teórico.
O que pedir ao time hoje
A correção imediata é configurar 'security.workspace.trust.enabled' como true e desativar autoRun em todas as imagens corporativas do VS Code, política que muitos times relaxaram quando agentes de coding começaram a precisar de workspace trust para funcionar. A varredura de IOC publicada pela JFrog cobre os dois pacotes npm e os 16 pacotes Go, e os artefatos de blockchain dead-drop foram catalogados no relatório. O lembrete que sobra para o CIO é mais estrutural: cadeias de suprimento de software não terminam no SBOM. Elas continuam dentro do editor que o desenvolvedor abre, e essa fronteira foi pouco vigiada até segunda-feira.