Компрометація npm‑пакетів @redhat-cloud-services у ланцюгу постачання

Photo of author

CyberSecureFox Editorial Team

Опубліковано:

Багато npm‑пакетів із простору імен @redhat-cloud-services були скомпрометовані в межах кампанії, що отримала кодову назву Miasma. За даними дослідників із Socket, Wiz, JFrog та низки інших компаній, шкідливий код упроваджено через обфускований preinstall‑хук і він спрямований на викрадення секретів GitHub Actions, npm‑токенів, хмарних облікових даних, ключів SSH, матеріалів Kubernetes і Vault з машин розробників. Шкідник має властивості саморозповсюджуваного черв’яка, здатного отруювати подальший ланцюг постачання ПЗ. Організаціям, які використовують уражені пакети, слід негайно ізолювати скомпрометовані хости та виконати ротацію всіх потенційно розкритих облікових даних.

Уражені пакети та механізм атаки

Повідомляється, що були скомпрометовані такі пакети:

  • @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/rule-components
  • @redhat-cloud-services/remediations-client
  • @redhat-cloud-services/rbac-client

Кампанію класифікують як варіант Mini Shai-Hulud — серії атак на ланцюг постачання, які використовують виконання коду на етапі встановлення пакета, збір облікових даних, компрометацію конвеєрів CI/CD, зашифровану ексфільтрацію та поширення на нижчестоящі залежності. Атрибуція кампанії наразі не встановлена.

Технічні деталі шкідливої поведінки

Збір і ексфільтрація даних

Шкідливий preinstall‑хук збирає широкий спектр секретів: токени GitHub Actions, npm‑токени, хмарні облікові дані, матеріали Kubernetes і HashiCorp Vault, ключі SSH та конфігурації Git. За даними Wiz, у цьому варіанті додано нові колектори, орієнтовані на хмарні ідентифікатори GCP та Azure, що вказує на зміщення фокусу зловмисників у бік отримання доступу до хмарної інфраструктури як такої, а не лише до витягування секретів із неї.

Зашифровані дані передаються на адресу api.anthropic.com:443/v1/api, а як резервний канал ексфільтрації використовуються публічні GitHub‑репозиторії з описом «Miasma: The Spreading Blight». За даними SafeDep, для npm‑середовища шкідник викликає ендпоінти OIDC‑обміну токенів і whoami, перепаковує tarball‑архів (package-updated.tgz) і підписує артефакт через Sigstore, надаючи йому вигляду легітимності.

Показова деталь: під час коміту через GitHub API повідомлення може містити рядок IfYouInvalidateThisTokenItWillNukeTheComputerOfTheOwner:<token> — вочевидь, це елемент соціальної інженерії, розрахований на те, щоб відлякати адміністраторів від відкликання скомпрометованих токенів.

Поширення через CI/CD

Шкідник перелічує GitHub‑репозиторії, до яких викрадений токен має право запису, зчитує файли action.yml/action.yaml через GraphQL і створює коміт workflow через мутацію createCommitOnBranch. У результаті це виглядає як верифікована, підписана зміна, що суттєво ускладнює виявлення під час рев’ю коду.

Ухилення від виявлення та підвищення привілеїв

Перед виконанням основних шкідливих дій шкідник перевіряє наявність засобів захисту кінцевих точок — CrowdStrike, SentinelOne, Carbon Black і StepSecurity Harden-Runner. Для підвищення привілеїв робиться спроба запуску контейнера з монтуванням хостового каталогу /etc/sudoers.d, що надає CI‑раннеру безпарольний sudo‑доступ.

Окремо зазначається, що шкідник не виконується на системах із російськомовною локаллю — шаблон, раніше зафіксований у кампаніях GlassWorm.

Механізми персистентності

Шкідник закріплюється в інструментах розробки двома способами:

  • Впровадження хука SessionStart у конфігурацію Anthropic Claude Code (~/.claude/settings.json)
  • Додавання задачі до .vscode/tasks.json з параметром "runOn": "folderOpen" для проєктів Visual Studio Code, що забезпечує автоматичний запуск під час кожного відкриття теки проєкту

Крім того, кожне зараження, імовірно, генерує унікально зашифроване корисне навантаження, що значно ускладнює виявлення за сигнатурами та відстеження версій шкідника.

Хронологія та контекст

За даними OX Security, перший коміт із рядком «Miasma: The Spreading Blight» датований 29 травня 2026 року, що вказує або на дату початку активної фази кампанії, або на період тестування інфраструктури зловмисником. Інцидент підтверджено багатьма незалежними дослідницькими командами, зокрема Aikido Security, StepSecurity та Microsoft Threat Intelligence. Водночас офіційний інцидент‑звіт від Red Hat на момент публікації відсутній.

Оцінка впливу

Пакети простору імен @redhat-cloud-services широко використовуються в екосистемі Red Hat Insights — платформі моніторингу та керування інфраструктурою Red Hat Enterprise Linux. Компрометація насамперед зачіпає:

  • Команди розробки, що працюють із хмарними сервісами Red Hat і використовують ці пакети як залежності
  • Конвеєри CI/CD, у яких встановлення скомпрометованих пакетів призводить до витоку секретів і потенційного зараження артефактів збірки
  • Хмарну інфраструктуру організацій, чиї ідентифікатори GCP, Azure та AWS могли бути викрадені

Саморозповсюджуваний характер шкідника означає, що одне скомпрометоване середовище розробки може стати точкою входу для зараження багатьох нижчестоящих репозиторіїв та артефактів.

Рекомендації щодо реагування

Просте видалення npm‑пакета або каталогу node_modules не є достатнім заходом очищення, оскільки шкідник містить механізми фонової роботи та персистентності в інструментах розробника.

  1. Ізолювати усі хости, на яких були встановлені уражені версії пакетів
  2. Ротувати всі потенційно розкриті облікові дані: npm‑токени, GitHub‑токени, SSH‑ключі, хмарні облікові дані, секрети Kubernetes і Vault
  3. Перевірити наявність артефактів персистентності у файлах:
    • ~/.claude/settings.json
    • .vscode/tasks.json
    • .github/workflows/codeql.yml
    • .github/setup.js
  4. Аудитувати активність GitHub на предмет підозрілих комітів, особливо підписаних через createCommitOnBranch, а також npm‑публікацій у період експозиції
  5. Для CI/CD: призупинити уражені робочі процеси, визнати недійсними всі артефакти збірки, створені в період експозиції, і перевірити кожен контейнерний образ, npm‑пакет і деплоймент‑артефакт, опублікований після встановлення шкідливого пакета
  6. Посилити контроль доступу: запровадити обов’язковий рев’ю для змін у GitHub Actions workflows, обмежити права токенів за принципом мінімальних привілеїв

Кампанія Miasma демонструє зрілу модель атаки на ланцюг постачання, яка поєднує викрадення секретів, зловживання довірою до підписаних артефактів і автоматичне поширення через CI/CD. Організаціям, що використовують будь-які пакети з простору @redhat-cloud-services, слід негайно провести аудит залежностей, виконати повну ротацію секретів і перевірити всі артефакти збірки, створені за період із кінця травня 2026 року, — до появи офіційного підтвердження від Red Hat про повне усунення загрози.


CyberSecureFox Editorial Team

Редакція CyberSecureFox висвітлює новини кібербезпеки, уразливості, malware-кампанії, ransomware-активність, AI security, cloud security та security advisories вендорів. Матеріали готуються на основі official advisories, даних CVE/NVD, сповіщень CISA, публікацій вендорів і відкритих звітів дослідників. Статті перевіряються перед публікацією та оновлюються за появи нових даних.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.