Cybersikkerhed
NPM Supply-Chain-angreb: Hvad skete der, og hvordan man løser det

Kryptovalutaindustrien og verden generelt oplevede for nylig et chok, da sikkerhedseksperter identificerede et supply-chain-angreb, der målrettede Node.js-økosystemet og allerede havde kompromitteret op til 18 npm-pakker.
Det skyldes, at disse få pakker får milliarder af downloads hver uge.
Softwarepakker bruges til at distribuere tredjepartssoftware. Ofte hentet fra en ekstern kilde via en pakkehåndtering, indeholder de normalt kildekode, biblioteker, dokumentation og andre filer, der kræves for at bygge og køre softwaren.
Nu udgiver en pakke, der indeholder malware, sig for at være en legitim, men i virkeligheden er den ondsindet med intentionen om at inficere software. Når den kommer ind i et system, kan malware i den ondsindede pakke ændre filer, stjæle data, og endda overtage et helt system for at gøre, hvad angriberen ønsker.
Selvom andre store open source-økosystemer som Python og .NET er lige så sårbare over for angreb, gør den brede brug af JavaScript det særligt udsat for cyberkriminelle.
Node.js er et open-source runtime-miljø bygget oven på JavaScript, som gør det muligt for udviklere at køre deres kode uden for webbrowseren.
Traditionelt blev det fortolkede programmeringssprog, som primært er kendt for at gøre websider interaktive, hovedsageligt brugt til client-side webudvikling i browsere, men Node.js udvidede JavaScripts anvendelse til server-side og andre applikationer.
Med Node.js kan udviklere bygge hurtige og skalerbare applikationer som webservere, API’er, værktøjer og mere.
Det drager fordel af et enormt økosystem af open-source biblioteker og værktøjer tilgængelige via npm, som forenkler udvikling og leverer løsninger til forskellige funktionaliteter.
Node Package Manager, eller npm, er et centralt værktøj i JavaScript-udvikling, som bruges til at finde, bygge og administrere kodepakker. Det hjælper med at håndtere afhængigheder, muliggør samarbejde og strømliner arbejdsprocesser.
Dette verdens største softwareregister indeholder over 3 millioner kodepakker og er fuldstændig gratis at bruge.
Alle kan downloade alle offentlige npm-softwarepakker uden at skulle registrere sig. Open-source-udviklere bruger npm til at dele og låne software, mens mange organisationer bruger det til at administrere privat udvikling.
For at installere npm på din computer skal du først installere Node.js.
Pakkehåndteringen for JavaScript vedligeholdes af npm, Inc., et datterselskab af GitHub, verdens førende platform for softwareudvikling, som har været ejet af Microsoft (MSFT ) siden 2018, da teknologigiganten købte den for 7,5 milliarder dollars for at styrke udviklere.
I sidste uge blev værktøjet, som mere end 17 millioner udviklere verden over er afhængige af, kompromitteret, hvilket skabte panik på internettet, dog kun i et kort øjeblik, da eksperter opdagede det tidligt, og angriberne ikke kunne stjæle mere end $50. Her er, hvad der skete!
Hvad skete der i NPM Supply-Chain-angrebet (sep 2025)
I det massive supply-chain-angreb, der fandt sted i JavaScript-økosystemet, kompromitterede hackere en række npm-pakker med malware. Målet med angrebet var at stjæle digitale aktiver fra intetanende brugere.
Især blev npm-kontoen for udvikleren ‘qix’ hacket.
Qix er en open-source vedligeholderkonto, der blev kompromitteret via et phishing-angreb. Dette gjorde det muligt for angriberne at inficere 18 populære npm-pakker med ondsindet kode. Sammen bliver disse pakker downloadet hundredvis af millioner af gange hver uge, da de er indlejret i rammer, udviklerværktøjer og produktionsservices.
De berørte pakker inkluderer chalk, debug, color-name, wrap-ansi og ansi-styles, som er nogle af de mest populære, mens mindre populære npm-pakker som backslash, chalk-template og has-ansi også blev påvirket.
Swipe for at rulle →
| Package | Compromised version(s) | Action |
|---|---|---|
| debug | 4.4.2 | Fastgør til version før 4.4.2; geninstaller; scan bygge‑logfiler |
| chalk | 5.6.1 | Fastgør til version før 5.6.1; genudrul ren build |
| ansi-styles | 6.2.2 | Fastgør til version før 6.2.2; auditér downstream‑afhængigheder |
| ansi-regex | 6.2.1 | Fastgør til version før 6.2.1 |
| strip-ansi | 7.1.1 | Fastgør til version før 7.1.1 |
| wrap-ansi | 9.0.1 | Fastgør til version før 9.0.1 |
| color, color-convert, color-string, color-name | 5.0.1 / 3.1.1 / 2.1.1 / 2.0.1 | Fastgør til de før‑listede versioner; lås igen og genopbyg |
| has-ansi, supports-color, slice-ansi | 6.0.1 / 10.2.1 / 7.1.1 | Fastgør til de før‑listede versioner |
| backslash, is-arrayish, error-ex, simple-swizzle, chalk-template, supports-hyperlinks | 0.2.1 / 0.3.3 / 1.3.3 / 0.2.3 / 1.1.1 / 4.1.1 | Fastgør til de før‑listede versioner |
| duckdb, @duckdb/node-api, @duckdb/node-bindings, @duckdb/duckdb-wasm | 1.3.3 / 1.3.3 / 1.3.3 / 1.29.2 | Undgå de listede versioner; vent på leverandør‑opdateringer |
Alle de pakker, der blev påvirket, er siden blevet fjernet af npm-registret. Ved at kompromittere en højt værdsat open-source‑vedligeholder har angrebet udnyttet tilliden i open-source‑software‑økosystemet (OSS), da udviklere ikke reviderer hver afhængighed, de bruger. De stoler på deres brug og omdømme samt registrenes sikkerhed.

For at kompromittere pakkerne gik hackeren via phishing. Angriberen startede først en phishing‑kampagne for at overtage kontoen for en npm‑pakkevedligeholder, hvorefter de injicerede deres ondsindede kode i npm‑pakker, før de uploadede de kompromitterede versioner.
Udvikleren Josh Junon var den, der faldt offer for en phishing‑email, som var en del af en større kampagne, der efterlignede npm. Angriberne brugte derfor et phishing‑site, der efterlignede npms login‑side, for at stjæle hans legitimationsoplysninger. Så snart angriberne kom ind, låste de Junon ude ved at ændre den registrerede e‑mailadresse for Junons npm‑konto.
“Hej, ja jeg blev hacket. Undskyld alle sammen, meget pinligt,” skrev Junon på HackerNews og bekræftede hændelsen. Han forklarede, før han præciserede, at kun npm var påvirket:
“Så ud til at være legitim ved første øjekast. Jeg laver ingen undskyldninger, jeg havde bare haft en lang uge og en panisk morgen og prøvede bare at fjerne noget fra min to‑do‑liste. Jeg begik fejlen ved at klikke på linket i stedet for at gå direkte til siden.”
Phishing‑emailen kom fra support [at] npmjs [dot] help og brugte en skræmmende taktik for at få Junon til at klikke på linket, som omdirigerede ham til phishing‑sitet.
Ved at udgive sig for at være fra npm bad angriberne ham om at opdatere sine 2FA‑oplysninger og påstod at de var en del af en “løbende forpligtelse til kontosikkerhed” og at de anmodede om det samme fra alle brugere.
“Vores registre viser, at det er over 12 måneder siden din sidste 2FA‑opdatering,” skrev phishing‑emailen og tilføjede, at dem med “forældede 2FA‑oplysninger vil blive midlertidigt låst fra 10. september 2025 for at forhindre uautoriseret adgang.”
Den samme email blev også brugt til at målrette andre pakkevedligeholdere og udviklere.
Givet den brede brug af de berørte pakker, kunne dette have udviklet sig til en større hændelse, hvis det ikke var blevet håndteret så hurtigt.
Som Charlie Erickson fra Aikido Security bemærkede i en rapport, undgik utallige websider alvorlige skader fra dette angreb, hvor npm‑pakkerne indeholdt kode, der ville blive udført på en websides klient.
“Denne malware er i bund og grund en browser‑baseret aflytning, der kaprer både netværkstrafik og applikations‑API’er,” udtalte han i sin angrebsanalyse. “Det, der gør den farlig, er, at den opererer på flere lag: Ændrer indhold vist på websider, manipulerer API‑kald og påvirker hvad brugernes apps tror, de underskriver. Selv hvis grænsefladen ser korrekt ud, kan den underliggende transaktion blive omdirigeret i baggrunden.”
Den ondsindede kode var designet til at stjæle kryptovaluta. Angriberen scanner strenge efter kryptovaluta‑tegnebogsadresser, hvilket udsætter dem, der arbejder med kryptorelaterede applikationer, for risiko.
Malwaren arbejdede stille i browseren uden brugerens viden, omskrevte tegnebogsadresser og omdirigerede midler til konti, som angriberen kontrollerer. Den kaprer og manipulerer direkte transaktioner på tværs af Bitcoin, Ethereum, Solana, Tron, Litecoin og Bitcoin Cash på et kompromitteret system.
For at gøre dette overvågede den ondsindede kode browserens API’er som fetch og tegnebogs‑API’er som window.ethereum.
Den ondsindede kode “aflytter stille kryptovaluta‑ og Web3‑aktivitet i browseren, manipulerer tegnebogsinteraktioner og omskriver betalingsdestinationer, så midler og godkendelser omdirigeres til angriber‑kontrollerede konti uden nogen åbenlyse tegn for brugeren,” sagde Erickson.
Når den er færdig, dækker malwaren sine spor, mens den forbliver i baggrunden for at fange eventuelle fremtidige transaktioner på den intetanende offers netværk.
Givet angrebets alvorlighed advarede Charles Guillemet, CTO hos hardware‑tegnebogsudbyderen Ledger, kryptobrugere om at være forsigtige, når de bekræfter on‑chain‑transaktioner. De berørte pakker, han bemærkede i indlægget, er allerede blevet downloadet over 1 milliard gange.
Det omfattende supply-chain-angreb, delte han med fællesskabet, målretter kryptosoftware‑tegnebogene med den ondsindede payload “stille udskiftning af kryptoadresser i realtid for at stjæle midler.”
“Hvis du bruger en hardware‑tegnebog, så vær opmærksom på hver transaktion før du underskriver, så er du sikker. Hvis du ikke bruger en hardware‑tegnebog, så undlad at foretage on‑chain‑transaktioner for nu.”
– Guillemet
I mellemtiden gik 0xngmi, den pseudonyme grundlægger af DefiLlama, en kryptoanalyseplatform, på X for at dele at “det effektive påvirkningsområde er meget mindre end ‘alle websider’, da kun de projekter, der blev opdateret efter at den malware‑infekterede npm‑pakke blev udgivet, kan være i fare.” Alligevel “er det bare sikrere at undgå at bruge kryptowebsites, indtil dette er overstået, og de har ryddet de dårlige pakker,” tilføjede han.
Til sidst lykkedes det kun hackere at stjæle $50 i kryptovaluta fra et så massivt supply-chain-angreb. De $50 omfatter Ether og en række meme‑coins som Brett og Andy blandt andre.

Det var dog mere held end noget andet, som kryptointelligensplatformen Security Alliance bemærkede på X:
“Dette kunne have været meget værre. En snigende implementeret backdoor, der målrettede udviklermaskiner med fokus på vedholdenhed, kunne have forblevet under radaren i ukendt hvor lang tid.”
Siden da har mange kryptoprogrammer såsom Aave, Uniswap, Ledger, Jupiter, MetaMask, Phantom, Blast og andre underrettet deres brugere om, at de er sikre fra npm‑angrebet.
Selvom angrebet mislykkedes, er det en skarp påmindelse for udviklere om, at de for maksimal sikkerhed skal gå ud over deres egen kodebase. Selv software‑afhængigheder, der er blevet betroet og bredt anvendt, kan også blive kompromitteret når som helst.
Her skal kodningsplatforme som GitHub og npm også gøre mere for at sikre sikkerheden for bredt anvendte pakker.
“Mere populære pakker bør kræve attestering af, at de stammer fra en betroet oprindelse og ikke blot tilfældigt fra et sted på internettet.”
– Eriksen

Komprimeringer af kodearkiver kan i sidste ende være ekstremt katastrofale for udviklere, som kan ende med at opgive deres hele projekter som følge af en sådan hændelse.
Hændelsen er et bevis på, hvor sammenkoblet og sårbar nutidens softwareøkosystem er over for udnyttelse. En enkelt kompromitteret konto kan give angribere en enorm rækkevidde, hvilket gør det kritisk at implementere forbedrede supply-chain‑sikkerhedsforanstaltninger i hver fase af udviklingsprocessen.
Beskytte sig mod den hurtigt stigende trussel fra malware
Med malware‑trusler på vej op, og angrebene bliver mere avancerede og målrettede, er det vigtigt for brugere at blive uddannet og altid være årvågne på tværs af alle platforme.
Ondsindet software eller malware er faktisk en af de mest almindelige typer af cyberangreb. Her udvikler angribere en softwarekode eller et computerprogram med intentionen om at få adgang til eller forårsage skade på offerets computer uden at offeret ved, at de er blevet kompromitteret.
Hvert år sker milliarder af malware‑angreb over hele verden på alle slags enheder og operativsystemer. Ved at bruge malware holder cyberkriminelle ikke kun enheder, men hele virksomhedsnetværk som gidsel.
Ved at opnå uautoriseret adgang til offerets enheder stjæler angribere digitale aktiver og følsomme data, herunder login‑oplysninger, kreditkortnumre og andre værdifulde informationer. Malware‑angreb retter sig i stigende grad mod virksomheder, da de besidder betydelige mængder personlige data, som hackere kan udnytte til at afpresse store pengebeløb.
Data viser, at flertallet (59 %) af organisationerne blev ramt af et sådant angreb i 2024. Selv mindre virksomheder er ikke sikre, med 47 % af dem ramt af ransomware sidste år. Samtidig steg den gennemsnitlige løsepengebetaling med 500 % til $2 millioner i denne periode.
Den gennemsnitlige omkostning ved genoprettelse efter et malware‑angreb er også steget til så højt som $2,73 millioner. En af de største trusler, internettet i øjeblikket står over for, er malware, som kan antage forskellige former med det eneste formål at skade computersystemer og deres brugere.
Virus, ransomware, trojanske heste, orme, spyware, adware og crypto‑jacking er alle forskellige typer af malware. Alle disse er designet til at opnå uautoriseret adgang til et netværk eller beskadige computersystemer.
Når det gælder de grundlæggende årsager til angreb, er den største med 32 % angriberes udnyttelse af sårbarheder, efterfulgt af kompromitterede legitimationsoplysninger (29 %) og derefter ondsindede e‑mails (23 %).
Nu, hvordan kan man beskytte sig mod denne altid tilstedeværende trussel? Det første og enkleste skridt er altid at holde sin computer og software opdateret. Derudover er det kritisk, at du ikke klikker på alt på internettet. Især som kryptobruger skal man være mistænksom over for links og absolut ikke downloade noget, du ikke er sikker på.
Det samme gælder for enhver e‑mail‑vedhæftning. Vær på vagt over for at åbne mistænkelige e‑mails og prøv at holde din fildeling på et minimum. Det er fornuftigt at have antivirussoftware installeret på din enhed.
Selvom uundgåeligt kan organisationer også forberede sig på malware‑angreb ved at styrke deres forsvar. De mest ligefremme måder at gøre dette på er ved at bruge stærke adgangskoder, multifaktor‑autentificering og VPN’er, som enkeltpersoner også kan bruge til at beskytte sig mere effektivt.
Organisationer skal konstant overvåge enheder for tegn på mistænkelig aktivitet, vurdere eventuelle sårbarheder og udføre penetrationstest. Samtidig vil sikkerhedskopier af følsomme data på drev, der er frakoblet netværket, hjælpe med genoprettelse efter malware‑angreb.
Medarbejdere skal trænes i at opdage sådanne angreb bedre og reagere hurtigt ved at have hændelses‑responsplaner og vide, hvem de skal kontakte, når de mistænker en malware‑trussel.
Ved at anvende zero‑trust‑netværksarkitektur kan virksomheder sikre, at ingen får adgang til data eller aktiver, som de ikke bør. I zero‑trust betragtes brugere aldrig som betroede og verificeres altid.
I nutidens hyperdigitale liv kan disse praksisser hjælpe én med at beskytte sig mod farerne i en stadig mere sammenkoblet verden.
Når det gælder beskyttelse mod ondsindede pakker, gælder de generelle malware‑sikkerhedsanbefalinger også for npm‑angreb, men naturligvis er der yderligere, specifikke forholdsregler, man også bør tage, da økosystemet er særligt sårbart på grund af sin åbne karakter, omfattende genbrug af små pakker og store afhængighedstræer.
For at beskytte dig mod denne alvorlige trussel skal du altid dobbelttjekke, at pakken er pålidelig, før du installerer den. Verificering af pakkens integritet sikrer, at dit afhængighedstræ ikke er blevet manipuleret.
Når du leder efter tegn på ulovlighed, skal du udover kilde og ejerskab af pakken undersøge eventuelle ændringer foretaget af vedligeholderne. Du kan også overveje at undersøge, hvad pakkerne gør, og om de er nødvendige.
Brug sikkerhedsværktøjer, der løbende overvåger nye trusler og giver handlingsorienteret rådgivning til at afbøde situationen. npm audit‑kontroller kan køres for kendte sårbarheder i projektets afhængigheder. Implementering af automatiserede sikkerhedsscanninger før implementering vil desuden sikre, at kun gennemgået og godkendt kode kommer i produktion.
Nu, for at beskytte dig mod det seneste malware‑angreb, skal du fastgøre de berørte pakker til deres sikreste versioner før kompromitteringen via overrides‑funktionen i package.json.
Kør npm audit eller brug software‑kompositionsanalyse‑værktøjer (SCA) til at kontrollere for berørte versioner i dit afhængighedstræ. Overvåg for eventuelle indikatorer på kompromittering (IoCs) ved at tjekke dine bygge‑logfiler, udviklermiljøer og udgående trafik for mistænkelig aktivitet.
Klik her for en liste over de fem bedste virksomheder, der kæmpede tilbage mod cyberangreb.
Afsluttende tanker: Styrkelse af open-source‑afhængigheder
Truslerne på internettet stiger konstant og bliver mere sofistikerede.
Når angribere vender sig mod nye angrebsvektorer og målretter underressourcerede projekter, bliver det afgørende for udviklere, virksomheder og brugere ikke at vente på, at truslen viser sig, før de handler, men at tage proaktive foranstaltninger, fordi et svagt led kan nedlægge et helt system.
Det er ved at holde sig informeret om nye trusler og løbende revidere software‑supply‑chains samt overvåge trusler, at vi virkelig kan beskytte os selv mod de stadigt udviklende cyberrisici.
Klik her for en liste over de fem bedste offentlige virksomheder, der betalte cyberangribere.












