Axios bajo fuego: así se gestó el ataque a la cadena de suministro en npm

Viimeisin päivitys: 04/01/2026
Kirjoittaja: C SourceTrail
  • Haitalliset Axios-julkaisut npm:lle lisäsivät piilotetun riippuvuuden, joka otti käyttöön monialustaisen etäkäyttötroijalaisen asennuksen aikana.
  • Hyökkääjät käyttivät hyväkseen vaarantunutta ylläpitäjätiliä ja vanhoja npm-tokeneja julkaistakseen axios@1.14.1-, axios@0.30.4- ja plain-crypto-js@4.2.1-osoitteita.
  • RAT pystyi vuotamaan salaisuuksia, käyttämään arkistoja ja pilviympäristöjä, ja IOC-tiedostoihin kuuluivat muun muassa sfrclak.com, 142.11.206.73 ja tietyt tiedostojärjestelmäartefaktit.
  • Tietoturvatiimit kehottavat kehittäjiä tarkastamaan lukitustiedostot, kierrättämään tunnistetietoja, vahvistamaan toimitusketjun työnkulkuja ja käsittelemään tartunnan saaneita koneita täysin vaarantuneina.

Axiosin toimitusketjuhyökkäyksen kuva

Muutaman jännittyneen tunnin ajan yksi planeetan käytetyimmistä JavaScript-kirjastoista, Axios, muuttui odottamattomaksi haittaohjelmien leviämiskanavaksi. Kohdennettu toimitusketjun hyökkäys NPM-ekosysteemiä vastaan muutti rutiininomaisen riippuvuuspäivityksen mahdolliseksi takaportiksi hyökkääjille sadoilla tuhansilla kehittäjäkoneilla ja koontijärjestelmillä.

Useiden tietoturvayritysten ja Googlen Threat Intelligence Groupin tutkijat saivat selville, miten ilkeämielinen toimija livahti etäkäyttötroijalainen (RAT) tiettyihin Axios-julkaisuihin npm:llä, samalla tavalla kuin npm-toimitusketjun mato.

Mikä Axios on ja miksi kompromissi on niin tärkeä

Pohjimmiltaan Axios on Promise-pohjainen HTTP-asiakasohjelma Node.js:lle ja selaimilleSe on mukana lukemattomissa projekteissa kulissien takana ja hoitaa jokapäiväisiä tehtäviä, kuten "nouda viestini palvelimelta" tai "lähetä tämä lomake API:lle" ilman, että kehittäjien tarvitsee kirjoittaa matalan tason verkkokoodia käsin.

Koska Axios toimii sekä selaimessa että Node.js-palvelimilla, siitä on tullut perustavanlaatuinen riippuvuus nykyaikaisissa JavaScript-pinoissaEt ehkä ole koskaan asentanut sitä eksplisiittisesti, mutta silti luotat siihen epäsuorasti, kun:

  • Käytä web-sovelluksia, jotka on rakennettu Reactin, Vuen tai Angularin kaltaisilla kehyksillä ja jotka käärivät API-kutsunsa Axios-järjestelmään.
  • Suorita työpöytä- tai mobiilisovelluksia, jotka on rakennettu teknologioilla, kuten Electron, React Native ja vastaavat verkkopohjaiset suoritusympäristöt.
  • Käytä pienempiä SaaS-työkaluja, järjestelmänvalvojan kojelaudtoja tai itse isännöityjä palveluita, joiden kehittäjät valitsivat Axiosin HTTP-pyyntöihin.

Siinä mielessä Axios on vähän kuin putkityöt talossasiHarvoin ajattelet sitä, mutta se kuljettaa dataa "vedenä" sovelluksesi ja ulkomaailman välillä. Huomaat sen vasta, kun tapahtuu vuoto – juuri sen, minkä tämä hyökkäys loi, mutta ohjelmistoekosysteemin mittakaavassa.

Näin Axiosin npm-hyökkäys eteni

Tapaus keskittyy kahteen npm-julkaisuun: axios@1.14.1 ja axios@0.30.4Hyökkääjät onnistuivat julkaisemaan yhden projektin pääylläpitäjien vaarantuneita tunnuksia käyttäen haitalliset versiot suoraan npm:lle jättäen julkisen GitHub-lähdekoodin koskemattomaksi, kuvio, joka on kuvattu myös kohdassa Shai-Huludin analyysi.

Sen sijaan, että hyökkääjä olisi muuttanut näkyvästi Axiosin koodia, hän lisäsi uuden, näennäisesti asiaan liittymättömän riippuvuuden: plain-crypto-js@4.2.1Tämä paketti on laadittu erityisesti tätä operaatiota varten ja ei tuotu mihinkään Axiosin lähdetiedostoihin, varoitusmerkki kenelle tahansa, joka tutkii eroavaisuuksia – mutta se on helppo jättää huomiotta automatisoiduissa työnkuluissa, jotka yksinkertaisesti luottavat rekisteriin.

Yhdessä kahdella saastuneella Axios-versiolla oli valtava potentiaalinen jalanjälki, joka ulottui jopa noin 100 miljoonaa viikoittaista latausta npm:ssäAxiosin arvioidaan olevan läsnä lähes 80 prosentissa pilviympäristöistä ja CI/CD-putkista, joten jo lyhytaikainen altistuminen sille edusti vakavaa systeemiriskiä.

Ratkaisevasti kyseiset versiot eivät koskaan ilmestyneet viralliset GitHub-tunnisteet Axios-projektille. Tämä yksityiskohta viittaa vahvasti siihen, että normaalit julkaisuprosessit ohitettiin: hyökkääjä käytti varastettua npm-tokenia lähettääkseen paketteja suoraan rekisteriin julkisen lähdekoodin historian ulkopuolelta.

Haitallisen riippuvuuden ja RAT:n mekaniikka

Kompromissin ydin on siinä, mitä tapahtui asennuksen aikana. Kaikki työnkulut, jotka suoritettiin npm install ja veti sisään axios@1.14.1, axios@0.30.4 or plain-crypto-js@4.2.1 skriptien ollessa käytössä, ne laukaisivat piilotetun asennuksen jälkeisen rutiinin.

Haitallisen riippuvuuden sisällä a asennuksen jälkeinen komentosarja (node ​​setup.js) suoritettiin automaattisesti. Tuo komentosarja latasi hämärretyn dropperin, joka sitten haki alustakohtaisen RAT-hyötykuorman, joka oli räätälöity macOS, Windows tai LinuxRAT myönsi hyökkääjälle interaktiivisen etäyhteyden vaarantuneeseen koneeseen.

Aktivoituaan tämä etäkäyttötroijalainen voi luetteloida järjestelmän, kerätä salaisuuksia ja suorittaa mielivaltaisia ​​komentoja. pilvi-API-avaimet, CI-käyttöönottotunnukset, npm-todennustunnukset, SSH-avaimet, tietovaraston käyttötunnukset ja muut arkaluontoiset ympäristömuuttujat yleensä injektoidaan rakennusagentteihin tai kehittäjien kannettaviin tietokoneisiin.

Siitä eteenpäin hyökkääjät voisivat siirtyä uuteen suuntaan: tarkistaa lähdekoodia, peukaloida tulevia julkaisuja, lisätä takaportteja tai siirtyä sivusuunnassa tuotantoinfrastruktuuriin. Kryptovaluuttoihin liittyvien projektien – lompakoiden, pörssien ja DeFi-käyttöliittymien – parissa työskenteleville kehittäjille tämäntyyppinen pääsy voisi kääntyä suoraan… kryptovaluuttavarkaus tai laajempi talouspetos.

Hiiviskelytaktiikat: miksi kompromissia oli vaikea havaita

Haittaohjelmien tekijät näkivät paljon vaivaa pitääkseen jalanjälkensä mahdollisimman pienenä ja lyhytaikaisena. Tutkijoiden mukaan dropper siivosi jälkensä heti teloituksen jälkeen.

Se tarkoittaa, että jos tutkit node_modules/plain-crypto-js/package.json jälkeen tartunnan, näkisit täysin vaarattoman manifestin: ei asennuksen jälkeistä komentosarjaa, ei setup.js, ei selviä merkkejä vilpistä. Vakiotyökalut, kuten npm audit tai pikainen manuaalinen hakemistotarkistus ei paljastaisi, mitä oli jo tapahtunut.

Käytännössä tämä johti siihen, että tutkijat luottivat ulkoisiin lähteisiin. kompromissin indikaattorit (IOC), verkon telemetriaa ja isäntäartefaktoja npm-paketin sisällön yksinkertaisten staattisten skannausten sijaan. Hyökkäyksen tullessa julkiseksi haitalliset versiot oli jo poistettu npm:stä, mikä vaikeutti entisestään tarkan suoritusvirran rekonstruointia.

Axios-tapauksen keskeiset kompromittointiin viittaavat indikaattorit

Vaikka haittaohjelma yritti peitellä jälkensä, tietoturvatiimit ovat jakaneet konkreettisia IOC-tietoja, jotka voivat auttaa määrittämään, onko ympäristöön kohdistunut haittaohjelmia. Tärkeimpiä ovat seuraavat:

On verkon puolella, etsi viestintää seuraavien kanssa:

  • Domain: sfrclakcom
  • IP-osoite: 142.11.206.73

Molemmat indikaattorit ovat valtavirran tietoturvatoimittajien estämiä, mutta ne ovat edelleen hyödyllisiä merkkejä historiallisissa lokitiedoissa ja SIEM-hauissa.

On tiedostojärjestelmätutkijat korostivat RAT:iin liittyviä artefakteja:

  • MacOS: /Library/Caches/com.apple.act.mond
  • Linux: /tmp/ld.py
  • Windows: tiedostot kohdassa %PROGRAMDATA%\wt ja väliaikaisia ​​skriptejä, kuten %TEMP%\6202033.vbs or .ps1 joka voi olla olemassa vain lyhyen aikaa suorituksen aikana

Npm-pakettien osalta vaarantuneet koontiversiot ja niiden tunnetut tarkistussummat ovat:

  • axios@1.14.1, SHA-256: 2553649f2322049666871cea80a5d0d6adc700ca
  • axios@0.30.4, SHA-256: d6f3f62fd3b9f5432f5782b62d8cfd5247d5ee71
  • plain-crypto-js@4.2.1, SHA-256: 07d889e2dadce6f3910dcbc253317d28ca61c766

Turvallisuusyritykset, kuten Huntress, havaitsivat ainakin 135 järjestelmää ottaa yhteyttä hyökkääjän komento- ja hallintapalvelimeen suhteellisen lyhyen altistusikkunan aikana, ja Googlen tutkijat varoittivat, että "satojatuhansia" salaisuuksia on lopulta saattanut joutua alttiiksi tämän seurauksena.

Kuka oli iskun takana? Yhteys Pohjois-Koreaan ja sen taustalla olevat tekijät

Googlen uhkatiedusteluryhmä on julkisesti yhdistänyt Axios-tietoturvaongelman johonkin... epäilty pohjoiskorealainen uhkatoimija jäljitetty nimellä UNC1069. John Hultquist, Googlen uhkayksikön pääanalyytikko, huomautti, että pohjoiskorealaisilla operaattoreilla on pitkä historia toimitusketjuhyökkäykset, joiden tarkoituksena on varastaa kryptovaluuttaa ja muut varat.

Googlen ja muiden tietoturvatoimittajien mukaan Axios-tapaus näyttää olevan osa pohjoiskorealaisten ryhmien, mukaan lukien Lazaruksen kaltaisten tahojen, laajempaa kampanjaa, joka keskittyy kiristys, taloudelliset varkaudet ja tietojen vuotaminen kohdistuen esimerkiksi krypto-, fintech- ja pilvi-infrastruktuurialoihin.

Vaikka täysi vaikutus on vielä epäselvä, erittäin suositun paketin, kehittäjäympäristöjen käytön ja varastettujen tietojen luonteen yhdistelmä antaa analyytikoille aiheen odottaa jatkohyökkäykset toimitusketjujen lisämurtojen, kiristysohjelmien ja suorien kryptovarkauksien muodossa.

Kuinka ylläpitäjätiliä ja npm-työnkulkua väärinkäytettiin

Yksi avoimen lähdekoodin yhteisön kannalta huolestuttavimmista näkökohdista on se, miten hyökkääjät onnistuivat julkaisemaan haitallisia Axios-versioita koskematta julkiseen koodikantaan. Ratkaiseva tekijä oli npm:n ylläpitäjätili on vaarantunut, jonka uskotaan kuuluvan Axiosin ensisijaiselle ylläpitäjälle nimeltä jasonsaayman.

Hyökkääjien kerrotaan vaihtaneen kyseiseen npm-tiliin liittyvän sähköpostiosoitteen hallitsemaansa osoitteeseen. Tällä toimenpiteellä he voisivat lukitse laillinen ylläpitäjä ja julkaista uusia pakettiversioita ikään kuin ne olisivat aitoja päivityksiä, samalla kun virallinen GitHub-arkisto pysyy puhtaana.

Operaatio valotti myös npm:n rakenteellista ongelmaa: tukea vanhat todennustunnukset, ja tarve toimitusketjun hallintatyökalut ja tiukempia token-käytäntöjä.

Tässä tapauksessa tietoturvatutkijat huomauttivat, että npm edelleen oletusarvoisesti vanhaa tunnusta julkaisemista varten, eikä mikään hallinta automaattisesti peruuttanut kyseistä tunnusta, kun nykyaikaisemmat julkaisumenetelmät oli konfiguroitu. Tämä rinnakkaiselo loi haavoittuvan sivuoven, jota UNC1069 saattoi hyödyntää.

Altistumisikkuna ja varhainen havaitseminen

Axiosin tietomurto ei ollut pitkä ja hidas prosessi. Tutkimukset viittaavat siihen, että haitalliset versiot olivat saatavilla npm:ssä noin kolmen tunnin ajan myöhäisen sunnuntai-illan ja maanantai- tai tiistain aamuyön välillä aikavyöhykkeestä riippuen.

StepSecurity ja muut yritykset totesivat, että hyökkääjä oli kylvänyt ekosysteemiin haitallisen riippuvuuden puhdas versio noin 18 tuntia aiemmin aseistetun variantin liittäminen Axiokseen. Tämä liike näyttää olleen suunniteltu luomaan paketille hyvänlaatuinen historia ja välttämään automaattisten poikkeamailmaisimien laukeamisen, kun riippuvuus yhtäkkiä ilmeni.

Kun tartunnan saaneet Axios-julkaisut julkaistiin, troijalainen suoritti laajan tiedustelun jokaisessa järjestelmässä, jossa se suoritti toimintaansa: hakemistojen skannaus, käynnissä olevien prosessien listaus, levyjen luettelointi ja sitten lähettämällä tiedot takaisin hyökkääjän palvelimelle. Kaikki tämä tapahtui kulissien takana aikana, joka kehittäjien mielestä näytti rutiininomaiselta riippuvuusasennukselta.

Ylläpitäjän, npm:n ja useiden tietoturvatoimittajien koordinoidun toiminnan ansiosta haitalliset versiot poistettiin muutamassa tunnissa. Silti, kuten useat tutkijat ja Googlen oma tiimi korostivat, Lyhyt altistumisikkuna ei ole sama asia kuin matala riski kun kohteena on kirjasto, jolla on kymmeniä miljoonia viikoittaisia ​​latauksia.

Vaikutus kehittäjiin, kryptoprojekteihin ja loppukäyttäjiin

Käytännön näkökulmasta Axios-tapauksen suorimpia uhreja ovat kehittäjät ja rakennusympäristöt joka asensi haitalliset versiot. Jokaisen, joka on suorittanut asennuksen tai koontiversion, joka veti sisään axios@1.14.1:n, axios@0.30.4:n tai plain-crypto-js@4.2.1:n skriptit käytössä, on oletettava, että järjestelmä voi olla täysin vaarantunut.

Kryptovaluutta-alan projekteissa – lompakoissa, keskitetyissä ja hajautetuissa pörsseissä, DeFi-kojelaudoissa, kaupankäyntiboteissa ja Web3-käyttöliittymissä – panokset ovat erityisen korkeat. Monet näistä järjestelmistä luottaa Axiosiin lohkoketjuyhdyskäytävien, API-rajapintojen ja taustapalveluiden kanssa kommunikoinnissa, ja ne hallitsevat usein arkaluontoisia salaisuuksia, kuten yksityisiä avaimia, API-tunnuksia ja käyttäjätietoja.

Jos tällaisen projektin kehittäjätyöasema tai CI-agentti sai tartunnan, hyökkääjät olisivat voineet saada haltuunsa paitsi paikallisesti tallennetut salaisuudet myös pääsy repositioihin ja käyttöönottoputkiinSen avulla he saattavat lisätä haitallista koodia tuleviin julkaisuihin, vaarantaa loppukäyttäjiä epäsuorasti tai ohjata varoja uudelleen.

Sitä vastoin käyttäjät, jotka yksinkertaisesti ajavat valmiita sovelluksia selaimessaan, ovat paremmassa asemassa: RAT toimitettiin aikana asennus- ja rakennusvaiheet, ei selaimen suorituksen aikana. Joten sivuston vierailu, joka käyttää Axiosia asiakaspuolen kutsuihin, ei itsessään laukaise hyökkäystä. Riski keskittyy niihin, jotka asensivat kyseiset npm-paketit.

Kehittäjien tulisi välittömästi ryhtyä toimiin

Tietoturvatiimit ja ylläpitäjät ovat olleet selkeitä: jos on pienikin mahdollisuus, että järjestelmiinne on ladattu vaarantuneet Axios- tai plain-crypto-js-julkaisut, kohdelkaa näitä isäntiä samalla tavalla kuin täysin epäluotettava, kunnes tutkittuSe tarkoittaa enemmän kuin vain versionumeron kasvattamista.

Tutkijoiden ja toimittajien suosittelemia konkreettisia toimia ovat:

  • Tarkasta riippuvuutesi ja lukitustiedostosi: Etsi axios@1.14.1, axios@0.30.4 ja plain-crypto-js@4.2.1 in package-lock.json, pnpm-lock.yaml, yarn.lock ja CI-lokit; katso miten ne korjataan turvallisesti.
  • Päivitä varmennettuihin turvallisiin versioihin: Siirry puhtaisiin Axios-julkaisuihin (esimerkiksi ylläpitäjien suosittelemiin välittömästi seuraaviin korjattuihin tageihin) ja varmista, että lukitustiedostosi luodaan uudelleen.
  • Kierrätä tunnistetietoja aggressiivisesti: Oleta, että kaikki kyseisillä koneilla tai putkilla olevat salaisuudet – pilvi-API-avaimet, npm-tokenit, SSH-avaimet, käyttöönottoavaimet, .env-muuttujat – on saatettu varastaa, ja kierrätä niitä.
  • Rakenna vaarantuneet järjestelmät uudelleen: Ota mahdollisuuksien mukaan uudelleen käyttöön koontiagentit, CI-ajoprosesseja ja kehittäjätyöasemia luotettavista levykuvista sen sijaan, että yrittäisit puhdistaa niitä paikallisesti.
  • Lohkon C2 infrastruktuuri: Lisää sfrclak.com ja 142.11.206.73 palomuureihin, DNS-estolistoihin ja EDR-sääntöihin.
  • Esineiden metsästys: Tarkista RAT-tiedostojärjestelmään liittyvät tiedostojärjestelmäpolut ja väliaikaistiedostot macOS-, Windows- ja Linux-isäntäkoneilla.

Useat tietoturvayritykset ovat neuvoneet saastuneita versioita asentaneita organisaatioita olettaa oletusarvoisesti vaarantumisenToisin sanoen, oleta, että hyökkääjillä oli pääsy, ja työskentele järjestelmällisesti läpi tapauksiin reagoinnin vaiheet sen sijaan, että toivoisit haittaohjelman tekevän mitään.

Laajempia opetuksia ohjelmistojen toimitusketjun turvallisuudesta

Välittömän trialin lisäksi Axios-tapaus on herättänyt uudelleen keskustelua siitä, miten laajempi ekosysteemi käsittelee luottamusta, identiteettiä ja jakelua avoimen lähdekoodin tuotteissa. Se havainnollistaa, miten yhden kirjaston ylläpitäjän tili voi olla lukemattomien organisaatioiden tietoturvan kulmakivi.

Ruumiinavauksissa ja toimittajien analyyseissä on noussut esiin useita teemoja:

  • Perintötokenit ovat vastuullisia: Vanhat npm-tokenit voivat säilyä hiljaisesti uudempien OIDC-pohjaisten työnkulkujen rinnalla. Projektit tarvitsevat eksplisiittisiä käytäntöjä niiden peruuttamiseksi, kun turvallisemmat menetelmät ovat käytössä.
  • Automaattiset päivitykset toimivat molempiin suuntiin: Automaattiset riippuvuussuhteiden korjauskertoimet nopeuttavat kehitystä, mutta tarkoittavat myös sitä, että haitallinen julkaisu voi levitä ekosysteemeissä ennen kuin kukaan huomaa sitä.
  • Riippuvuuksien skannaus on välttämätöntä, mutta ei riittävää: Staattiset tarkastukset ja npm audit ovat hyödyllisiä, mutta ne kamppailevat niitä vastaan lyhytaikainen käyttäytyminen kuten itsensä poistavat asennuksen jälkeiset skriptit.
  • Ylläpitäjän turvallisuus on kriittinen infrastruktuuri: Vahva monitunnistus (MFA), laitteiston suojausavaimet, käyttöoikeustunnusten huolellinen käsittely ja säännöllinen tarkistus siitä, kuka voi julkaista, ovat nyt yhtä tärkeitä kuin hyvän koodin kirjoittaminen.

Axiosin kompromissi muistuttaa perustajia, teknologiajohtajia ja insinöörijohtajia siitä, että toimitusketjun riski on strateginen kysymys, ei pelkästään tekninen. Se vaikuttaa siihen, kuinka nopeasti voit toimittaa, miten suunnittelet CI/CD-putkesi ja miten tasapainotat avoimen lähdekoodin kätevyyden ja tarpeen varmistaa, mitä tuotannossa ajetaan.

Yhteenvetona voidaan todeta, että Axiosin npm-kompromitointi osoittaa, kuinka lyhytikäinen mutta hyvin suunniteltu hyökkäys voi muuttaa JavaScript-ekosysteemin luotettavan rakennuspalikan etäkäyttöhaittaohjelmien huomaamattomaksi kanavaksi. Hyökkääjien kohdistaessa hyökkäyksensä yhtä lailla ylläpitäjiin ja jakelukanaviin kuin loppukäyttäjiinkin, ohjelmistojen toimitusketjujen terveenä pitäminen riippuu nyt tiukemmasta julkaisutyönkulkujen valvonnasta, aggressiivisesta poikkeavuuksien seurannasta ja halukkuudesta käsitellä riippuvuuksia samalla skeptisyydellä, joka aiemmin koski vain ulkoista verkkoliikennettä.

npm:n turvallisuusauditorio
Aiheeseen liittyvä artikkeli:
Syvällinen opas npm-tietoturva-auditointiin ja toimitusketjuhyökkäyksiin
Related viestiä: