Mini Shai-Hulud -mato
TeamPCP-niminen uhkatoimija on yhdistetty hienostuneeseen toimitusketjuhyökkäyskampanjaan, joka on kohdistettu laajalti käytettyihin npm- ja PyPI-paketteihin, jotka liittyvät TanStackiin, UiPathiin, Mistral AI:han, OpenSearchiin, Guardrails AI:hin ja useisiin muihin ekosysteemeihin. Operaatio, joka on kytköksissä kehittyvään Mini Shai-Hulud -haittaohjelmakampanjaan, osoittaa merkittävää ohjelmistojen toimitusketjun väärinkäytön ja identiteettiin perustuvien vaarantamistekniikoiden lisääntymistä.
Tutkijat tunnistivat, että haitallisia npm-paketteja oli muokattu lisäämään niihin hämärretty JavaScript-komponentti nimeltä router_init.js. Tämä hyötykuorma profiloi tartunnan saaneita ympäristöjä ja ottaa käyttöön edistyneen tunnistetietojen varastajan, joka kohdistaa hyökkäyksensä pilvipalveluntarjoajiin, kryptovaluuttalompakoihin, tekoälykehitystyökaluihin, viestintäalustoihin, CI/CD-järjestelmiin ja GitHub Actions -ympäristöihin. Varastetut tiedot lähetetään ensisijaisesti filev2.getsession.org-verkkotunnukseen.
Session Protocol -infrastruktuurin käyttö korostaa tahallista yritystä kiertää yrityksen tietoturvakontrolleja. Koska verkkotunnus kuuluu hajautettuun yksityisyyteen keskittyvään viestintäalustaan, on epätodennäköisempää, että perinteiset verkkopuolustukset estävät sitä. Toissijaisena vuotomenetelmänä salatut tiedot lähetetään hyökkääjän hallitsemiin tietovarastoihin GitHub GraphQL -rajapinnan kautta varastettujen GitHub-todennustunnusten avulla tekijän identiteetin claude@users.noreply.github.com alla.
Sisällysluettelo
Pysyvyysmekanismit ja valtakirjavarkauksien laajentaminen
Haittaohjelma esittelee useita pysyvyys- ja valvontaominaisuuksia, jotka on suunniteltu ylläpitämään pitkäaikaista pääsyä vaarantuneisiin kehitysympäristöihin. Claude Coden ja Microsoft Visual Studio Coden sisällä on pysyvyyskoukkuja, joiden ansiosta haittaohjelma selviää järjestelmän uudelleenkäynnistyksestä ja käynnistyy automaattisesti uudelleen aina, kun IDE avataan.
Lisäksi käytössä on gh-token-monitor-palvelu, joka valvoo ja poistaa jatkuvasti GitHub-tokeneita. Vaurioituneisiin tietovarastoihin on myös lisätty kaksi haitallista GitHub Actions -työnkulkua. Nämä työnkulut sarjoittavat tietovaraston salaisuudet JSON-muotoon ja lataavat tiedot ulkoiseen päätepisteeseen api.masscan.cloud.
TanStackin uusin hyökkäys eroaa merkittävästi aiemmista toimitusketjuongelmista. Hyökkääjät eivät luottaneet esiasennuskoukkuun, vaan upottivat haitallisen JavaScript-tiedoston suoraan pakettien tar-tiedostoihin ja lisäsivät samalla valinnaisen riippuvuuden, joka on linkitetty GitHubissa isännöityyn pakettiin. Tämä riippuvuus sisältää valmistelu-elinkaarikoukun, joka suorittaa hyötykuorman Bun-ajonaikaisen ympäristön kautta.
Troijalaiset Mistral AI -paketit omaksuivat vanhemman tartuntastrategian muokkaamalla package.json-tiedostoa esiasennuskoukulla, joka käynnistää node setup.mjs:n. Tämä prosessi lataa Bunin ja suorittaa saman tunnistetietoja varastavan haittaohjelman.
CVE-2026-45321 ja luotettujen julkaisujen väärinkäyttö
TanStack-hyökkäys on virallisesti tunnistettu nimellä CVE-2026-45321 ja sille on annettu kriittinen CVSS-pistemäärä 9,6. Tutkijat vahvistivat, että 42 TanStack-ekosysteemin pakettia ja 84 versiota oli tartunnan saaneita.
Analyysi paljasti, että tietomurto oli peräisin ketjutetusta GitHub Actions -hyökkäyksestä, jossa hyödynnettiin pull_request_target-liipaisinta, GitHub Actionsin välimuistin myrkyttämistä ja OIDC-tokenien ajonaikaista poimintaa GitHub Actionsin suoritusohjelmista. Hyökkääjien kerrottiin lavastaneen haitallisia hyötykuormia GitHub-haarukoiden orpojen committien kautta ennen niiden lisäämistä npm-pakettien tar-tiedostoihin. Hyökkääjät kaappasivat sitten lailliset TanStack/reititin-työnkulut julkaistakseen vaarantuneita paketteja, joilla oli voimassa olevat SLSA-alkuperävahvistukset.
Tämä kehitysaskel on historiallinen käänne ohjelmistojen toimitusketjuhyökkäysten määrässä. Haitallisissa paketeissa oli voimassa olevat SLSA-koontitason 3 alkuperäallekirjoitukset, mikä teki tästä ensimmäisen dokumentoidun npm-maton, joka pystyy levittämään haitallisia paketteja aidoilla koontitodistuksilla. Haittaohjelmakampanja laajeni myöhemmin TanStackin ulkopuolelle ja levisi UiPathin, DraftLabin ja muiden kehittäjien ylläpitämiin ekosysteemeihin.
Operaatio väärinkäyttää pahasti luotettuja julkaisutyönkulkuja. Sen sijaan, että hyökkääjän ohjaama koodi varastaisi npm-tunnistetiedot suoraan, se hyödynsi luotettavien CI/CD-prosessien sisällä suoritettavaa OIDC-käyttöoikeuksia luodakseen lyhytikäisiä julkaisutokenia rakennusprosessin aikana. Tämä mahdollisti haitallisten pakettien julkaisemisen laillisten julkaisuprosessien kautta ohittaen perinteiset todennusmenetelmät.
Itseään levittävä madon käyttäytyminen herättää hälytyksen
Yksi Mini Shai-Hulud -kampanjan vaarallisimmista puolista on sen matomainen leviämismalli. Haittaohjelma etsii aktiivisesti julkaistavia npm-tokeneita, jotka on konfiguroitu bypass_2fa=true -asetuksella, luetteloi vaarantuneen kehittäjän ylläpitämät paketit ja vaihtaa GitHub OIDC -tokenit pakettikohtaisiin julkaisutokeneihin. Tämä mekanismi mahdollistaa haittaohjelman leviämisen lateraalisesti pakettiekosysteemien välillä turvautumatta perinteisiin tunnistetietojen varkaustekniikoihin.
Hyökkäys hyödynsi myös GitHubin OIDC:n luotettujen julkaisijoiden mallin sisällä olevia repositoriotason luottamusmäärityksiä. Koska luottamus myönnettiin laajasti repositoriotasolla sen sijaan, että se olisi rajoitettu suojattuihin haaroihin ja tiettyihin työnkulkutiedostoihin, orpojen committien laukaisemat haitalliset työnkulkujen suoritukset pystyivät pyytämään laillisia npm-julkaisutunnuksia.
Toinen häiritsevä ominaisuus liittyy ns. kuolleen miehen kytkimen käyttöönottoon. Haittaohjelma asentaa komentosarjan, joka kyselee toistuvasti api.github.com/user-päätepistettä 60 sekunnin välein selvittääkseen, ovatko hyökkääjän luomat npm-tokenit edelleen aktiivisia. Näillä tokeneilla on uhkaava kuvaus IfYouRevokeThisTokenItWipeTheComputerOfTheOwner.
Jos puolustajat peruuttavat tunnuksen npm-hallintapaneelin kautta, haittaohjelma käynnistää tuhoisan rutiinin, joka suorittaa rm -rf ~/ -komennon, muuttaen tartunnan tehokkaasti pyyhkijähaittaohjelmaksi. Tämä aggressiivinen käyttäytyminen viittaa TeamPCP:n operatiivisten taktiikoiden merkittävään kehitykseen ja osoittaa pakottavien pysyvyysmenetelmien kehittymistä. Siksi tietoturvatiimejä kehotetaan eristämään ja kuvastamaan tartunnan saaneet järjestelmät ennen vaarantuneiden npm-tunnistetietojen peruuttamista.
Vaikutuskohteena olevat paketit ja laajenevan ekosysteemin vaikutus
Kampanja on vaikuttanut yli 170 pakettiin sekä npm:ssä että PyPI:ssä, ja niiden yhteenlaskettu latausmäärä on yli 518 miljoonaa. Tutkijat tunnistivat myös ainakin 400 varastetuilla tunnistetiedoilla luotua arkistoa, jotka kaikki sisälsivät lauseen "Shai-Hulud: Here We Go Again".
Vaikuttavat paketit sisältävät:
suojakaiteet-ai@0.10.1 (PyPI)
mistralai@2.4.6 (PyPI)
@opensearch-project/opensearch@3.5.3, 3.6.2, 3.7.0, 3.8.0
@squawk/mcp@0.9.5
@squawk/weather@0.5.10
@squawk/flightplan@0.5.6
@tallyui/connector-medusa@1.0.1, 1.0.2, 1.0.3
@tallyui/connector-vendure@1.0.1, 1.0.2, 1.0.3
Haittaohjelma käyttää myös useita redundantteja vuotokanavia. Session Protocol -infrastruktuurin ja GitHubin dead dropsien lisäksi varastetut tunnistetiedot välitetään typosquatt-verkkotunnuksen git-tanstack.com kautta.
PyPI-haittaohjelma esittelee geoaidatun tuhoisan logiikan
Haitallisiin Mistral AI- ja Guardrails AI -paketteihin liittyvät Python-pohjaiset haittaohjelmavariantit eroavat huomattavasti npm:n kautta jaettavista JavaScript-hyötykuormista. Vaarantunut mistralai PyPI -paketti lataa tunnistetietojen varastimen etäpalvelimelta 83.142.209.194.
Tutkijat havaitsivat, että Python-haittaohjelma sisältää maakohtaisen logiikan, joka on suunniteltu välttämään sen suorittamista venäjänkielisissä ympäristöissä. Se sisältää myös geoaidatun tuhoamismekanismin, joka asettaa yhden kuuden todennäköisyyden suorittaa komennon rm -rf /, jos tartunnan saanut järjestelmä näyttää sijaitsevan Israelissa tai Iranissa.
Tämä käyttäytyminen osoittaa huolestuttavaa kehitystä kohti aluekohtaista tuhoisaa hyötykuormien käyttöönottoa avoimen lähdekoodin pakettien ekosysteemeissä.
Identiteettiin perustuvien toimitusketjuhyökkäysten kasvava uhka
Mini Shai-Hulud -kampanja heijastaa laajempaa muutosta nykyaikaisissa toimitusketjuhyökkäyksissä. Sen sijaan, että uhkatoimijat keskittyisivät pelkästään pakettien vaarantamiseen, he kohdistavat hyökkäyksiään yhä useammin luotettaviin CI/CD-identiteetteihin, julkaisutyönkulkuihin ja pilvipohjaisiin automaatioputkiin.
Kun hyökkääjät pääsevät käsiksi ohjelmistojen julkaisuinfrastruktuuriin, kehitysputkesta itsestään tulee haittaohjelmien levitysmekanismi. Koska monet haitalliset toimet tapahtuvat laillisten työnkulkujen, luotettavien vahvistusten ja aitojen julkaisujärjestelmien kautta, perinteiset tietoturvakontrollit eivät välttämättä tunnista haitallista toimintaa.
Tämän uuden sukupolven toimitusketjuhyökkäysten keskeisiä ominaisuuksia ovat:
- Luotettavan julkaisutoiminnan ja OIDC-tokenien vaihtomekanismien väärinkäyttö
- Levitys laillisten CI/CD-työnkulkujen ja koontijärjestelmien kautta
- Voimassa olevien SLSA-todennusten käyttö haitallisten pakettien peittämiseen
- Monikanavaisten tunnistetietojen ulosvirtaus- ja säilytystoiminnot
- Tuhoisat kostomekanismit, joiden tarkoituksena on pelotella puolustajia
Kampanjan laajeneminen tekoälytyökaluihin, yritysautomaatioon, hakuinfrastruktuuriin, käyttöliittymäkehitykseen, ilmailualan työkaluihin ja CI/CD-ekosysteemeihin osoittaa, kuinka syvästi toisiinsa kytkeytyneet ohjelmistotoimitusketjut ovat tulleet. Käyttäytymisen seuranta pakettien asennuksen ja koontiversioiden suorittamisen aikana on nyt yhä tärkeämpää ensi silmäyksellä todellisilta vaikuttavien uhkien havaitsemiseksi.