Pacotes npm ligados à SAP são comprometidos em ataque de supply chain para roubo de credenciais
30 de Abril de 2026

Pesquisadores de cibersegurança estão alertando sobre uma nova campanha de ataque à supply chain que mira pacotes npm relacionados à SAP e distribui malware voltado ao roubo de credenciais.

Segundo relatos de Aikido Security, SafeDep, Socket, StepSecurity e da Wiz, empresa pertencente ao Google, a campanha, que se apresenta como mini Shai-Hulud, afetou os seguintes pacotes ligados ao ecossistema de desenvolvimento de aplicações em JavaScript e cloud da SAP:

[email protected]
@cap-js/[email protected]
@cap-js/[email protected]
@cap-js/[email protected]

“As versões afetadas introduziram um novo comportamento no momento da instalação, que não fazia parte da funcionalidade esperada desses pacotes”, informou a Socket.

“As versões comprometidas adicionaram um script de preinstall que age como um bootstrapper em tempo de execução, baixando um ZIP do Bun específico para a plataforma a partir do GitHub Releases, extraindo o arquivo e executando imediatamente o binário do Bun extraído.”

“A implementação também segue redirecionamentos HTTP sem validar o destino e usa PowerShell com -ExecutionPolicy Bypass no Windows, aumentando o risco para ambientes de desenvolvimento e CI/CD afetados.”

A Wiz observou que os pacotes maliciosos correspondem a várias características vistas em operações anteriores do TeamPCP, o que indica que o mesmo threat actor provavelmente está por trás da campanha mais recente.

As versões suspeitas foram publicadas em 29 de abril de 2026, entre 09h55 UTC e 12h14 UTC.

Os pacotes comprometidos introduzem um novo gancho de preinstall no package.json que executa um arquivo chamado “setup.mjs”, usado como loader para o runtime JavaScript Bun executar o coletor de credenciais e a estrutura de propagação (“execution.js”).

De acordo com a Aikido, o malware foi projetado para coletar credenciais locais de desenvolvedor, tokens do GitHub e do npm, segredos do GitHub Actions e segredos de cloud da AWS, Azure, GCP e Kubernetes.

Os dados roubados são criptografados e exfiltrados para repositórios públicos do GitHub criados na própria conta da vítima, com a descrição “A Mini Shai-Hulud has Appeared.” No momento da publicação, havia mais de 1.100 repositórios com essa descrição.

Além disso, o payload de 11,6 MB inclui recursos de autopropagação por meio de fluxos de trabalho de desenvolvimento e de publicação, usando especificamente os tokens do GitHub e do npm para injetar um workflow malicioso do GitHub Actions nos repositórios da vítima, roubar segredos do repositório e publicar versões comprometidas dos pacotes npm no registro.

Ainda assim, o incidente mais recente apresenta diferenças importantes em relação às ondas anteriores do Shai-Hulud.

Todos os dados exfiltrados são criptografados com AES-256-GCM e encapsulam a chave com RSA-4096, usando uma chave pública incorporada ao payload, o que torna a decifração viável apenas para o atacante.

Ele também verifica se o sistema está configurado com localidade russa.

O payload se estabelece em todos os repositórios GitHub acessíveis ao injetar um arquivo “.claude/settings.json”, que abusa do hook SessionStart do Claude Code, e um arquivo “.vscode/tasks.json” com a configuração “runOn”: “folderOpen”, de modo que qualquer tentativa de abrir o repositório infectado no Microsoft Visual Studio Code (VS Code) ou no Claude Code faça o malware ser executado.

“Este é um dos primeiros ataques à supply chain a mirar configurações de agentes de codificação de IA como vetor de persistência e propagação”, afirmou a StepSecurity.

Uma análise mais aprofundada sobre a causa raiz revelou que os atacantes comprometeram a conta RoshniNaveenaS, responsável pelos três pacotes “@cap-js”, depois enviaram um workflow modificado para uma branch que não era a principal e usaram o token OIDC do npm extraído para publicar os pacotes maliciosos sem provenance.

No caso do mbt, há suspeita de que a origem tenha sido o comprometimento do token estático do npm “cloudmtabot” por um canal ainda não determinado.

“O time do cds-dbs migrou para o trusted publishing do npm via OIDC em novembro de 2025”, disse a SafeDep.

“Nesse modelo, o GitHub Actions pode solicitar um token de curta duração do npm sem armazenar segredos de longa duração no repositório.

O atacante reproduziu manualmente essa troca em uma etapa de CI e imprimiu o token resultante.”

“O ponto crítico de falha de configuração é o seguinte: a configuração de trusted publisher do OIDC do npm para @cap-js/sqlite confiava em qualquer workflow em cap-js/cds-dbs, e não apenas no release-please.yml canônico na branch main.

Um push em uma branch poderia trocar um token OIDC em nome do pacote se o workflow tivesse permissão id-token: write e a referência environment: npm.”

Em resposta ao incidente, os mantenedores dos pacotes publicaram novas versões seguras, que substituem os releases comprometidos:

sqlite: v2.4.0, v2.3.0
postgres: v2.3.0, v2.2.2
hana: v2.8.0, v2.7.2
db-service: v2.10.1
mbt: v1.2.49

Publicidade

Anuncie no CaveiraTech e coloque sua marca na frente de milhares de profissionais de cybersecurity

Nossa audiência é formada por analistas, pentesters, decisores e entusiastas que consomem nossas notícias todo dia pelo Site, Newsletter e Instagram. Fale com quem realmente importa para o seu negócio. Anuncie aqui. Saiba mais...