Самовідтворюваний черв'як, який захоплює конвеєри GitHub Actions для публікації шкідливих пакетів npm, знову завдав удару, заразивши AntV, echarts-for-react та SDK durabletask від Microsoft. Key Takeaways
Вірус з GitHub вразив пакети npm, які завантажили 16 мільйонів разів

- </span></p>
- <p><span style="font-weight: 400;">Основні висновки: </span></p>
- <ul>
- <li><span style="font-weight: 400;">19 травня Mini Shai-Hulud скористався GitHub Actions, скомпрометувавши понад 300 пакетів npm із 16 млн щотижневих завантажень. </span></li>
- <li><span style="font-weight: 400;">Шкідливе програмне забезпечення встановлює «перемикач мертвого чоловіка», який очищає комп'ютер розробника, якщо вкрадений токен npm буде скасовано. </span></li>
- <li><span style="font-weight: 400;">20 травня GitHub відреагував, запровадивши поетапну публікацію, масове підключення OIDC та план виведення з обігу застарілих токенів npm.</span></li>
- </ul>
- <p><span style="font-weight: 400;">
Mini Shai-Hulud використовує GitHub Actions, щоб досягти 16 мільйонів завантажень на тиждень
Кампанія Mini Shai-Hulud, яку приписують групі Team PCP, працює не так, як більшість атак на ланцюжок постачання, оскільки замість того, щоб викрадати облікові дані розробника та публікувати безпосередньо, зловмисник створює форк цільового репозиторію на GitHub, відкриває запит на витяг, що запускає робочий процес `pull_request_target`.
Це заражає кеш GitHub Actions шкідливим сховищем pnpm, і з цього моменту заражені пакети містять дійсні підписані сертифікати та проходять перевірки походження SLSA, завдяки чому вони здаються повністю чистими для стандартних засобів безпеки.

19 травня остання хвиля вразила екосистему візуалізації даних AntV, коли зловмисники отримали доступ до скомпрометованого облікового запису адміністратора в просторі імен @atool і опублікували понад 300 шкідливих версій у 323 пакетах за 22 хвилини автоматизованого спалаху.
Серед уражених пакетів — echarts-for-react, React-обгортка для Apache Echarts із приблизно 1,1 мільйона завантажень на тиждень
. Загальна кількість завантажень на тиждень для всіх уражених пакетів у цій хвилі оцінюється приблизно в 16 мільйонів.Найбільш тривожною технічною деталлю є те, що відбувається, якщо розробник намагається втрутитися. Шкідливе програмне забезпечення встановлює «перемикач мертвої людини», тобто скрипт оболонки, який кожні 60 секунд запитує API GitHub, щоб перевірити, чи не було скасовано створений ним токен npm. Цей токен містить опис «IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner», який, у разі скасування розробником, негайно очищає домашній каталог зараженої машини.
Токен також викрадає облікові дані з GitHub, AWS, Azure, GCP, Kubernetes, Hashi Corp Vault та понад 90 конфігурацій інструментів розробника, перш ніж поширюватися по всій підключеній хмарній інфраструктурі.
Одна атака, багато жертв
Кампанія одночасно вразила Python Package Index (PyPI), оскільки 19 травня було опубліковано три шкідливі версії офіційного Python SDK durabletask від Microsoft, які непомітно завантажували та виконували 28-кілобайтовий корисний вантаж для викрадення облікових даних (здатний переміщатися по середовищах AWS, Azure та GCP після початкового виконання).GitHub відреагував 20 травня оголошенням, в якому виклав три основні зміни в публікації npm, а саме: масове підключення OIDC, щоб допомогти організаціям перенести сотні пакетів до надійної публікації у великому масштабі; розширену підтримку провайдерів OIDC за межі GitHub Actions та Gitlab; а також нову модель поетапної публікації, яка надає адміністраторам вікно для перевірки перед тим, як пакети стануть доступними, що вимагає затвердження за допомогою багатофакторної автентифікації (MFA).

Компанія також планує відмовитися від застарілих класичних токенів, перевести користувачів на 2FA на основі FIDO та за замовчуванням заборонити публікацію на основі токенів. Під час попередньої хвилі кампанії у вересні 2025 року GitHub видалив понад 500 скомпрометованих пакетів з реєстру npm
Компанія з безпеки блокчейнів Slowmist опублікувала попередження 14 травня після виявлення трьох шкідливих версій node-ipc — пакета з 822 000 завантажень на тиждень — в рамках тієї ж кампанії.
Розробникам, які використовують будь-який із виявлених пакетів, було рекомендовано негайно перевірити дерева залежностей, змінити всі облікові дані, не скасовуючи спочатку шкідливий токен, та перевірити індикатори компрометації, опубліковані Snyk, Wiz, Socket.dev та Step Security.














