Множество 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 и создаёт коммит рабочего процесса через мутацию 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 не является достаточной мерой очистки, поскольку вредонос включает механизмы фонового выполнения и персистентности в инструментах разработчика.
- Изолировать все хосты, на которых были установлены затронутые версии пакетов
- Ротировать все потенциально раскрытые учётные данные: npm-токены, GitHub-токены, SSH-ключи, облачные учётные данные, секреты Kubernetes и Vault
- Проверить наличие артефактов персистентности в файлах:
~/.claude/settings.json.vscode/tasks.json.github/workflows/codeql.yml.github/setup.js
- Аудировать GitHub-активность на предмет подозрительных коммитов, особенно подписанных через createCommitOnBranch, и npm-публикаций в период экспозиции
- Для CI/CD: приостановить затронутые рабочие процессы, инвалидировать все артефакты сборки, созданные в период экспозиции, и проверить каждый контейнерный образ, npm-пакет и деплоймент-артефакт, опубликованный после установки вредоносного пакета
- Усилить контроль доступа: внедрить обязательное ревью для изменений в GitHub Actions workflows, ограничить права токенов по принципу минимальных привилегий
Кампания Miasma демонстрирует зрелую модель атаки на цепочку поставок, сочетающую кражу секретов, злоупотребление доверием к подписанным артефактам и автоматическое распространение через CI/CD. Организациям, использующим любые пакеты из пространства @redhat-cloud-services, следует немедленно провести аудит зависимостей, выполнить полную ротацию секретов и проверить все артефакты сборки, созданные за период с конца мая 2026 года, — до появления официального подтверждения от Red Hat о полном устранении угрозы.