У разі спроби відкрити уражені проєкти користувачі бачили сіре повідомлення: «This repository has been disabled. Access to this repository has been disabled by GitHub Staff due to a violation of GitHub's terms of service» — «Цей репозиторій вимкнено. Доступ до нього вимкнули співробітники GitHub через порушення умов використання» .
Це стало кульмінацією кампанії, яка почалася з компрометації npm-пакетів Red Hat і продемонструвала новий небезпечний напрям: використання AI-інструментів розробника як ланки атаки.
1 червня дослідники Aikido та OX Security виявили шкідливий код у просторі імен @redhat-cloud-services на npm — наборі пакетів, що використовуються в Red Hat Hybrid Cloud Console. Загалом було скомпрометовано 32 пакети та 96 шкідливих версій, які разом завантажували приблизно 117 000 разів на тиждень .
Проблема полягала не просто у витоку токена публікації. Зловмисники захопили GitHub-акаунт працівника Red Hat і через нього внесли шкідливі коміти до CI/CD-конвеєра RedHatInsights/javascript-clients . Це дало змогу зловжити механізмом довіреної публікації GitHub та опублікувати заражені пакети безпосередньо в npm із справжніми атестаціями походження SLSA .
Тобто зовні пакети могли виглядати легітимними: їх опублікували через офіційний автоматизований процес і вони мали валідне підтвердження походження. Однак усередині містився скрипт preinstall, який запускався автоматично під час встановлення пакета та завантажував 28-кілобайтне корисне навантаження для викрадення облікових даних.
Дослідники назвали це шкідливе ПЗ новим варіантом сімейства Mini Shai-Hulud — Miasma. Його пов’язують із групою TeamPCP, хоча використання того самого відкрито опублікованого коду іншими зловмисниками повністю виключити не можна .
Викрадені під час першої фази облікові дані згодом використали проти інфраструктури Microsoft. Репозиторій Azure/durabletask уже зазнавав компрометації через пакет PyPI 19 травня. Для повторної атаки 5 червня застосували той самий скомпрометований акаунт контриб’ютора — ознака того, що після першого інциденту доступи не були повністю відкликані .
До Azure/durabletask додали конфігураційні файли-пастки для AI-агентів програмування. Коли розробник відкривав репозиторій у Claude Code, Gemini CLI, Cursor або VS Code, ці файли могли автоматично прочитуватися інструментом і передавати йому шкідливі інструкції. У результаті запускався механізм викрадення облікових даних .
Це важлива зміна у тактиці: атакувальникам уже не обов’язково переконувати людину запустити підозрілий файл. Достатньо розмістити інструкції у файлах конфігурації, які AI-асистент обробляє під час роботи з кодовою базою.
Кампанія Miasma поєднала класичне зараження ланцюга постачання програмного забезпечення з автоматичним поширенням і націлюванням на AI-інструменти.
preinstall, які виконувалися одразу після команди npm install .Для стримування кампанії знадобилися дії кількох організацій:
Окремо фахівці радили шукати у репозиторіях маркер зараження: «Miasma – The Spreading Blight» .
Атака на Red Hat і Microsoft не була єдиним інцидентом того періоду. 5 червня Endor Labs і StepSecurity повідомили про окрему паралельну кампанію під назвою IronWorm. У її межах було скомпрометовано 57 npm-пакетів і понад 286 шкідливих версій, через які доставлявся новий варіант черв’яка Miasma . Дослідники також зафіксували зловживання файлами binding.gyp для виконання коду .
Cloud Security Alliance попередила про довгостроковий ризик: хоча кампанію пов’язують із TeamPCP, вихідний код Miasma був опублікований у відкритому доступі. Тому інші групи можуть використовувати той самий інструментарій або його модифікації, а подібні атаки можуть продовжитися .
Інцидент показує, що навіть справжній цифровий підпис або офіційний канал публікації не гарантує безпеки, якщо зловмисник отримав контроль над обліковим записом усередині довіреного процесу. А поява AI-агентів у ланцюгу розробки додає ще одну поверхню атаки: кодова база тепер може містити не лише шкідливий код, а й інструкції для автоматизованого помічника.
У разі спроби відкрити уражені проєкти користувачі бачили сіре повідомлення: «This repository has been disabled. Access to this repository has been disabled by GitHub Staff due to a violation of GitHub's terms of service» — «Цей репозиторій вимкнено. Доступ до нього вимкнули співробітники GitHub через порушення умов використання» .
Це стало кульмінацією кампанії, яка почалася з компрометації npm-пакетів Red Hat і продемонструвала новий небезпечний напрям: використання AI-інструментів розробника як ланки атаки.
1 червня дослідники Aikido та OX Security виявили шкідливий код у просторі імен @redhat-cloud-services на npm — наборі пакетів, що використовуються в Red Hat Hybrid Cloud Console. Загалом було скомпрометовано 32 пакети та 96 шкідливих версій, які разом завантажували приблизно 117 000 разів на тиждень .
Проблема полягала не просто у витоку токена публікації. Зловмисники захопили GitHub-акаунт працівника Red Hat і через нього внесли шкідливі коміти до CI/CD-конвеєра RedHatInsights/javascript-clients . Це дало змогу зловжити механізмом довіреної публікації GitHub та опублікувати заражені пакети безпосередньо в npm із справжніми атестаціями походження SLSA .
Тобто зовні пакети могли виглядати легітимними: їх опублікували через офіційний автоматизований процес і вони мали валідне підтвердження походження. Однак усередині містився скрипт preinstall, який запускався автоматично під час встановлення пакета та завантажував 28-кілобайтне корисне навантаження для викрадення облікових даних.
Дослідники назвали це шкідливе ПЗ новим варіантом сімейства Mini Shai-Hulud — Miasma. Його пов’язують із групою TeamPCP, хоча використання того самого відкрито опублікованого коду іншими зловмисниками повністю виключити не можна .
Викрадені під час першої фази облікові дані згодом використали проти інфраструктури Microsoft. Репозиторій Azure/durabletask уже зазнавав компрометації через пакет PyPI 19 травня. Для повторної атаки 5 червня застосували той самий скомпрометований акаунт контриб’ютора — ознака того, що після першого інциденту доступи не були повністю відкликані .
До Azure/durabletask додали конфігураційні файли-пастки для AI-агентів програмування. Коли розробник відкривав репозиторій у Claude Code, Gemini CLI, Cursor або VS Code, ці файли могли автоматично прочитуватися інструментом і передавати йому шкідливі інструкції. У результаті запускався механізм викрадення облікових даних .
Це важлива зміна у тактиці: атакувальникам уже не обов’язково переконувати людину запустити підозрілий файл. Достатньо розмістити інструкції у файлах конфігурації, які AI-асистент обробляє під час роботи з кодовою базою.
Кампанія Miasma поєднала класичне зараження ланцюга постачання програмного забезпечення з автоматичним поширенням і націлюванням на AI-інструменти.
preinstall, які виконувалися одразу після команди npm install .Для стримування кампанії знадобилися дії кількох організацій:
Окремо фахівці радили шукати у репозиторіях маркер зараження: «Miasma – The Spreading Blight» .
Атака на Red Hat і Microsoft не була єдиним інцидентом того періоду. 5 червня Endor Labs і StepSecurity повідомили про окрему паралельну кампанію під назвою IronWorm. У її межах було скомпрометовано 57 npm-пакетів і понад 286 шкідливих версій, через які доставлявся новий варіант черв’яка Miasma . Дослідники також зафіксували зловживання файлами binding.gyp для виконання коду .
Cloud Security Alliance попередила про довгостроковий ризик: хоча кампанію пов’язують із TeamPCP, вихідний код Miasma був опублікований у відкритому доступі. Тому інші групи можуть використовувати той самий інструментарій або його модифікації, а подібні атаки можуть продовжитися .
Інцидент показує, що навіть справжній цифровий підпис або офіційний канал публікації не гарантує безпеки, якщо зловмисник отримав контроль над обліковим записом усередині довіреного процесу. А поява AI-агентів у ланцюгу розробки додає ще одну поверхню атаки: кодова база тепер може містити не лише шкідливий код, а й інструкції для автоматизованого помічника.