Fire offisielle SAP-publiserte npm-pakker ble kompromittert i en kampanje Endor Labs identifiserte 29. april, ifølge Cyber Security News. Pakkene er mbt, @cap-js/sqlite, @cap-js/postgres og @cap-js/db-service. Når en utvikler eller CI-pipeline kjørte npm install mot en infisert versjon, fyrte preinstall-skriptet setup.mjs av før installasjonen i det hele tatt fullførte.
Skriptet lastet ned Bun JavaScript-runtime og kjørte en 11,7 MB obfuskert payload kalt execution.js, som stjal legitimasjon uten å berøre Node.js-prosessen. Endor Labs påpeker at ormen er en direkte etterkommer av den opprinnelige Shai-Hulud-ormen fra april 2025: samme Bun v1.3.13-bootstrap, samme cipher-familie (ctf-scramble-v2), og samme PBKDF2-nøkkel.
Det er den fjerde collector-rutinen som er mest interessant for Pulsen-lesere. Payloaden sjekker 136 hardkodede stier for KI-kodeverktøy: project/.claude/settings.json, project/.vscode/tasks.json, Cursor IDE-state, shell-historikk, .env-filer og SSH-nøkler. På Linux-hoster leser den /proc/{pid}/mem for å hente GitHub Actions-secrets fra minnet.
«Disse felles markørene bekrefter at samme trusselaktør kjører en ny kampanje mot SAPs CAP- og MTA-utviklerøkosystem med en smalere legitimasjonsoverflate og et annet propagerings-nøkkelord.» — Endor Labs analytikere
Dataene ble kryptert med AES-256-GCM, og nøkkelen ble pakket inn med angriperens RSA-4096 offentlige nøkkel før opplasting til en GitHub dead-drop-repo opprettet fra ofrenes egne stjålne kontoer. Det betyr at trafikken ut fra den infiserte maskinen ser legitim ut.
Versjonene som er skadelige: mbt 1.2.48, @cap-js/sqlite 2.2.2, @cap-js/postgres 2.2.2, @cap-js/db-service 2.10.1. Siste rene versjon er én patch lavere for hver. Hvis du har CAP-baserte applikasjoner i dependency-treet, må du anta full kompromittering av alle hemmeligheter på utviklermaskinen og CI-runneren.
Hva bør du gjøre?
- Søk etter
execution.js-filer over 5 MB i alle prosjektkataloger, samt.claude/settings.jsonmed en SessionStart-hook ogformat-check.yml-arbeidsflyter teamet ditt ikke har skrevet. - Hvis du finner spor: rotér npm publish-tokens, GitHub PATs, AWS IAM-nøkler, GCP service account-credentials, Azure client secrets, SSH private nøkler og alt innhold i .env-filer på affekterte hoster.
- Kjør
npm install --ignore-scriptsi CI som standard, og gjenoppstå lifecycle-hooks bare for pakker som faktisk trenger dem. Det blokkerer 90 prosent av npm-supply-chain-angrep. - Lås npm OIDC trusted publishing til en spesifikk arbeidsflyt på en spesifikk branch, ikke hele repoet. Det smale tilgangsbildet gjør det vanskeligere for orm-spredning.