Shai Hulud v2-skadlig programvara
Den andra vågen av Shai-Hulud-attacken mot leveranskedjorna har nu nått Mavens ekosystem, efter att över 830 paket i npm-registret komprometterats. Forskare identifierade ett Maven Central-paket, org.mvnpm:posthog-node:4.18.1, som innehåller samma skadliga komponenter som de tidigare npm-attackerna: loader setup_bun.js och payloaden bun_environment.js. För närvarande är detta det enda kända Java-paketet som drabbats.
Det är värt att notera att Maven-paketet inte publicerades av PostHog. Istället genererades det genom en automatiserad mvnpm-process som återskapar npm-paket som Maven-artefakter. Maven Central har bekräftat att alla speglade kopior rensades bort från och med den 25 november 2025, och ytterligare skydd implementeras för att förhindra att komprometterade npm-komponenter publiceras på nytt.
Innehållsförteckning
Globala utvecklarpåverkan och attackmål
Den senaste vågen riktar sig mot utvecklare över hela världen och syftar till att stjäla känsliga uppgifter såsom:
- API-nycklar
- Molnuppgifter
- npm- och GitHub-tokens
Det underlättar också djupare kompromettering av leveranskedjan på ett maskliknande, självreplikerande sätt. Denna iteration av Shai-Hulud är mer smygande, aggressiv och destruktiv än den ursprungliga septembervarianten. Genom att kompromettera npm-underhållarkonton kan angripare publicera trojanska paket som bakdörrar utvecklarmaskiner och automatiskt söker efter hemligheter som kan ta sig till GitHub-arkiv.
Hur skadlig programvara fungerar: Dubbla arbetsflöden och dolda tekniker
Attacken utnyttjar två skadliga arbetsflöden:
- Registrering av självhostad runner: Tillåter godtycklig kommandokörning när en GitHub-diskussion öppnas.
- Arbetsflöde för insamling av hemligheter: Samlar systematiskt in autentiseringsuppgifter och skickar dem till GitHub.
- Viktiga förbättringar i Shai-Hulud v2 inkluderar:
- Användning av Bun-körtiden för att dölja kärnlogik
- Utökning av smittgränsen från 20 till 100 paket
- Randomiserade exfiltreringsdatabaser på GitHub för att undvika upptäckt
Hittills har över 28 000 databaser påverkats, vilket visar kampanjens stora omfattning och hemlighetsfulla karaktär.
Utnyttjade sårbarheter och leveranskedjemekanik
Hotaktörer har utnyttjat felkonfigurationer av CI i GitHub Actions-arbetsflöden, särskilt utlösarna pull_request_target och workflow_run. Ett enda felkonfigurerat arbetsflöde kan förvandla ett datalager till "patient noll", vilket möjliggör snabb spridning av skadlig kod.
Attacken har riktat sig mot projekt associerade med AsyncAPI, PostHog och Postman, och fortsätter en bredare kampanj som började med S1ngularity-attacken i augusti 2025, som påverkade flera Nx-paket på npm.
Nedfallet: Läckta hemligheter och systemrisk
Analysen av kampanjen visar:
- Hundratals GitHub-åtkomsttokens och molnuppgifter från AWS, Google Cloud och Microsoft Azure stjäldes.
- Över 5 000 filer med hemligheter laddades upp till GitHub.
- Av 11 858 unika hemligheter som identifierats i 4 645 databaser, var 2 298 fortfarande giltiga och offentligt exponerade per den 24 november 2025.
Detta visar hur en enda komprometterad utvecklare kan utlösa en kaskadeffekt som infekterar tusentals nedströmsapplikationer.
Rekommendationer för utvecklare
För att minska exponeringen bör utvecklare:
- Rotera alla API-nycklar, tokens och inloggningsuppgifter
- Granska och ta bort komprometterade beroenden
- Installera om rena paketversioner
- Härda CI/CD-miljöer med åtkomst med lägsta behörighet, hemlig skanning och automatiserad policytillämpning
Shai-Hulud understryker att den moderna mjukvaruleveranskedjan fortfarande är mycket sårbar. Angripare fortsätter att utnyttja luckor i hur öppen källkodsprogramvara publiceras, paketeras och distribueras, ofta utan att förlita sig på nolldagssårbarheter. Det mest effektiva försvaret kräver att man omprövar hur mjukvara byggs, delas och konsumeras.