Атака на ланцюг поставок у Міазму
Нещодавно виявлена кампанія атак на ланцюг поставок програмного забезпечення під назвою Miasma скомпрометувала кілька npm-пакетів @redhat-cloud-services. Операція розроблена для збору облікових даних та конфіденційної інформації з середовищ розробників, одночасно розгортаючи саморозповсюджувального черв'яка, здатного поширюватися далі через екосистеми розробки програмного забезпечення.
Кампанія точно повторює тактику, раніше пов'язану з Mini Shai-Hulud , використовуючи виконання під час встановлення, крадіжку облікових даних, компрометацію CI/CD, витік зашифрованих даних та механізми, що забезпечують поширення нижче за течією.
Зміст
Атрибуція залишається невизначеною
Винуватця кіберзлочину, відповідального за Miasma, ще остаточно не ідентифіковано. Визначення його винного ускладнюється тим фактом, що TeamPCP, також відомий як Replicating Marauder, TGR-CRI-1135 та UNC6780, раніше випускав інструменти атаки, пов'язані з черв'яком Shai-Hulud, як проекти з відкритим кодом. Цей розвиток подій дозволив іншим кіберзлочинним групам відтворити подібні методи, що значно ускладнює остаточне визначення його винного.
Скомпрометовані пакети npm
Наступні пакети npm були визначені як уражені:
@redhat-cloud-services/vulnerabilities-client
@redhat-cloud-services/tsc-transform-imports
@redhat-cloud-services/topological-inventory-client
@redhat-cloud-services/sources-client
@redhat-cloud-services/компоненти-правил
@redhat-cloud-services/remediations-client
@redhat-cloud-services/rbac-client
Збір облікових даних за допомогою обфускованої логіки встановлення
Дослідники безпеки виявили, що шкідливі пакети містять завуальований перехоплювач попередньої інсталяції, призначений для автоматичного виконання під час встановлення пакета. Шкідливе програмне забезпечення націлене на широкий спектр конфіденційних ресурсів, включаючи секрети дій GitHub, токени автентифікації npm, хмарні облікові дані, секрети сховищ Kubernetes та HashiCorp, ключі SSH, облікові дані Git та інші конфіденційні файли, що зберігаються на скомпрометованих системах.
Як спостерігалося в попередніх кампаніях Mini Shai-Hulud, шкідливе програмне забезпечення містить зашифровані процедури вилучення інформації. Викрадена інформація передається на api.anthropic.com:443/v1/api, тоді як GitHub служить альтернативним каналом вилучення. Ця стратегія подвійного призначення демонструє зусилля не лише щодо викрадення облікових даних, але й використання їх як зброї для подальшого злому ланцюга постачання програмного забезпечення.
Зашифровані пакети даних надсилаються через API GitHub, а повідомлення про коміти можуть містити рядок:
«ЯкщоВиАнулюєтеЦейТокенВінЗнищитьКомп'ютерВласника:»
Приховані методи та механізми поширення
Шкідливе програмне забезпечення містить кілька заходів, спрямованих на максимізацію стійкості, уникнення виявлення та розширення доступу. Однією з помітних характеристик є навмисне уникнення виконання на російськомовних системах, поведінка, яка раніше спостерігалася в кампаніях ланцюга поставок GlassWorm.
У середовищах npm шкідливий код взаємодіє з обміном токенів OIDC та кінцевими точками whoami, перепаковує архіви програмного забезпечення в оновлені tar-архіви та підписує змінені артефакти за допомогою Sigstore. Викрадені облікові дані потім переносяться до контрольованих зловмисниками публічних репозиторіїв GitHub з описом «Miasma: The Spreading Blight».
Слідчі виявили найдавніший відомий коміт із цим описом 29 травня 2026 року, що свідчить про початок активних операцій або початкову фазу тестування приблизно в цю дату.
У середовищах GitHub шкідливе програмне забезпечення перераховує репозиторії, доступні для скомпрометованих токенів, аналізує визначення робочих процесів за допомогою запитів GraphQL та впроваджує шкідливі робочі процеси за допомогою мутації createCommitOnBranch. Цей підхід дозволяє шкідливим змінам відображатися як перевірені та криптографічно підписані коміти.
Розширені функції збереження та підвищення привілеїв
Аналіз виявив кілька додаткових можливостей, вбудованих у шкідливе програмне забезпечення:
Спроби підвищити привілеї шляхом запуску контейнерів, які монтують каталог /etc/sudoers.d хоста та надають безпарольний доступ sudo для виконавців неперевершеної інтеграції.
Виявлення рішень для захисту кінцевих точок, включаючи CrowdStrike, SentinelOne, Carbon Black та StepSecurity Harden-Runner, до початку шкідливої діяльності.
Механізми збереження, які впроваджують перехоплювач SessionStart у Anthropic Claude Code та створюють шкідливі файли tasks.json, налаштовані з параметром 'runOn': 'folderOpen' для проектів Microsoft Visual Studio Code, забезпечуючи виконання під час майбутніх сеансів розробки.
Підвищена увага до компрометації хмарних ідентифікаційних даних
Значною еволюцією варіанту Miasma є його розширена зосередженість на зборі хмарних ідентифікаційних даних. Нові модулі, орієнтовані на середовища Google Cloud Platform (GCP) та Microsoft Azure, збирають інформацію про всі хмарні ідентифікаційні дані, доступні із зараженої машини.
Попередні варіанти в основному зосереджувалися на вилученні секретів із хмарних середовищ. Додавання колекторів, орієнтованих на ідентифікацію, вказує на стратегічний зсув у бік отримання прямого доступу до хмари та використання привілейованих ідентифікаційних даних у хмарних інфраструктурах.
Ще більше ускладнює зусилля з виявлення те, що кожне зараження генерує унікально зашифроване корисне навантаження. Таке налаштування значно перешкоджає виявленню на основі сигнатур, відстеженню шкідливого програмного забезпечення та кореляції версій між інцидентами.
Початкова компрометація та проникнення в ланцюг поставок
Наявні докази свідчать про те, що кампанія виникла через компрометацію облікового запису GitHub співробітника Red Hat. Слідчі вважають, що обліковий запис став початковою точкою зараження, що дозволило зловмисникам впроваджувати шкідливий код уражені пакети.
Повідомляється, що скомпрометований обліковий запис розмістив шкідливі осиротілі коміти у два репозиторії Red Hat Insights, обходячи встановлені процедури перевірки коду та впроваджуючи шкідливе корисне навантаження в ланцюжок постачання програмного забезпечення.
Керівництво з реагування на інциденти та їх усунення
Організації, які встановили уражені версії пакетів, повинні негайно ізолювати уражені системи, видалити шкідливі пакети, перенести всі потенційно розкриті облікові дані, дослідити активність GitHub та npm на наявність ознак несанкціонованого доступу, а також перевірити середовища на наявність механізмів збереження. Особливу увагу слід приділяти несанкціонованим модифікаціям, що стосуються:
~/.claude/settings.json, .vscode/tasks.json, .github/workflows/codeql.yml та .github/setup.js.
Також слід запровадити суворий контроль доступу в середовищах розробки та хмарних середовищах.
Оскільки шкідливе програмне забезпечення встановлює можливості фонового виконання та персистентну роботу в інструментах розробника, просте видалення уражених npm-пакетів або видалення каталогу node_modules не слід вважати достатнім засобом виправлення.
Для середовищ CI/CD виконання уражених робочих процесів слід негайно призупинити. Організації повинні визнати недійсними артефакти збірки, створені протягом періоду впливу, та ретельно перевірити, чи були релізи, образи контейнерів, пакети npm, артефакти розгортання або інші компоненти програмного забезпечення згенеровані після впровадження шкідливого пакета в середовище.