O que aconteceu
Em 17 de setembro de 2026, a Checkmarx Zero publicou a análise de uma campanha de cadeia de suprimentos em torno do pacote npm indexed-btree, que imitava a biblioteca legítima sorted-btree, e de nove pacotes irmãos do mesmo operador. Juntos, somavam mais de 5,3 milhões de downloads semanais. A Snyk já havia marcado todas as versões do indexed-btree como maliciosas em 7 de setembro, e em 20 de setembro os dez pacotes tinham sido removidos.
Os pacotes: indexed-btree, ordered-kv-index, btree-leaderboard, priority-slot-queue, btree-range-store, btree-core, btree-time-index, btree-lru-cache, neighbor-key-map e sliding-score-window.
A novidade: malware em tempo de execução
Desde julho de 2026, o npm v12 exige aprovação explícita para executar scripts de instalação (preinstall, install, postinstall). O indexed-btree não tem script de instalação nenhum. O carregador malicioso foi colocado dentro de BTree.prototype.set(), o método que qualquer aplicação chama o tempo todo, e só dispara quando a chave é "frouxamente igual" a 100, o que dificulta a detecção por análise estática ou sandbox.
Outros detalhes relatados:
- o código malicioso existia só no tarball publicado no npm, não no repositório GitHub;
- o histórico de commits no GitHub foi fabricado desde dezembro de 2025;
- exfiltração via Slack e Telegram, e segunda etapa baixada de um contrato inteligente na testnet Ethereum Sepolia, sem domínio para derrubar;
- o malware pode se autodeletar.
O que fazer agora
- Procure esses nomes em lockfiles, SBOMs, espelhos e caches de CI.
- Se encontrar, preserve evidências e troque tokens npm, credenciais Git, chaves de nuvem e segredos de CI.
- Não confie só no bloqueio de install scripts: monitore o comportamento em tempo de execução de máquinas de build e de desenvolvimento.
