Мини червей Шай-Хулуд
Злоумишленикът, известен като TeamPCP, е свързан със сложна кампания за атака срещу веригата за доставки, насочена към широко използвани npm и PyPI пакети, свързани с TanStack, UiPath, Mistral AI, OpenSearch, Guardrails AI и няколко други екосистеми. Операцията, свързана с развиващата се кампания със зловреден софтуер Mini Shai-Hulud, демонстрира значителна ескалация на злоупотребите с веригата за доставки на софтуер и техниките за компрометиране, основани на самоличност.
Изследователите са установили, че злонамерени npm пакети са били модифицирани, за да включват обфусциран JavaScript компонент, наречен router_init.js. Този полезен товар профилира заразените среди и внедрява усъвършенстван инструмент за кражба на идентификационни данни, насочен към доставчици на облачни услуги, портфейли с криптовалута, инструменти за разработка на изкуствен интелект, платформи за съобщения, CI/CD системи и среди за GitHub Actions. Извлечените данни се предават предимно към домейна filev2.getsession.org.
Използването на инфраструктура на Session Protocol подчертава умишлен опит за заобикаляне на контрола за сигурност на предприятието. Тъй като домейнът принадлежи към децентрализирана платформа за съобщения, фокусирана върху поверителността, е по-малко вероятно той да бъде блокиран от традиционните мрежови защити. Като вторичен метод за изтичане, криптираните данни се предават на контролирани от нападателя хранилища чрез GitHub GraphQL API, използвайки откраднати GitHub токени за удостоверяване под самоличността на автора claude@users.noreply.github.com.
Съдържание
Механизми за запазване и разширяване на кражбата на идентификационни данни
Зловредният софтуер въвежда няколко възможности за постоянство и наблюдение, предназначени да поддържат дългосрочен достъп до компрометирани среди за разработка. В Claude Code и Microsoft Visual Studio Code са инсталирани куки за постоянство, което позволява на зловредния софтуер да оцелее при рестартиране на системата и да се рестартира автоматично при всяко отваряне на IDE.
Освен това е внедрена услуга gh-token-monitor за непрекъснато наблюдение и повторно извличане на GitHub токени. В компрометирани хранилища се инжектират и два злонамерени работни потока с действия на GitHub. Тези работни потокове сериализират тайните на хранилището в JSON формат и качват данните към външната крайна точка api.masscan.cloud.
Последният компрометиращ инцидент с TanStack се различава значително от по-ранните инциденти във веригата за доставки. Вместо да разчитат на предварителен инсталационен hook, атакуващите са вградили злонамерен JavaScript файл директно в tarball-овете на пакетите, като същевременно са въвели опционална зависимост, свързана с пакет, хостван в GitHub. Тази зависимост съдържа prepare lifecycle hook, който изпълнява полезния товар чрез Bun runtime средата.
Заразените с троянски коне пакети Mistral AI са възприели по-стара стратегия за заразяване, като са модифицирали файла package.json с предварителна инсталация, която извиква node setup.mjs. Този процес изтегля Bun и изпълнява същия зловреден софтуер за кражба на идентификационни данни.
CVE-2026-45321 и злоупотребата с надеждни издателски услуги
Компрометацията на TanStack е официално проследена като CVE-2026-45321 и ѝ е присвоена критична CVSS оценка от 9.6. Разследващите потвърдиха, че са засегнати 42 пакета и 84 версии в екосистемата TanStack.
Анализът разкри, че компрометирането е възникнало от верижна атака срещу GitHub Actions, използваща тригера pull_request_target, отравяне на кеша на GitHub Actions и извличане на OIDC токени от изпълняващите GitHub Actions по време на изпълнение. Съобщава се, че атакуващите са инсценирали злонамерени полезни товари чрез осиротели коммити във форкове на GitHub, преди да ги инжектират в tarball-и на npm пакети. След това атакуващите са отвлекли легитимни работни процеси на TanStack/router, за да публикуват компрометирани пакети с валидни SLSA сертификати за произход.
Това развитие бележи историческа ескалация на атаките срещу веригата за доставки на софтуер. Злонамерените пакети носеха валидни сигнатури за произход на SLSA Build Level 3, което го прави първия документиран npm червей, способен да разпространява злонамерени пакети с автентични удостоверения за компилация. Впоследствие кампанията със зловреден софтуер се разшири отвъд TanStack и се разпространи в екосистеми, поддържани от UiPath, DraftLab и други разработчици.
Операцията сериозно злоупотребява с надеждни работни процеси за публикуване. Вместо директно да краде идентификационни данни за npm, контролираният от хакера код, изпълняван в надеждни CI/CD конвейери, използваше OIDC разрешения, за да създава краткотрайни токени за публикуване по време на процеса на изграждане. Това позволи публикуването на злонамерени пакети чрез легитимни конвейери за издаване, като същевременно се заобиколиха конвенционалните защитни мерки за удостоверяване.
Саморазпространяващото се поведение на червеите буди тревога
Един от най-опасните аспекти на кампанията Mini Shai-Hulud е нейният модел на разпространение, подобен на червей. Зловредният софтуер активно търси публикуваеми npm токени, конфигурирани с bypass_2fa=true, изброява пакети, поддържани от компрометирания разработчик, и обменя GitHub OIDC токени за публикуване на токени за всеки пакет. Този механизъм позволява на зловредния софтуер да се разпространява странично през екосистемите на пакетите, без да разчита на традиционни техники за кражба на идентификационни данни.
Атаката използва и конфигурации на доверие на ниво хранилище в рамките на OIDC модела за доверени издатели на GitHub. Тъй като доверието беше предоставено широко на ниво хранилище, вместо да бъде ограничено до защитени клонове и специфични файлове на работния процес, злонамерени изпълнения на работни процеси, задействани от осиротели коммитове, можеха да поискат легитимни npm токени за публикуване.
Друга обезпокоителна възможност е внедряването на „дежурен превключвател“. Зловредният софтуер инсталира shell скрипт, който многократно проверява крайната точка api.github.com/user на всеки 60 секунди, за да определи дали създадените от атакуващия npm токени остават активни. Тези токени носят заплашителното описание IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner.
Ако защитниците отменят токена чрез таблото за управление на npm, зловредният софтуер стартира разрушителна рутина, изпълняваща rm -rf ~/, като ефективно трансформира инфекцията в злонамерен софтуер за изтриване. Това агресивно поведение показва съществена еволюция в оперативните тактики на TeamPCP и демонстрира нарастваща сложност в методите за принудително запазване. Поради това екипите по сигурност се съветват да изолират и да направят изображения на заразените системи, преди да отменят компрометираните npm идентификационни данни.
Засегнати пакети и разширяващо се въздействие върху екосистемата
Кампанията е засегнала над 170 пакета, както в npm, така и в PyPI, което общо представлява над 518 милиона изтегляния. Разследващите са идентифицирали и най-малко 400 хранилища, създадени с помощта на откраднати идентификационни данни, всички съдържащи фразата „Shai-Hulud: Here We Go Again“.
Засегнатите пакети включват:
guardrails-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/план на полет@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
Зловредният софтуер използва и множество излишни канали за извличане на данни. В допълнение към инфраструктурата на Session Protocol и скритите папки на GitHub, откраднатите идентификационни данни се предават и чрез домейна с правописна грешка git-tanstack.com.
Зловредният софтуер PyPI въвежда геозонирана деструктивна логика
Вариантите на зловреден софтуер, базирани на Python, свързани със злонамерените пакети Mistral AI и Guardrails AI, се различават съществено от полезните товари на JavaScript, разпространявани чрез npm. Компрометираният пакет mistralai PyPI изтегля програма за кражба на идентификационни данни от отдалечения хост 83.142.209.194.
Изследователите откриха, че зловредният софтуер на Python съдържа логика, съобразена с държавата, предназначена да избегне изпълнението в рускоезични среди. Той също така включва геозониран деструктивен механизъм, който въвежда вероятност от едно към шест за изпълнение на rm -rf /, ако заразената система изглежда се намира в Израел или Иран.
Това поведение демонстрира обезпокоителна еволюция към разполагане на деструктивен полезен товар, съобразен с региона, в рамките на екосистемите от пакети с отворен код.
Нарастващата заплаха от атаки срещу веригата за доставки, основани на самоличност
Кампанията Mini Shai-Hulud отразява по-широка трансформация в съвременните атаки срещу веригите за доставки. Вместо да се фокусират единствено върху компрометирането на пакети, хакерите все по-често се насочват към надеждни CI/CD идентичности, работни процеси за публикуване и облачни автоматизирани канали.
След като атакуващите получат достъп до инфраструктурата за публикуване на софтуер, самият процес на разработка се превръща в механизъм за разпространение на зловреден софтуер. Тъй като много злонамерени действия се случват чрез легитимни работни процеси, надеждни удостоверения и автентични системи за издаване, традиционните контроли за сигурност може да не успеят да идентифицират злонамерено поведение.
Ключови характеристики, определящи това ново поколение атаки срещу веригата за доставки, включват:
- Злоупотреба с надеждни механизми за публикуване и обмен на OIDC токени
- Разпространение чрез легитимни CI/CD работни процеси и системи за изграждане
- Използване на валидни SLSA атестации за прикриване на злонамерени пакети
- Многоканално извличане на идентификационни данни и операции за запазване
- Разрушителни механизми за отмъщение, предназначени да сплашат защитниците
Разширяването на кампанията в областта на инструментите за изкуствен интелект, корпоративната автоматизация, инфраструктурата за търсене, разработката на frontend, инструментите, свързани с авиацията, и екосистемите за CI/CD показва колко дълбоко взаимосвързани са станали веригите за доставка на софтуер. Поведенческият мониторинг по време на инсталирането на пакети и изпълнението на компилацията е все по-важен за откриване на заплахи, които на пръв поглед изглеждат легитимни.