Um novo ataque de cadeia de suprimentos está direcionando o ecossistema de desenvolvimento da SAP através de pacotes npm envenenados. A campanha utiliza um verme malicioso chamado Mini Shai-Hulud, que roda silenciosamente antes que qualquer instalação npm seja concluída e rouba credenciais de máquinas de desenvolvedores, plataformas de nuvem e ferramentas de codificação com IA.
Descoberta e escopo do ataque
O ataque atingiu quatro pacotes oficiais publicados pela SAP: mbt, @cap-js/sqlite, @cap-js/postgres e @cap-js/db-service. Quando um desenvolvedor ou pipeline de CI executa npm install em uma versão comprometida, um script oculto de pré-instalação chamado setup.mjs é acionado antes que a instalação termine.
Esse script baixa o tempo de execução Bun JavaScript e executa um payload ofuscado de 11,7 MB chamado execution.js, que realiza o roubo de credenciais sem tocar no Node.js. Analistas da Endor Labs identificaram o malware como um descendente direto do verme original Shai-Hulud documentado em abril de 2025.
Os pesquisadores notaram que o Mini Shai-Hulud compartilha o mesmo tempo de execução Bun v1.3.13, a mesma família de cifras personalizadas (ctf-scramble-v2) e a mesma chave PBKDF2 da campanha anterior. Esses marcadores confirmam que o mesmo ator de ameaça está executando uma nova campanha contra o ecossistema de desenvolvimento CAP e MTA da SAP.
Vetor e exploração técnica
O payload executa cinco coletores de credenciais em paralelo. O primeiro visa tokens npm, escaneando arquivos npmrc no diretório home do usuário, raiz do projeto e variáveis de ambiente de CI. Os tokens coletados são validados contra a API do registro npm para confirmar direitos de publicação.
O segundo e terceiro cole varrem credenciais do GitHub e da nuvem. Em hosts Linux, o payload lê /proc/{pid}/mem para extrair segredos em memória do GitHub Actions. Ele também escaneia arquivos de credenciais AWS, consulta GetCallerIdentity para contexto IAM, varre o Google Cloud Secret Manager, lê arquivos JSON de conta de serviço do Kubernetes e coleta credenciais do Azure Key Vault.
O quarto coletor visa ferramentas de codificação com IA. O payload verifica 136 caminhos fixos para configurações do Claude Code, arquivos de tarefa do VS Code, estado do IDE Cursor, histórico de shell, arquivos .env e chaves privadas SSH. Em ambientes de CI, varre mais de 25 plataformas, incluindo Jenkins, Travis e Azure Pipelines.
Impacto e alcance
Os quatro pacotes situam-se nas árvores de dependência de aplicativos baseados em CAP usados amplamente em toda a SAP BTP. Qualquer desenvolvedor que instalou uma versão comprometida em uma máquina que contém credenciais de nuvem ou tokens do GitHub deve tratar cada segredo naquele host como totalmente exposto.
Todos os dados coletados são criptografados com AES-256-GCM e a chave é envolvida com a chave pública RSA-4096 do atacante antes de ser enviada para um repositório de queda do GitHub criado a partir da conta roubada da vítima.
Medidas de mitigação recomendadas
Se qualquer versão comprometida foi instalada, trate o evento como um comprometimento total de credenciais. Desinstale cada pacote afetado e reinstale a versão limpa usando a flag --ignore-scripts. Procure todos os projetos na máquina afetada por arquivos execution.js maiores que 5 MB, arquivos .claude/settings.json com um hook SessionStart e qualquer workflow format-check.yml que sua equipe não tenha criado.
Revogue todos os segredos do host afetado, incluindo tokens de publicação npm, PATs do GitHub, chaves IAM AWS, credenciais de conta de serviço do Google Cloud, segredos de cliente Azure, chaves privadas SSH e todos os conteúdos de arquivos .env.
Para defesa de longo prazo, escopar a publicação confiável npm OIDC para um arquivo de workflow específico em uma branch específica, não em todo o repositório. Forçar --ignore-scripts em instalações de CI e revisar hooks de ciclo de vida durante auditorias de dependência.
Comparação com ataques anteriores
Este ataque é uma evolução do verme Shai-Hulud, demonstrando a sofisticação crescente de atores de ameaça que visam cadeias de suprimentos de software. A capacidade de roubar credenciais de ferramentas de IA e nuvem simultaneamente amplia o impacto potencial para além do código-fonte, permitindo acesso a infraestrutura crítica.
Perguntas frequentes
Como saber se fui afetado? Verifique se instalou as versões comprometidas listadas nos pacotes SAP e procure por arquivos de payload suspeitos.
Devo confiar nos pacotes SAP? Até que a SAP confirme a limpeza e a comunidade de segurança valide, evite atualizações automáticas e audite manualmente.
Quais ferramentas de IA são afetadas? O ataque visa especificamente configurações do Claude Code, VS Code e Cursor, além de segredos de CI.