Shai Hulud v2 Malware
Den anden bølge af Shai-Hulud-forsyningskædeangrebet har nu krydset Maven-økosystemet efter at over 830 pakker i npm-registret er blevet kompromitteret. Forskere identificerede en Maven Central-pakke, org.mvnpm:posthog-node:4.18.1, som indeholder de samme skadelige komponenter som de tidligere npm-angreb: loader setup_bun.js og payload bun_environment.js. I øjeblikket er dette den eneste kendte Java-pakke, der er berørt.
Det er værd at bemærke, at Maven-pakken ikke blev udgivet af PostHog. I stedet blev den genereret gennem en automatiseret mvnpm-proces, der genopbygger npm-pakker som Maven-artefakter. Maven Central har bekræftet, at alle spejlede kopier blev slettet pr. 25. november 2025, og yderligere beskyttelser implementeres for at forhindre, at kompromitterede npm-komponenter genudgives.
Indholdsfortegnelse
Globale udviklerpåvirkninger og angrebsmål
Denne seneste bølge er rettet mod udviklere verden over og har til formål at stjæle følsomme data såsom:
- API-nøgler
- Cloud-legitimationsoplysninger
- npm- og GitHub-tokens
Det muliggør også dybere kompromittering af forsyningskæden på en ormlignende, selvreplikerende måde. Denne iteration af Shai-Hulud er mere diskret, aggressiv og destruktiv end den oprindelige september-variant. Ved at kompromittere npm-vedligeholderkonti kan angribere udgive trojaniserede pakker, der bagdør udviklermaskiner og automatisk scanner for hemmeligheder, der kan ledes til GitHub-lagre.
Sådan fungerer malwaren: Dobbelte arbejdsgange og skjulte teknikker
Angrebet udnytter to ondsindede arbejdsgange:
- Selvhostet runner-registrering: Tillader vilkårlig kommandoudførelse, når en GitHub-diskussion åbnes.
- Arbejdsgang til indsamling af hemmeligheder: Indsamler systematisk legitimationsoplysninger og sender dem til GitHub.
- Vigtige forbedringer i Shai-Hulud v2 inkluderer:
- Brug af Bun-runtime til at skjule kernelogik
- Udvidelse af smittegrænsen fra 20 til 100 pakker
- Randomiserede eksfiltreringsarkiver på GitHub for at undgå detektion
Indtil videre er over 28.000 datalagre blevet berørt, hvilket demonstrerer kampagnens enorme omfang og skjulte karakter.
Udnyttede sårbarheder og forsyningskædemekanik
Trusselsaktører har udnyttet fejlkonfigurationer af CI i GitHub Actions-arbejdsgange, især udløserne pull_request_target og workflow_run. En enkelt fejlkonfigureret arbejdsgang kan forvandle et repository til 'patient nul', hvilket muliggør hurtig spredning af skadelig kode.
Angrebet har målrettet projekter forbundet med AsyncAPI, PostHog og Postman og fortsætter dermed en bredere kampagne, der begyndte med S1ngularity-angrebet i august 2025, som påvirkede adskillige Nx-pakker på npm.
Nedfaldet: Lækkede hemmeligheder og systemisk risiko
Analyse af kampagnen viser:
- Hundredvis af GitHub-adgangstokens og cloud-legitimationsoplysninger fra AWS, Google Cloud og Microsoft Azure blev stjålet.
- Over 5.000 filer med hemmeligheder blev uploadet til GitHub.
- Ud af 11.858 unikke hemmeligheder identificeret i 4.645 databaser, forblev 2.298 gyldige og offentligt eksponerede pr. 24. november 2025.
Dette demonstrerer, hvordan en enkelt kompromitteret vedligeholder kan udløse en kaskadeeffekt og inficere tusindvis af downstream-applikationer.
Anbefalinger til udviklere
For at mindske eksponering bør udviklere:
- Roter alle API-nøgler, tokens og legitimationsoplysninger
- Revider og fjern kompromitterede afhængigheder
- Geninstaller rene pakkeversioner
- Hærd CI/CD-miljøer med adgang med færrest rettigheder, hemmelig scanning og automatiseret håndhævelse af politikker
Shai-Hulud understreger, at den moderne softwareforsyningskæde fortsat er yderst sårbar. Angribere fortsætter med at udnytte huller i, hvordan open source-software udgives, pakkes og implementeres, ofte uden at benytte sig af zero-day-sårbarheder. Det mest effektive forsvar kræver, at man gentænker, hvordan software bygges, deles og forbruges.