Ataque de Cadeia de Suprimentos Visa Pacotes npm Relacionados à SAP com Malware para Roubo de Credenciais
Pesquisadores de cibersegurança descobriram uma campanha de ataque de cadeia de suprimentos visando pacotes npm relacionados à **SAP**. Batizada de 'Mini Shai-Hulud', a campanha injeta malware para roubo de credenciais em sistemas vulneráveis, exfiltrando dados sensíveis para repositórios públicos do GitHub.

Várias empresas de cibersegurança, incluindo **Aikido Security**, **Onapsis**, **OX Security**, **SafeDep**, **Socket**, **StepSecurity** e **Wiz** (propriedade do **Google**), relataram uma nova campanha de ataque de cadeia de suprimentos visando pacotes npm relacionados à **SAP** com malware para roubo de credenciais.
### Pacotes Afetados
A campanha 'Mini Shai-Hulud' comprometeu os seguintes pacotes associados ao ecossistema de desenvolvimento de aplicações JavaScript e cloud da **SAP**:
* [email protected]
* @cap-js/[email protected]
* @cap-js/[email protected]
* @cap-js/[email protected]
**Socket** declarou: "As versões afetadas introduziram um novo comportamento em tempo de instalação que não fazia parte da funcionalidade esperada desses pacotes anteriormente. As versões comprometidas adicionaram um script de pré-instalação que atua como um inicializador em tempo de execução, baixando um ZIP do Bun específico da plataforma do GitHub Releases, extraindo-o e executando imediatamente o binário 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.
### Atribuição e Táticas
**Wiz** observou que os pacotes maliciosos compartilham recursos com operações anteriores do **TeamPCP**, sugerindo que o mesmo ator de ameaça está por trás da campanha.
As versões suspeitas foram publicadas em 29 de abril de 2026, entre 09:55 UTC e 12:14 UTC. Os pacotes envenenados introduzem um novo hook de pré-instalação `package.json` que executa `setup.mjs`, atuando como um loader para o runtime JavaScript Bun executar o roubo de credenciais e o framework de propagação (`execution.js`).
De acordo com **Aikido**, o malware coleta credenciais de desenvolvedores locais, tokens do **GitHub** e npm, segredos do **GitHub** Actions e segredos de nuvem de **AWS**, **Azure**, **GCP** e **Kubernetes**. Os dados roubados são criptografados e exfiltrados para repositórios públicos do **GitHub** criados na conta da vítima, rotulados como "A Mini Shai-Hulud has Appeared." Mais de 1.100 repositórios desse tipo foram identificados.

O payload de 11,6 MB se auto-propaga através de fluxos de trabalho de desenvolvedores e de lançamento, usando tokens do **GitHub** e npm para injetar um workflow malicioso do **GitHub** Actions em repositórios de vítimas, roubando segredos de repositórios e publicando versões de pacotes npm envenenados.
### Principais Diferenças das Ondas Anteriores de Shai-Hulud
* Todos os dados exfiltrados são criptografados com AES-256-GCM, encapsulando a chave usando RSA-4096 com uma chave pública embutida no payload.
* Ele sai em sistemas com localidade russa.
* O payload se comita em todos os repositórios **GitHub** acessíveis injetando 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"`, garantindo a execução ao abrir no **Microsoft Visual Studio Code (VS Code)** ou **Claude Code**.
**StepSecurity** observou: "Este é um dos primeiros ataques de cadeia de suprimentos a mirar configurações de agentes de codificação de IA como um vetor de persistência e propagação."
**Wiz** também apontou a verificação de localidade russa, vista anteriormente nos comprometimentos do **Checkmarx** e **Bitwarden**, adicionando que o ataque usa uma chave pública RSA compartilhada ligada ao **TeamPCP** para criptografar os segredos exfiltrados.
Pesquisadores da **Wiz** destacaram: "A operação **SAP** adiciona a capacidade de roubar credenciais de múltiplos navegadores (**Chrome**, **Safari**, **Edge**, **Brave**, **Chromium**) e exfiltrar quaisquer senhas encontradas lá. Este recurso não estava presente em nenhuma das operações anteriores. A exfiltração baseada em GitHub para repositórios com tema Dune era o método C2 de fallback para a operação CLI do **Bitwarden**, mas agora é a opção principal."
### Análise da Causa Raiz
A análise revela que os atacantes comprometeram a conta de **RoshniNaveenaS** para os três pacotes `@cap-js`, enviando um workflow modificado para um branch não principal e usando o token OIDC npm extraído para publicar pacotes maliciosos sem proveniência. Para mbt, o comprometimento do token npm estático `cloudmtabot` é suspeito.
**SafeDep** declarou: "A equipe cds-dbs migrou para publicação confiável OIDC npm em novembro de 2025. Sob essa configuração, o GitHub Actions pode solicitar um token npm de curta duração sem armazenar segredos de longa duração no repositório. O atacante reproduziu essa troca manualmente em uma etapa de CI e imprimiu o token resultante."
Eles adicionaram: "A lacuna crítica de configuração: a configuração do publicador confiável OIDC do npm para @cap-js/sqlite confiava em qualquer workflow em cap-js/cds-dbs, não apenas no release-please.yml canônico no main. Um push de branch poderia trocar um token OIDC em nome do pacote se o workflow tivesse permissão id-token: write e a referência de ambiente: npm."
### Remediação
Os mantenedores dos pacotes lançaram novas versões seguras que substituem as versões comprometidas:
* sqlite: [v2.4.0](https://github.com/cap-js/cds-dbs/releases/tag/sqlite-v2.4.0), [v2.3.0](https://github.com/cap-js/cds-dbs/releases/tag/sqlite-v2.3.0)
* postgres: [v2.3.0](https://github.com/cap-js/cds-dbs/releases/tag/postgres-v2.3.0), [v2.2.2](https://github.com/cap-js/cds-dbs/releases/tag/postgres-v2.2.2)
* hana: [v2.8.0](https://github.com/cap-js/cds-dbs/releases/tag/hana-v2.8.0), [v2.7.2](https://github.com/cap-js/cds-dbs/releases/tag/hana-v2.7.2)
* db-service: [v2.10.1](https://github.com/cap-js/cds-dbs/releases/tag/db-service-v2.10.1)
* mbt: [v1.2.49](https://github.com/SAP/cloud-mta-build-tool/releases/tag/v1.2.49)
Pesquisadores da **OX Security**, Moshe Siman Tov Bustan e Nir Zadok, concluíram: "Esta campanha ilustra mais uma vez como o GitHub está se tornando a infraestrutura C2 de escolha para exfiltração de dados. Bloquear github.com não é uma opção realista para a maioria das equipes de desenvolvimento, e rastrear a exfiltração de volta a um domínio específico de ator de ameaça se torna quase impossível quando o GitHub é o mecanismo de entrega."