
Shai-Hulud-mato saastutti 16 miljoonan viikkolatauksen npm-paketteja – Traficom varoittaa Suomessa
- TeamPCP-ryhmä julkaisi yön aikana 637 haitallista pakettiversiota 323 npm-paketissa, joiden yhteenlasketut viikkolataukset ylittävät 16 miljoonaa.
- Haittaohjelmaan on rakennettu kuolleen miehen kytkin, joka pyyhkii kehittäjän koneen kotihakemiston, jos varastettu tunnus peruutetaan.
- Traficom julkaisi suomenkielisen toimenpideohjeen ja Binancen entinen toimitusjohtaja Changpeng Zhao kehotti kryptokehittäjiä kierrättämään API-avaimensa.
Hyökkääjä ei murtautunut sisään perinteisellä tavalla vaan kaappasi GitHub Actions -putket ja työnsi 637 saastunutta pakettiversiota npm-rekisteriin parin tunnin sisällä. Suomalainen Kyberturvallisuuskeskus julkaisi saman päivän iltaan mennessä oman toimintaohjeensa.
Yön aikana 19. toukokuuta noin kello kahden tienoissa Suomen aikaa npm-rekisteriin alkoi virrata haitallisia paketteja TeamPCP-nimisen ryhmän julkaisemana. Kahdenkymmenen minuutin sisällä ilmestyi kahdessa aallossa 637 saastunutta pakettiversiota 323 npm-paketissa. Tietoturvayhtiö Snyk havaitsi tapahtumat noin neljäkymmentä minuuttia myöhemmin.
Hyökkäyksen kohteena oli npm-ylläpitäjätili atool, jonka kautta julkaistaan 547 pakettia. Yli 300 niistä saastutettiin.
Suurin osuma viikkolatausten mukaan oli size-sensor noin 4,2 miljoonalla latauksella viikossa, perässä echarts-for-react, @antv/scale ja timeago.js. Yhteenlasketut viikkolataukset ylittävät 16 miljoonaa.
Sama kampanja iski samaan aikaan Pythonin puolelle. Microsoftin Azure Durable Functions -SDK durabletask sai kolme haitallista versiota ennen kuin paketti merkittiin haitalliseksi: 1.4.1, 1.4.2 ja 1.4.3. Kehittäjille suositellaan toistaiseksi version 1.4.0 kiinnittämistä.
Tunnus, joka pyyhkii koneen, jos sitä yrittää peruuttaa
Tekninen toteutus poikkeaa tavanomaisesta tunnusvarkaudesta. Saastunut paketti lataa preinstall-hookilla noin 498 kilotavun obfuskoidun Bun-paketin. Se haravoi yli sata hakemistopolkua AWS-, Azure-, GCP-, Vault-, SSH- ja kryptolompakkotunnusten varalta sekä lukee käynnissä olevan GitHub Actions -runnerin muistia. Haittaohjelma jää pysyväksi ujuttamalla skripti Claude Code-, VS Code- ja käyttöjärjestelmäpalveluihin.
Hyökkääjä luo prosessin aikana uuden npm-tunnuksen, jonka kuvauskenttä lukee tasan IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner. Kyseessä on kuolleen miehen kytkin: tunnus kyselee api.github.com/user-rajapintaa kuudenkymmenen sekunnin välein, ja jos kehittäjä huomaa kytkimen ja peruuttaa sen, skripti ajaa rm -rf ~/ ja pyyhkii kehittäjän kotihakemiston.
Juuri tämän vuoksi tutkijat varoittavat poistamasta varastettua tunnusta ensimmäisenä. Tunnukset kannattaa kierrättää, mutta vasta sen jälkeen kun kone on irrotettu verkosta.
– Sigstore-todistus kertoo, mikä putki tuotti artefaktin, mutta ei sitä, käyttäytyikö putki niin kuin sen olisi pitänyt, Snyk huomautti tutkimusblogissaan.
Traficom julkaisi suomenkielisen ohjeen samana päivänä
Liikenne- ja viestintävirasto Traficomin alainen Kyberturvallisuuskeskus reagoi tapahtumaan nopeasti. Virasto julkaisi suomenkielisen tiedotteen Shai-Hulud-hyökkäyksen toisesta aallosta ja listasi suomalaisille organisaatioille kolme välitöntä toimenpidettä: npm-riippuvuuksien auditointi, vuotaneiden tunnusten kierrätys ja automaattisten npm-päivitysten väliaikainen jäädyttäminen.
Ohje korostaa, että pelkkä paketin poistaminen ei riitä, jos rakennuspalvelin on ehtinyt ladata haitallisen version välimuistiin. AntV-projektin ylläpitäjät vahvistivat omassa tiedotteessaan, että vaurioituneet paketit on poistettu ja loput merkitty vanhentuneiksi.
Miten tämä koskee kryptosijoittajaa? Vahvistettua pörssin tai DeFi-protokollan kompromissia ei toistaiseksi ole, mutta lompakon yksityisavaimet ja pörssien API-avaimet ovat täsmälleen sitä materiaalia, jota haittaohjelma metsästää. Binancen perustaja ja entinen toimitusjohtaja Changpeng Zhao, tunnetaan alalla nimellä CZ, julkaisi tiistaina X-palvelussa varoituksen kryptokehittäjille.
Jos koodissasi on API-avaimia, jopa yksityisissä repoissa, nyt on aika tarkistaa ja vaihtaa ne…
– CZ (@cz_binance) May 20, 2026
GitHub kiristää julkaisukäytäntöjä
GitHub vastasi keskiviikkona kolmella muutoksella:
- laajamittainen OIDC-onboarding, jolla organisaatiot voivat siirtää satoja paketteja luotettuun julkaisuun kerralla
- OIDC-tarjoajien tuen laajennus GitHub Actionsin ja GitLabin ulkopuolelle
- vaiheittainen julkaisumalli, joka vaatii MFA-tarkistuksen ennen kuin uusi paketti tulee yleisön saataville
Vanhat "classic"-tunnukset on tarkoitus poistaa käytöstä asteittain. Sen myötä tunnuspohjainen julkaisu ei enää ole oletusvaihtoehto, ja FIDO-pohjainen kaksivaiheinen tunnistautuminen siirtyy normiksi.
Hyökkäys on toinen suuri aalto Shai-Hulud-kampanjassa. Viime syyskuun ensimmäisestä iskusta saakka tutkijat ovat varoittaneet, että rakennusputkien kaappaus on noussut suoraa kehittäjätunnuksen kalastelua tehokkaammaksi tavaksi murtautua ohjelmistojen toimitusketjuun. Pysyvä ratkaisu jää nähtäväksi.









