Cybersäkerhet

NPM Supply-Chain Attack: Vad som hände och hur man åtgärdar det

mm
Lägg till Securities.io bland dina föredragna källor på Google
Information: Securities.io kan få ersättning när du använder länkar till produkter vi granskar. Det påverkar inte våra redaktionella bedömningar. Vi är inte registrerad investeringsrådgivare; detta är inte investeringsråd. Läs vår affiliateinformation.
Digital vault being cracked open

Kryptovalutaindustrin och världen i stort upplevde nyligen ett ryck när säkerhetsexperter identifierade en leveranskedjeattack mot Node.js‑ekosystemet som redan hade komprometterat så många som 18 npm‑paket.

Det beror på att dessa få paket får miljarder nedladdningar per vecka.

Mjukvarupaket används för att distribuera tredjepartsprogramvara. Ofta hämtade från en extern källa via en paket‑hanterare, innehåller de vanligtvis källkod, bibliotek, dokumentation och andra filer som krävs för att bygga och köra programvaran.

Nu maskerar ett paket som innehåller skadlig kod sig som ett legitimt paket, men i själva verket är det ett skadligt paket med avsikt att infektera programvara. När det kommer in i ett system kan skadlig kod i det skadliga paketet modifiera filer, stjäla data, och till och med ta över ett helt system för att göra som angriparen önskar.

Även om andra stora öppen‑källkods‑ekosystem som Python och .NET är lika sårbara för attacker, gör den breda användningen av JavaScript det särskilt utsatt för cyberkriminella.

Node.js är en öppen‑källkods‑runtime‑miljö byggd ovanpå JavaScript som möjliggör för utvecklare att köra sin kod utanför webbläsaren. 

Traditionellt var det tolkade programmeringsspråket, främst känt för att göra webbsidor interaktiva, främst använt för klient‑sidans webbutveckling i webbläsare, men Node.js utökade JavaScripts användning till server‑sidiga och andra applikationer.

Med Node.js kan utvecklare bygga snabba och skalbara applikationer som webbservrar, API:er, verktyg och mer.

Det drar nytta av ett enormt ekosystem av öppen‑källkods‑bibliotek och verktyg som finns tillgängliga via npm, vilket förenklar utveckling och erbjuder lösningar för olika funktioner.

Node Package Manager, eller npm, är ett nyckelverktyg i JavaScript‑utveckling, som används för att hitta, bygga och hantera kodpaket. Det hjälper till att hantera beroenden, möjliggör samarbete och effektiviserar arbetsflöden.

Detta världens största mjukvaruregister innehåller över 3 miljoner kodpaket och är helt gratis att använda.

Vem som helst kan ladda ner alla offentliga npm‑programvarupaket utan att behöva registrera sig. Öppen‑källkods‑utvecklare använder npm för att dela och låna programvara, medan många organisationer använder det för att hantera privat utveckling.

För att installera npm på din dator måste du först installera Node.js.

Paket‑hanteraren för JavaScript underhålls av npm, Inc., ett dotterbolag till GitHub, världens ledande plattform för mjukvaruutveckling, som har ägts av Microsoft (MSFT ) sedan 2018, när teknikjätten köpte den för 7,5 miljarder dollar för att stärka utvecklare.

Förra veckan komprometterades verktyget som mer än 17 miljoner utvecklare världen över förlitar sig på, vilket skapade panik på internet, men bara under en kort stund, eftersom experter upptäckte det tidigt och angriparna inte kunde stjäla mer än 50 dollar. Så här gick det till!

Vad hände i NPM‑leveranskedjeattacken (Sept 2025)

I den massiva leveranskedjeattacken som ägde rum i JavaScript‑ekosystemet komprometterade hackare en rad npm‑paket med skadlig kod. Målet med attacken var att stjäla digitala tillgångar från intet ont anande användare.

Specifikt blev npm‑kontot för utvecklaren ‘qix’ hackat.

Qix är ett konto för öppen‑källkods‑underhållare som komprometterades genom en phishing‑attack. Detta gjorde det möjligt för angriparna att infektera 18 populära npm‑paket med skadlig kod. Tillsammans laddas dessa paket ner hundratals miljoner gånger varje vecka eftersom de är inbäddade i ramverk, utvecklingsverktyg och produktionsservicet.

De drabbade paketen inkluderar chalk, debug, color-name, wrap-ansi och ansi-styles, som är några av de mest populära, medan mindre populära npm‑paket som påverkades är backslash, chalk-template och has-ansi.

Svep för att scrolla →

Paket Komprometterad version(er) Åtgärd
debug 4.4.2 Fäst till version före 4.4.2; ominstallera; skanna byggloggar
chalk 5.6.1 Fäst till version före 5.6.1; distribuera om ren byggnad
ansi-styles 6.2.2 Fäst till version före 6.2.2; granska nedströms beroenden
ansi-regex 6.2.1 Fäst till version före 6.2.1
strip-ansi 7.1.1 Fäst till version före 7.1.1
wrap-ansi 9.0.1 Fäst till version före 9.0.1
color, color-convert, color-string, color-name 5.0.1 / 3.1.1 / 2.1.1 / 2.0.1 Fäst till de listade versionerna; lås om och bygg om
has-ansi, supports-color, slice-ansi 6.0.1 / 10.2.1 / 7.1.1 Fäst till de listade versionerna
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 Fäst till de listade versionerna
duckdb, @duckdb/node-api, @duckdb/node-bindings, @duckdb/duckdb-wasm 1.3.3 / 1.3.3 / 1.3.3 / 1.29.2 Undvik de listade versionerna; vänta på leverantörsuppdateringar

Alla de paket som påverkades har sedan dess tagits bort av npm‑registret. Genom att kompromettera en högvärdig öppen‑källkods‑underhållare har attacken vapeniserat förtroendet i öppen‑källkods‑ekosystemet (OSS), eftersom utvecklare inte granskar varje beroende de använder. Vad de gör är att förlita sig på deras användning och rykte, samt registryns säkerhet.

Tweet om NPM‑leveranskedjeattack

För att kompromettera paketen tog hackaren phishing‑vägen. Angriparen startade först en phishing‑kampanj för att kapa kontot för en npm‑paketunderhållare, och injicerade sedan sin skadliga kod i npm‑paket innan de laddade upp de komprometterade versionerna.

Utvecklaren Josh Junon var den som föll offer för ett phishing‑mail som var en del av en större kampanj som imiterade npm. Så angriparna använde en phishing‑sida som efterliknade npm:s inloggningssida för att stjäla hans inloggningsuppgifter. Så snart angriparna kom in låste de ut Junon genom att ändra e‑postadressen som var registrerad för Junons npm‑konto.

“Hej, ja jag blev hackad. Förlåt alla, väldigt pinsamt,” skrev Junon på HackerNews och bekräftade händelsen. Han förklarade innan han klargjorde att endast npm påverkades:

“Verkade legitimt vid första anblicken. Jag gör inga ursäkter, hade bara en lång vecka och en panikfylld morgon och försökte bara bocka av något på min att‑göra‑lista. Gjorde misstaget att klicka på länken istället för att gå direkt till webbplatsen.”

Phishing‑mailet kom från support [at] npmjs [dot] help och använde en skrämseltaktik för att få Junon att klicka på länken, som omdirigerade honom till phishing‑sidan.

Genom att låtsas vara från npm bad angriparna honom att uppdatera sina 2FA‑uppgifter och påstod att det var en del av ett “pågående engagemang för kontosäkerhet” och att de begärde detsamma från alla användare.

“Våra register visar att det har gått mer än 12 månader sedan din senaste 2FA‑uppdatering,” skrev phishing‑mailet och tillade att de med “föråldrade 2FA‑uppgifter kommer att låsas tillfälligt från och med 10 september 2025 för att förhindra obehörig åtkomst.”

Det samma mailet användes också för att rikta in sig på andra paketunderhållare och utvecklare.

Med tanke på den breda användningen av de drabbade paketen kunde detta ha blivit en stor incident om det inte hade hanterats så snabbt.

Som Charlie Erickson från Aikido Security noterade i en rapport, undvek otaliga webbplatser allvarlig skada från denna attack, där npm‑paketen innehöll en kodbit som skulle köras på en webbplats klient.

“Denna skadliga kod är i princip en webbläsar‑baserad avlyssnare som kapar både nätverkstrafik och applikations‑API:er,” sade han i sin attackanalys. “Det som gör den farlig är att den opererar på flera lager: den ändrar innehåll som visas på webbplatser, manipulerar API‑anrop och förändrar vad användarnas appar tror att de signerar. Även om gränssnittet ser korrekt ut kan den underliggande transaktionen omdirigeras i bakgrunden.”

Den skadliga koden var utformad för att stjäla kryptovalutor. Angriparen skannar strängar efter kryptoplånboksadresser, vilket utsätter dem som arbetar med kryptorelaterade applikationer för risk.

Skadlig kod verkade tyst i webbläsaren utan att användaren märkte det, omskrev plånboksadresser och omdirigerade medel till konton som kontrolleras av angriparen. Den kapar och manipulerar direkt transaktioner över Bitcoin, Ethereum, Solana, Tron, Litecoin och Bitcoin Cash på ett komprometterat system.

För att göra detta övervakade den skadliga koden webbläsarens API:er, såsom fetch och plånboksgränssnitt som window.ethereum.

Den skadliga koden “avlyssnar tyst kryptovaluta‑ och Web3‑aktivitet i webbläsaren, manipulerar plånboksinteraktioner och omskriver betalningsdestinationer så att medel och godkännanden omdirigeras till angriparkontrollerade konton utan några uppenbara tecken för användaren,” sade Erickson.

När den är klar döljer skadlig kod sina spår samtidigt som den förblir i bakgrunden för att fånga framtida transaktioner på offrets nätverk.

Med tanke på attackens allvar varnade Charles Guillemet, CTO på hårdvaruplånboksleverantören Ledger, kryptoanvändare att vara försiktiga när de bekräftar on‑chain‑transaktioner. De drabbade paketen, han noterade i inlägget, har redan laddats ner över en miljard gånger.

Den storskaliga leveranskedjeattacken, som han delade med communityn, riktar sig mot kryptoplånboksprogramvara med den skadliga nyttolasten “tyst byter kryptoadresser i realtid för att stjäla medel”.

“Om du använder en hårdvaruplånbok, var uppmärksam på varje transaktion innan du signerar och du är säker. Om du inte använder en hårdvaruplånbok, avstå från att göra några on‑chain‑transaktioner för tillfället.”

– Guillemet

Under tiden tog 0xngmi, den pseudonyma grundaren av DefiLlama, en kryptoanalyspplattform, till X för att dela att “det effektiva påverkansområdet är mycket mindre än ‘alla webbplatser'”, eftersom endast de projekt som kan vara i risk är de som uppdaterades efter det skadligt infekterade npm‑paketet publicerades. Ändå, “det är bara säkrare att undvika att använda kryptowebbplatser tills detta lägger sig och de rensar bort de dåliga paketen,” lade han till.

Till slut kunde hackarna bara stjäla kryptovalutor värda 50 dollar från en så massiv leveranskedjeattack. De 50 dollarna omfattar Ether och en rad meme‑mynt som Brett och Andy, bland andra.

Fick bara $50?

 

Dock var det mer tur än något annat eftersom kryptointelligensplattformen Security Alliance noterade på X:

“Det här kunde ha varit mycket värre. En smygande distribuerad bakdörr som riktade sig mot utvecklarmaskiner med fokus på beständighet kunde ha förblivit under radarn i vem vet hur lång tid.”

Sedan dess, många kryptotillämpningar såsom Aave, Uniswap, Ledger, Jupiter, MetaMask, Phantom, Blast, och andra har meddelat sina användare att de är säkra från npm‑attacken.

Även om attacken misslyckades är det en tydlig påminnelse för utvecklare att för maximal säkerhet måste de gå bortom sin egen kodbas. Även mjukvaruberoenden som har varit betrodda och vida använda kan också komprometteras när som helst.

Här måste kodningsplattformar som GitHub och npm också göra mer för att säkerställa säkerheten för brett använda paket.

“Mer populära paket bör kräva attestering att de kommer från pålitlig proveniens och inte bara slumpmässigt från någon plats på internet.”

– Eriksen

En av de bästa sakerna npm kan göra

 

Komprometteringar av kodförråd kan i slutändan vara extremt katastrofala för utvecklare, som kan sluta överge hela sina projekt som ett resultat av en sådan incident.

Incidenten är ett bevis på hur sammankopplat och sårbart dagens mjukvaruekosystem är för exploatering. Ett enda komprometterat konto kan ge angripare enorm räckvidd, vilket gör det kritiskt att implementera förbättrade säkerhetsåtgärder för leveranskedjan i varje steg av utvecklingsprocessen.

Skydda sig mot det snabbt växande hotet från skadlig kod 

Med hotet från skadlig kod på uppgång och de attacker blir mer avancerade och riktade, är det viktigt för användare att vara utbildade och alltid vara vaksamma på alla plattformar.

Skadlig programvara eller malware är faktiskt en av de vanligaste typerna av cyberattacker. Här utvecklar angripare en programkod eller datorprogram med avsikt att få åtkomst eller orsaka skada på offrets dator utan att offret vet att de har blivit komprometterade

Varje år sker miljarder malware‑attacker över hela världen på alla typer av enheter och operativsystem. Genom att använda malware håller cyberkriminella inte bara enheter utan hela företagsnätverk som gisslan.

Genom att få obehörig åtkomst till offrets enheter stjäl angripare digitala tillgångar och känslig data, inklusive inloggningsuppgifter, kreditkortsnummer och annan värdefull information. Malware‑attacker riktar sig i ökande grad mot företag eftersom företag har betydande mängder personlig data, som hackare kan utnyttja för att utpressa stora summor pengar. 

Data visar att majoriteten (59 %) av organisationer drabbades av en sådan attack år 2024. Även mindre företag är inte säkra, med 47 % av dem drabbade av ransomware förra året. Samtidigt steg den genomsnittliga lösenbetalningen med 500 % till 2 miljoner dollar under denna period. 

Den genomsnittliga kostnaden för återhämtning efter en malware‑attack har också stigit till så mycket som 2,73 miljoner dollar. Ett av de största hoten internet för närvarande står inför är malware, som kan anta olika former med det enda syftet att skada datasystem och deras användare.

Virus, ransomware, trojaner, maskar, spionprogram, adware och kryptojacking är alla olika typer av malware. Alla dessa är utformade för att få obehörig åtkomst till ett nätverk eller skada datasystem.

När det gäller grundorsakerna till attacker är den största andelen 32 % att angripare utnyttjar sårbarheter, följt av komprometterade autentiseringsuppgifter (29 %) och sedan skadliga e‑mail (23 %).

Nu, bara hur kan man skydda sig mot detta ständigt närvarande hot? Det första och enklaste steget är att alltid hålla din dator och programvara uppdaterade. Dessutom, det är kritiskt att du inte klickar runt på nästan vad som helst på internet. Speciellt som kryptoanvändare bör man vara misstänksam mot länkar och absolut inte ladda ner något du inte är säker på.

Samma gäller för alla e‑postbilagor. Var försiktig med att öppna misstänkta e‑mail och försök hålla din fildelning till ett minimum. Det är klokt att ha antivirusprogram installerat på din enhet.

Även om det är oundvikligt kan organisationer också förbereda sig mot malware‑attacker genom att stärka sina försvar. De mest enkla sätten att göra detta är att använda starka lösenord, multifaktorautentisering och VPN‑tjänster, vilka individer också kan använda för att skydda sig mer effektivt.

Organisationer måste kontinuerligt övervaka enheter för tecken på misstänkt aktivitet, bedöma eventuella sårbarheter och utföra penetrationstester. Säkerhetskopior av känslig data på enheter som är frikopplade från nätverket hjälper dessutom vid återhämtning efter malware‑attacker.

Anställda behöver utbildas för att upptäcka sådana attacker bättre och svara snabbt genom att ha incidentresponsplaner och veta vem man ska kontakta vid misstanke om ett malware‑hot.

Genom att använda zero‑trust‑nätverksarkitektur kan företag säkerställa att ingen får åtkomst till data eller tillgångar som de inte bör ha. I zero‑trust litar man aldrig på användare och de verifieras alltid.

I dagens hyperdigitala liv, kan dessa metoder hjälpa en att skydda sig själv mot farorna i en alltmer sammankopplad värld.

När det gäller att skydda sig mot skadliga paket gäller de allmänna säkerhetsrekommendationerna för malware också för npm‑attacker, men naturligtvis finns det dessutom specifika försiktighetsåtgärder man bör vidta eftersom ekosystemet är särskilt sårbart på grund av sin öppna natur, omfattande återanvändning av små paket och stora beroendeträd.

För att skydda dig mot detta allvarliga hot måste du alltid dubbelkolla att paketet är pålitligt innan du installerar det. Att verifiera paketets integritet säkerställer att ditt beroendeträd inte har manipulerats. 

När du letar efter tecken på olegitimitet, förutom paketets källa och ägarskap, undersök eventuella förändringar som gjorts av underhållarna. Du kan också vill undersöka vad paketen gör och varför de behövs.

Använd säkerhetsverktyg som kontinuerligt övervakar nya hot och ger handlingsbara råd för att mildra situationen. npm audit‑kontroller kan köras för kända sårbarheter i projektets beroenden. Att implementera automatiska säkerhetsskanningar före distribution säkerställer dessutom att endast granskad och godkänd kod hamnar i produktion.

Nu, för att skydda dig mot den senaste malware‑attacken, behöver du fästa drabbade paket till deras säkraste versioner innan kompromissen via overrides‑funktionen i package.json. 

Kör npm audit eller använd verktyg för programvarusammansättningsanalys (SCA) för att kontrollera drabbade versioner i ditt beroendeträd. Övervaka eventuella indikatorer på kompromettering (IoC) genom att granska dina byggloggar, utvecklingsmiljöer och utgående trafik för misstänkt aktivitet.

Klicka här för en lista över de fem främsta företagen som kämpade tillbaka mot cyberattacker.

Avslutande tankar: Förstärkning av öppen källkods‑beroenden

Hoten på internet ökar ständigt och blir mer sofistikerade. 

Med angripare som vänder sig till nya attackvektorer och riktar sig mot underresurserade projekt, blir det avgörande för utvecklare, företag och användare att inte vänta på att hotet uppträder innan agerar, men att ta proaktiva åtgärder eftersom en svag länk kan fälla ett helt system. 

Det är genom att hålla sig informerad om nya hot och kontinuerligt granska mjukvaruleveranskedjor och övervaka hot som vi verkligen kan skydda oss mot de ständigt föränderliga cyberriskerna.

Klicka här för en lista över de fem främsta offentliga företagen som betalade av cyberangripare.

Gaurav började handla med kryptovalutor 2017 och har sedan dess blivit förälskad i kryptorummet. Hans intresse för allt som rör kryptovalutor förvandlade honom till en skribent som specialiserar sig på kryptovalutor och blockchain. Snart fann han sig själv arbeta med kryptoföretag och mediekanaler. Han är också en stor Batman-entusiast.