PhantomRaven-malware
Cybersikkerhedsforskere har afsløret et meget aktivt softwareforsyningskædeangreb rettet mod npm-økosystemet. Over 100 ondsindede pakker er blevet identificeret, som er i stand til at stjæle følsomme udviklerlegitimationsoplysninger, herunder godkendelsestokens, CI/CD-hemmeligheder og GitHub-legitimationsoplysninger, direkte fra kompromitterede maskiner.
Kampagnen, med kodenavnet PhantomRaven, dukkede først op i august 2025. Siden da er den udvidet til 126 npm-biblioteker og har opnået mere end 86.000 installationer, hvilket demonstrerer den hurtige spredning og anvendelse af disse ondsindede pakker.
Indholdsfortegnelse
Ondsindede pakker flyver under radaren
Flere af de markerede pakker inkluderer:
- op-cli-installer – 486 downloads
- ubrugte importer – 1.350 downloads
- badgekit-api-klient – 483 downloads
- polyfill-corejs3 – 475 downloads
- eslint-kommentarer – 936 downloads
Det, der gør PhantomRaven særligt snigende, er dets brug af Remote Dynamic Dependencies (RDD'er). I stedet for at hente kode fra det officielle npm-register, peger de ondsindede pakker på en brugerdefineret HTTP-URL (packages.storeartifact.com). Dette giver npm mulighed for at hente afhængigheder fra en ekstern kilde, der ikke er tillid til, og omgår dermed effektivt npmjs.com-beskyttelser.
Traditionelle sikkerhedsscannere og afhængighedsanalyseværktøjer kan ikke registrere disse RDD'er, da automatiserede systemer ser pakkerne som havende '0 afhængigheder'.
Sådan fungerer angrebet
Angrebskæden begynder, så snart en udvikler installerer en af de tilsyneladende harmløse pakker. Nøgleelementerne omfatter:
Udførelse af hook før installation : Pakken indeholder et script til livscyklussen før installation, der automatisk udfører hovednyttelasten.
Fjernhentning af nyttelast : Scriptet henter den ondsindede afhængighed fra den angriberkontrollerede server.
Dataeksfiltrering : Når malwaren er udført, scanner den udviklerens miljø for e-mailadresser, indsamler detaljer om CI/CD-miljøet, tager fingeraftryk af systemet (inklusive offentlig IP-adresse) og sender dataene til en ekstern server.
Angriberen kan ændre nyttelasten efter behag og i første omgang levere harmløs kode for at undgå detektion, før den udgiver ondsindede opdateringer, når pakken bliver implementeret.
Udnyttelse af menneskelige og AI-blinde vinkler
Valget af pakkenavne er bevidst. Trusselsaktøren udnytter en taktik kendt som slopsquatting, hvor store sprogmodeller (LLM'er) hallucinerer ikke-eksisterende, men plausible pakkenavne. Udviklere kan have tillid til disse pakker på grund af deres realistiske navngivning, uvidende om den skjulte trussel.
Som forskere bemærker, fremhæver PhantomRaven angribernes voksende sofistikering:
- Fjerne dynamiske afhængigheder undgår statisk analyse.
- AI-genererede pakkenavne udnytter udviklertillid.
- Livscyklusscripts udføres automatisk uden brugerinteraktion.
Denne kampagne understreger, hvordan ondsindede aktører finder nye måder at skjule kode i open source-økosystemer og udnytter huller i traditionelle sikkerhedsværktøjer.
Hvorfor npm er et primært mål
npm-økosystemets lave friktion for publicering af pakker, kombineret med den automatiske udførelse af præinstallations-, installations- og postinstallationsscripts, gør det til et primært mål. Angribere kan skjule ondsindet adfærd i livscyklusscripts, ofte uden udviklerens viden, hvilket illustrerer behovet for øget årvågenhed og robuste sikkerhedspraksisser i moderne udviklingsmiljøer.