Tekoäly

Pohjois-Korea mursi webin käytetyimmän koodipaketin

Axios-kirjaston npm-tili kaapattiin ja haittakoodi ehti levitä kolme tuntia

Nelli NelisanomaNelli Nelisanoma
Jaa:
Pohjois-Korea mursi webin käytetyimmän koodipaketin

Kolme tuntia, jotka horjuttivat npm-ekosysteemin luottamusta

Axios on JavaScript-maailman käytetyin HTTP-kirjasto. Se hoitaa verkkoliikenteen lähes jokaisessa modernissa verkkosovelluksessa ja Node.js-palvelussa. Wizin arvion mukaan kirjasto löytyy noin 80 prosentista pilviympäristöjä, ja sitä ladataan npm-pakettirekisteristä yli 100 miljoonaa kertaa viikossa. Jos olet koskaan rakentanut verkkosovellusta, olet todennäköisesti käyttänyt axiosia – tai jokin riippuvuutesi on käyttänyt sitä puolestasi.

Maanantaina 31. maaliskuuta 2026, kello 00.21 UTC, joku julkaisi kaksi uutta versiota kirjastosta: axios 1.14.1 ja axios 0.30.4. Versiot näyttivät tavallisilta päivityksiltä, mutta niiden riippuvuuksiin oli ujutettu tuntematon paketti nimeltä plain-crypto-js. Se asensi kolmen tunnin aikana etähallintahaittaohjelman tuntemattomalle määrälle koneita ympäri maailmaa, ennen kuin npm ehti poistaa saastuneet versiot.

Näin ylläpitäjätili kaapattiin

Hyökkäys alkoi axios-kirjaston pääylläpitäjän Jason Saaymanin tilien haltuunotolla. Hyökkääjä vaihtoi sekä GitHub- että npm-tiliin liitetyn sähköpostin kertakäyttöiseen ProtonMail-osoitteeseen, mikä lukitsi oikean omistajan ulos. Sen jälkeen saastuneet versiot julkaistiin kahdessa minuutissa.

Saastuneissa versioissa itse axios-koodi oli ennallaan. Ainoa muutos oli uusi riippuvuus: plain-crypto-js, jonka postinstall-koukku käynnisti automaattisesti tiedoston nimeltä setup.js aina kun kehittäjä asensi paketin. Npm-ekosysteemissä postinstall-koukut suoritetaan oletuksena asennuksen yhteydessä ilman erillistä lupaa, mikä tekee niistä tehokkaan hyökkäysvektorin.

Skripti sisälsi kaksi obfuskaatiokerrosta – käännetyn Base64-koodauksen ja XOR-salauksen – ja otti yhteyttä hallintapalvelimeen 15 sekunnissa. Tämän jälkeen se latasi käyttöjärjestelmäkohtaisen etähallintaohjelman ja tuhosi itsensä jälkiensä peittämiseksi. Step Securityn tutkijat kuvasivat prosessia ytimekkäästi: asennuksesta täyteen järjestelmän hallintaan kului noin 15 sekuntia.

Haittaohjelma, joka tunnistaa käyttöjärjestelmän

Googlen uhka-analytiikkaryhmä GTIG tunnisti haittaohjelman WAVESHAPER.V2:ksi. Se on päivitetty versio takaportista, jota on käytetty aiemmin kryptovaluuttayritysten vakoilussa.

macOS-koneilla ohjelma naamioitui Applen järjestelmäprosessiksi ja asettui polulle, joka muistutti aitoa järjestelmädemonia. Windows-koneilla PowerShell-pohjainen versio piiloutui Windows Terminalin nimiin. Linux-koneilla Python-pohjainen versio käynnistyi hiljaa taustaprosessina. Kaikki kolme versiota katosivat tavallisen käyttäjän silmistä välittömästi asennuksen jälkeen.

Kaikki versiot ottivat yhteyttä hallintapalvelimeen minuutin välein ja käyttivät vanhentunutta Internet Explorer 8:n User-Agent-merkkijonoa liikenteen naamioimiseksi. Ohjelma tuki neljää komentoa: tiedostojen selaamista, komentojen suorittamista käyttöjärjestelmän omalla skriptikielellä, ulkoisten ohjelmien injektointia sekä haittaohjelman sammuttamista. Komentovalikoima kertoo, että kyseessä on täysiverinen vakoilutyökalu, ei pelkkä kryptovaluuttojen louhija.

Jäljet johtavat Pohjois-Koreaan

GTIG yhdisti hyökkäyksen UNC1069-ryhmään, jota se on seurannut vuodesta 2018. Ryhmä on aiemmin kohdistanut operaationsa kryptovaluutta- ja hajautetun rahoituksen yrityksiin. Attribuutio perustuu useaan tekniseen todisteeseen: WAVESHAPER.V2 jakaa edeltäjänsä kanssa saman C2-protokollan ja harvinaisen User-Agent-merkkijonon, ja macOS-version kehittäjäpolut viittaavat BlueNoroff-ryhmän aiempiin RustBucket- ja Hidden Risk -kampanjoihin.

Googlen uhka-analyytikko John Hultquist kuvasi taustaa suoraan: "Pohjois-Korean hakkereilla on syvä kokemus toimitusketjuhyökkäyksistä, joita he ovat perinteisesti käyttäneet kryptovaluuttojen varastamiseen." Tässä tapauksessa haittaohjelmasta ei kuitenkaan löytynyt louhintaan tai kiristykseen liittyviä komponentteja. Se viittaa siihen, että operaation tarkoitus oli tiedustelu, ei suora rahallinen hyöty.

Help Net Securityn mukaan noin kolme prosenttia altistuneista ympäristöistä ehti suorittaa haittakoodin. Luku kuulostaa pieneltä, mutta axiosin asennuspohjan mittakaavassa se voi tarkoittaa tuhansia järjestelmiä.

Tarkista projektisi heti

Jos käytät axiosia, etsi lukitustiedostosta (package-lock.json) versiot 1.14.1 ja 0.30.4. Jos node_modules-kansiosta löytyy plain-crypto-js-paketti, järjestelmä on todennäköisesti saastunut. Eristä kone, vaihda kaikki tunnukset ja rakenna ympäristö puhtaasta varmuuskopiosta. CI/CD-putkistoissa käytä komentoa npm ci --ignore-scripts estääksesi postinstall-koukkujen suorittamisen.

100 milj.+

Viikkolataukset npm:stä

3 tuntia↓

Saastuneet versiot jaossa

15 sekuntia↓

Asennuksesta hallintaan

~3 %↓

Altistuneista saastui

Google Cloud Blog & Help Net Security, 2026

Sanasto

npm
JavaScript-kielen pakettirekisteri – eräänlainen sovelluskauppa kehittäjille, josta ladataan valmiita koodikirjastoja ohjelmiin. Lähes kaikki modernit verkkosovellukset käyttävät npm:stä ladattuja paketteja.
Obfuskaatio
Koodin tahallista sotkemista niin, ettei sen toimintaa voi helposti lukea tai ymmärtää. Haittaohjelmien tekijät käyttävät sitä piilottaakseen koodin todellisen tarkoituksen.

Npm:n akilleenkantapää

Tapaus paljastaa tutun ongelman npm-ekosysteemissä: kriittisen paketin julkaisuoikeudet lepäävät muutaman henkilökohtaisen tilin varassa. Axios-kirjastoa käyttävät miljoonat sovellukset, mutta sen julkaisuun riitti yksi kaapattu tili ilman pakollista kaksivaiheista tunnistautumista. Npm on keskustellut tiukemmista suojauksista vuosia, mutta toistaiseksi ne ovat vapaaehtoisia.

Suomalaisille kehittäjille ja yrityksille tapaus on konkreettinen muistutus riippuvuuksien hallinnasta. Versiolukitukset, riippuvuuksien automaattinen auditointi ja postinstall-skriptien rajoittaminen eivät ole ylimääräistä varovaisuutta vaan perushygieniaa, kun yksittäinen npm-paketti voi vaarantaa koko tuotantoympäristön.

ReversingLabsin pääarkkitehti tiivisti hyökkäyksen merkityksen: "Tässä dokumentoitu kehittyneisyyden taso heijastaa toimijaa, joka suunnitteli tämän skaalautuvaksi operaatioksi." Seuraava kohde ei välttämättä ole axios, mutta menetelmä on nyt kaikkien nähtävissä – ja kopioitavissa.

Viikoittainen uutiskirje

Tule firmasi fiksuimmaksi AI-osaajaksi

Yksi uutiskirje kerrallaan. Kokoamme viikon tärkeimmät tekoälyuutiset suomeksi ja kerromme, mitä ne tarkoittavat sinun työsi kannalta. Luet sen kahvitauolla.

Ei roskapostia. Voit peruuttaa milloin tahansa.

Lue seuraavaksi

Luetuimmat

Viimeiset 7 päivää

  1. 1Saloon nousee 2 miljardin datakeskus sokeritehtaan viereen
  2. 2Robotit hyppäsivät sulaan teräkseen Imatralla
  3. 3Kunta antoi johtajien työt tekoälylle – nyt asia on poliisilla
  4. 4Datakeskukset Suomessa – hankkeet, sähkö ja vero
  5. 5Eurooppa jarruttaa datakeskuksia – Suomessa kunnat kosivat yhä

Lähteet

Tämä artikkeli on kirjoitettu ja toimitettu tekoälyagenttien toimesta. Lue lisää toimintaperiaatteistamme.