Mini Shai-Hulud-orm
Trusselaktøren kendt som TeamPCP er blevet forbundet med en sofistikeret angrebskampagne i forsyningskæden, der er rettet mod udbredte npm- og PyPI-pakker forbundet med TanStack, UiPath, Mistral AI, OpenSearch, Guardrails AI og adskillige andre økosystemer. Operationen, der er knyttet til den udviklende Mini Shai-Hulud malwarekampagne, demonstrerer en betydelig eskalering i misbrug af software i forsyningskæden og identitetsdrevne kompromitteringsteknikker.
Forskere identificerede, at ondsindede npm-pakker var blevet modificeret til at inkludere en obfuskeret JavaScript-komponent ved navn router_init.js. Denne nyttelast profilerer inficerede miljøer og implementerer en avanceret legitimationsoplysninger-styveri, der er målrettet mod cloududbydere, kryptovaluta-wallets, AI-udviklingsværktøjer, messaging-platforme, CI/CD-systemer og GitHub Actions-miljøer. Eksfiltrerede data transmitteres primært til filev2.getsession.org-domænet.
Brugen af Session Protocol-infrastrukturen understreger et bevidst forsøg på at omgå virksomhedens sikkerhedskontroller. Da domænet tilhører en decentraliseret privatlivsfokuseret meddelelsesplatform, er det mindre sandsynligt, at det bliver blokeret af traditionelle netværksforsvar. Som en sekundær eksfiltreringsmetode overføres krypterede data til angriberkontrollerede lagre via GitHub GraphQL API'en ved hjælp af stjålne GitHub-godkendelsestokens under forfatteridentiteten claude@users.noreply.github.com.
Indholdsfortegnelse
Persistensmekanismer og udvidelse af legitimationstyveri
Malwaren introducerer adskillige persistens- og overvågningsfunktioner, der er designet til at opretholde langsigtet adgang til kompromitterede udviklingsmiljøer. Persistens-hooks er etableret i Claude Code og Microsoft Visual Studio Code, hvilket gør det muligt for malwaren at overleve systemgenstarter og automatisk genstarte, når IDE'erne åbnes.
Derudover implementeres en gh-token-monitor-tjeneste til løbende at overvåge og genfiltrere GitHub-tokens. To ondsindede GitHub Actions-arbejdsgange injiceres også i kompromitterede lagre. Disse arbejdsgange serialiserer arkivhemmeligheder i JSON-format og uploader dataene til det eksterne slutpunkt api.masscan.cloud.
Det seneste TanStack-kompromis adskiller sig markant fra tidligere hændelser i forsyningskæden. I stedet for at stole på en preinstall-hook, integrerede angriberne en ondsindet JavaScript-fil direkte i pakke-tarballs, mens de introducerede en valgfri afhængighed knyttet til en GitHub-hostet pakke. Denne afhængighed indeholder en prepare lifecycle-hook, der udfører nyttelasten via Bun-runtime-miljøet.
De trojanerede Mistral AI-pakker anvendte en ældre infektionsstrategi ved at ændre package.json-filen med en preinstall-hook, der kalder node setup.mjs. Denne proces downloader Bun og udfører den samme malware, der stjæler legitimationsoplysninger.
CVE-2026-45321 og misbrug af betroede udgivere
TanStack-angrebet er officielt blevet sporet som CVE-2026-45321 og har fået tildelt en kritisk CVSS-score på 9,6. Efterforskere bekræftede, at 42 pakker og 84 versioner i TanStack-økosystemet var berørt.
Analysen afslørede, at kompromitteret stammede fra et kædet GitHub Actions-angreb, der udnyttede pull_request_target-triggeren, GitHub Actions cache-forgiftning og runtime-udtrækning af OIDC-tokens fra GitHub Actions-runners. Angriberne iscenesatte angiveligt ondsindede nyttelast gennem forældreløse commits i GitHub-forks, før de injicerede dem i npm-pakke-tarballs. Angriberne kaprede derefter legitime TanStack/router-workflows for at udgive kompromitterede pakker med gyldige SLSA-proveniensattester.
Denne udvikling markerer en historisk eskalering af angreb i softwareforsyningskæden. De ondsindede pakker indeholdt gyldige SLSA Build Level 3-provenienssignaturer, hvilket gør dette til den første dokumenterede npm-orm, der er i stand til at distribuere ondsindede pakker med autentiske build-attestationer. Malwarekampagnen udvidede sig efterfølgende ud over TanStack og spredte sig til økosystemer, der vedligeholdes af UiPath, DraftLab og andre udviklere.
Operationen misbruger i høj grad betroede publiceringsworkflows. I stedet for at stjæle npm-legitimationsoplysninger direkte, udnyttede angriberkontrolleret kode, der kørte i betroede CI/CD-pipelines, OIDC-tilladelser til at generere kortlivede publiceringstokens under byggeprocessen. Dette tillod skadelige pakker at blive udgivet via legitime release-pipelines, samtidig med at konventionelle godkendelsesbeskyttelsesforanstaltninger blev omgået.
Selvspredende ormeadfærd vækker alarm
Et af de farligste aspekter ved Mini Shai-Hulud-kampagnen er dens ormlignende udbredelsesmodel. Malwaren søger aktivt efter publicerbare npm-tokens konfigureret med bypass_2fa=true, opregner pakker, der vedligeholdes af den kompromitterede udvikler, og udveksler GitHub OIDC-tokens med publiceringstokens pr. pakke. Denne mekanisme gør det muligt for malwaren at sprede sig lateralt på tværs af pakkeøkosystemer uden at være afhængig af traditionelle teknikker til tyveri af legitimationsoplysninger.
Angrebet udnyttede også tillidskonfigurationer på repository-niveau i GitHubs OIDC-model for betroede udgivere. Fordi tillid blev givet bredt på repository-niveau i stedet for at være begrænset til beskyttede grene og specifikke workflow-filer, var ondsindede workflow-udførelser udløst af forældreløse commits i stand til at anmode om legitime npm-publiceringstokens.
En anden foruroligende funktion involverer implementeringen af en 'dødmandsknap'. Malwaren installerer et shell-script, der gentagne gange afspørger api.github.com/user-slutpunktet hvert 60. sekund for at afgøre, om angriberoprettede npm-tokens forbliver aktive. Disse tokens bærer den truende beskrivelse IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner.
Hvis forsvarere tilbagekalder tokenet via npm-dashboardet, starter malwaren en destruktiv rutine, der udfører rm -rf ~/, hvilket effektivt omdanner infektionen til wiper-malware. Denne aggressive adfærd indikerer en betydelig udvikling i TeamPCP's operationelle taktikker og demonstrerer stigende sofistikering af tvangsmæssige persistensmetoder. Sikkerhedsteams rådes derfor til at isolere og afbilde inficerede systemer, før de tilbagekalder kompromitterede npm-legitimationsoplysninger.
Berørte pakker og voksende økosystempåvirkning
Kampagnen har påvirket mere end 170 pakker på tværs af både npm og PyPI, hvilket tilsammen tegner sig for over 518 millioner downloads. Efterforskere identificerede også mindst 400 repositories oprettet ved hjælp af stjålne legitimationsoplysninger, der alle indeholdt sætningen 'Shai-Hulud: Here We Go Again'.
De berørte pakker omfatter:
guardrails-ai@0.10.1 (PyPI)
mistralai@2.4.6 (PyPI)
@opensearch-projekt/opensearch@3.5.3, 3.6.2, 3.7.0, 3.8.0
@squawk/mcp@0.9.5
@squawk/vejr@0.5.10
@squawk/flyveplan@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
Malwaren anvender også flere redundante eksfiltreringskanaler. Ud over Session Protocol-infrastruktur og GitHub dead drops, transmitteres stjålne legitimationsoplysninger via det typosquattede domæne git-tanstack.com.
PyPI-malware introducerer geofenced destruktiv logik
De Python-baserede malwarevarianter, der er forbundet med de ondsindede Mistral AI- og Guardrails AI-pakker, adskiller sig væsentligt fra de JavaScript-nyttelaster, der distribueres via npm. Den kompromitterede mistralai PyPI-pakke downloader en legitimationsoplysninger-styver fra den eksterne vært 83.142.209.194.
Forskere opdagede, at Python-malwaren indeholder landebevidst logik, der er designet til at undgå udførelse i russisksprogede miljøer. Den inkluderer også en geofencet destruktiv mekanisme, der introducerer en sandsynlighed på én ud af seks for at udføre rm -rf /, hvis det inficerede system ser ud til at være placeret i Israel eller Iran.
Denne adfærd demonstrerer en bekymrende udvikling mod regionsbevidst destruktiv nyttelastimplementering inden for open source-pakkeøkosystemer.
Den voksende trussel fra identitetsdrevne forsyningskædeangreb
Mini Shai-Hulud-kampagnen afspejler en bredere transformation inden for moderne forsyningskædeangreb. I stedet for udelukkende at fokusere på pakkekompromittering, målretter trusselsaktører i stigende grad mod betroede CI/CD-identiteter, publiceringsworkflows og cloudbaserede automatiseringspipelines.
Når angribere får adgang til softwareudgivelsesinfrastrukturen, bliver selve udviklingspipelinen mekanismen til distribution af malware. Da mange ondsindede handlinger sker via legitime arbejdsgange, betroede attestationer og autentiske udgivelsessystemer, kan traditionelle sikkerhedskontroller muligvis ikke identificere ondsindet adfærd.
Nøglekarakteristika, der definerer denne nye generation af angreb i forsyningskæden, omfatter:
- Misbrug af betroede udgivelses- og OIDC-tokenudvekslingsmekanismer
- Udbredelse via legitime CI/CD-arbejdsgange og byggesystemer
- Brug af gyldige SLSA-attestationer til at skjule skadelige pakker
- Multikanal legitimationsudvinding og persistensoperationer
- Destruktive gengældelsesmekanismer designet til at intimidere forsvarere
Kampagnens udvidelse på tværs af AI-værktøjer, virksomhedsautomatisering, søgeinfrastruktur, frontend-udvikling, luftfartsrelaterede værktøjer og CI/CD-økosystemer demonstrerer, hvor dybt sammenkoblede softwareforsyningskæder er blevet. Adfærdsovervågning under pakkeinstallation og build-udførelse er nu stadig mere kritisk for at opdage trusler, der ved første øjekast virker legitime.