Зловреден софтуер Shai Hulud v2
Втората вълна от атаката срещу веригата за доставки Shai-Hulud вече е преминала в екосистемата на Maven, след компрометирането на над 830 пакета в регистъра на npm. Изследователите са идентифицирали пакет на Maven Central, org.mvnpm:posthog-node:4.18.1, който съдържа същите злонамерени компоненти като по-ранните npm атаки: зареждащия файл setup_bun.js и полезния товар bun_environment.js. В момента това е единственият известен засегнат Java пакет.
Забележително е, че пакетът Maven не е публикуван от PostHog. Вместо това, той е генериран чрез автоматизиран mvnpm процес, който пресъздава npm пакетите като Maven артефакти. Maven Central потвърди, че всички огледални копия са премахнати към 25 ноември 2025 г. и се внедряват допълнителни защити, за да се предотврати повторното публикуване на компрометирани npm компоненти.
Съдържание
Глобални цели за въздействие върху разработчиците и атаки
Тази последна вълна е насочена към разработчици по целия свят, целящи кражба на чувствителни данни, като например:
- API ключове
- Идентификационни данни в облака
- npm и GitHub токени
Освен това улеснява по-дълбоко компрометиране на веригата за доставки по червееподобен, самовъзпроизвеждащ се начин. Тази итерация на Shai-Hulud е по-скрита, агресивна и разрушителна от първоначалния септемврийски вариант. Чрез компрометиране на акаунти на поддържащи npm, атакуващите могат да публикуват троянски пакети, които проникват в машините на разработчиците и автоматично сканират за секрети, за да ги изтеглят в хранилища на GitHub.
Как работи зловредният софтуер: Двойни работни процеси и техники за скрити действия
Атаката използва два злонамерени работни процеса:
- Регистрация на самостоятелно хостван бегач: Позволява изпълнение на произволни команди всеки път, когато се отвори дискусия в GitHub.
- Работен процес за събиране на тайни: Систематично събира идентификационни данни и ги изпраща към GitHub.
- Ключовите подобрения в Shai-Hulud v2 включват:
- Използване на Bun runtime за скриване на основната логика
- Разширяване на тавана на инфекцията от 20 на 100 пакета
- Рандомизирани хранилища за ексфилтрация в GitHub, за да се избегне откриването
Досега са засегнати над 28 000 хранилища, което демонстрира огромния мащаб и скритост на кампанията.
Използвани уязвимости и механика на веригата за доставки
Злонамерените лица са се възползвали от неправилните конфигурации на CI в работните потоци на GitHub Actions, по-специално тригерите pull_request_target и workflow_run. Един-единствен неправилно конфигуриран работен процес може да превърне хранилището в „нулев пациент“, което позволява бързо разпространение на зловреден код.
Атаката е насочена към проекти, свързани с AsyncAPI, PostHog и Postman, продължавайки по-широка кампания, започнала с атаката S1ngularity през август 2025 г., която засегна няколко Nx пакета на npm.
Последиците: Изтичане на тайни и системен риск
Анализът на кампанията показва:
- Стотици токени за достъп до GitHub и облачни идентификационни данни от AWS, Google Cloud и Microsoft Azure бяха откраднати.
- Над 5000 файла със секретни данни бяха качени в GitHub.
- От 11 858 уникални тайни, идентифицирани в 4645 хранилища, 2298 остават валидни и публично достъпни към 24 ноември 2025 г.
Това показва как един компрометиран поддържащ може да предизвика каскаден ефект, заразявайки хиляди приложения надолу по веригата.
Препоръки за разработчици
За да намалят излагането на риск, разработчиците трябва:
- Ротирайте всички API ключове, токени и идентификационни данни
- Одит и премахване на компрометирани зависимости
- Преинсталирайте чистите версии на пакетите
- Подсилете CI/CD среди с достъп с най-ниски привилегии, тайно сканиране и автоматизирано прилагане на политики
Шай-Хулуд подчертава, че съвременната верига за доставки на софтуер остава силно уязвима. Нападателите продължават да експлоатират пропуски в начина, по който софтуерът с отворен код се публикува, пакетира и внедрява, често без да разчитат на уязвимости от типа „нулев ден“. Най-ефективната защита изисква преосмисляне на начина, по който софтуерът се изгражда, споделя и консумира.