En kritisk attack i leverantörskedjan har drabbat det välanvända JavaScript-biblioteket Axios efter att den primära underhållarens npm-konto har äventyrats. Hotaktörer använde det kapade kontot för att publicera två skadliga versioner, axios@1.14.1 och axios@0.30.4, som introducerade ett oseriöst beroende (plain-crypto-js@4.2.1). Detta beroende var inte en del av den legitima Axios-kodbasen och existerade enbart för att köra ett postinstallationsskript som distribuerade en plattformsoberoende Remote Access Trojan (RAT).
Attacken var mycket samordnad. Det skadliga beroendet iscensattes i förväg och injicerades senare i både den nuvarande och den äldre Axios-versionens grenar inom en kort tidsram, vilket maximerade effekten. Eftersom den skadliga koden finns i ett transitivt beroende snarare än i Axios självt, skulle traditionell kodgranskning eller diff-baserad detektering sannolikt misslyckas med att identifiera kompromissen. Dessutom är den skadliga koden utformad för att ta bort sig själv efter körning och ersätta bevis i paketkatalogen, vilket avsevärt komplicerar kriminalteknisk analys.
När dropperskriptet har installerats kontaktar det en kommando- och kontrollserver (sfrclak[.]com) och hämtar en andrastegs nyttolast som är skräddarsydd för operativsystemet. På macOS används en binär fil förklädd till en systemcache-daemon, på Windows används PowerShell via en förklädd binär fil och på Linux används en Python-baserad bakdörr. Dessa nyttolaster möjliggör fjärrkommandoexekvering, exfiltrering av data och ytterligare leverans av nyttolast. Även om den skadliga programvaran inte verkar etablera uthållighet som standard, gör dess kapacitet det möjligt för angripare att snabbt eskalera åtkomst eller distribuera ytterligare mekanismer.
På grund av droppens självutplånande natur kräver identifiering av kompromisser en kombination av beroendeanalys, inspektion av systemartefakter och loggranskning. Organisationer bör undersöka installerade paket och låsfiler för de berörda Axios-versionerna, verifiera om katalogen plain-crypto-js finns eller fanns och kontrollera slutpunkter för indikatorer som /Library/Caches/com.apple.act.mond, %PROGRAMDATA%\wt.exe eller /tmp/ld.py. Nätverksloggar bör också granskas för kommunikation med den kända infrastrukturen för kommando- och kontrollfunktioner. Alla bekräftade indikatorer bör behandlas som bevis på att hela systemet har äventyrats.
Om din miljö har installerat någon av de skadliga Axios-versionerna, bör du anta kompromettering och svara i enlighet därmed. System bör inte rengöras på plats, eftersom den fulla omfattningen av angriparens aktivitet inte kan fastställas på ett tillförlitligt sätt. Istället måste berörda maskiner byggas om från en betrodd, känd baslinje för att säkerställa fullständig utrotning av alla skadliga komponenter.
Alla autentiseringsuppgifter som kan ha exponerats på de drabbade systemen måste roteras omedelbart. Detta inkluderar npm-tokens, inloggningsuppgifter till molnleverantörer, SSH-nycklar, API-nycklar, miljövariabler och alla hemligheter som används inom CI/CD-pipelines. Särskild uppmärksamhet bör ägnas åt byggsystem och automatiseringsrörledningar, eftersom dessa ofta har tillgång till mycket känsliga referenser och kan ha exekverat det skadliga paketet under rutinmässiga byggen.
Som en del av inneslutningen bör organisationer blockera utgående kommunikation till den identifierade kommando- och kontrolldomänen och tillhörande IP-adresser. Säkerhetsteam bör också granska loggar för misstänkta utgående anslutningar, ovanlig processexekvering eller tecken på dataexfiltrering under den tidsram då de skadliga paketen var tillgängliga.
För återställning bör Axios nedgraderas till en känd säker version som 1.14.0 eller 0.30.3, och det skadliga beroendet bör tas bort om det finns. Beroenden bör sedan återinstalleras med säkrare metoder, till exempel genom att inaktivera livscykelskript där så är möjligt. CI/CD-pipelines bör anta säkra standardinställningar som npm ci --ignore-scripts för att minska risken för att liknande attacker körs automatiskt i framtiden.
På längre sikt bör organisationer stärka sin säkerhetsställning i programvaruförsörjningskedjan. Detta inkluderar att genomdriva strikt beroenderegistrering, granska både direkta och transitiva beroenden samt implementera verktyg som kan upptäcka skadliga paket i realtid. Att minska den implicita tilliten till paketregister och underhållare är avgörande, eftersom den här incidenten visar hur ett enda komprometterat konto kan få kaskadeffekter i tusentals applikationer i efterföljande led.
Denna attack understryker den växande sofistikeringen av hot mot leveranskedjan inom ekosystemet för öppen källkod. Genom att utnyttja betrodda distributionskanaler kan angripare uppnå omfattande åtkomst med minimal ansträngning, vilket gör proaktiv övervakning, snabb respons och djupförsvar till viktiga komponenter i en modern cybersäkerhetsstrategi.
Om du är orolig för något av de hot som beskrivs i den här bulletinen eller behöver hjälp med att avgöra vilka åtgärder du bör vidta för att skydda dig mot de mest väsentliga hoten mot din organisation, kontakta din kundansvarige, alternativt hör av dig för att ta redapå hur du kan skydda din organisation.