Инциденты

Официальные npm-пакеты Red Hat заразили стилером Miasma: атака прошла через цепочку поставок

Маша Даровская
By Маша Даровская , IT-редактор и автор
Официальные npm-пакеты Red Hat заразили стилером Miasma: атака прошла через цепочку поставок
Обложка © Anonhaven

Red Hat подтвердила компрометацию нескольких npm-пакетов в пространстве имен @redhat-cloud-services. Инцидент раскрыли 1 июня 2026 года. Предварительная версия Red Hat: злоумышленники получили доступ к скомпрометированной учётной записи GitHub и через нее внесли вредоносные изменения в репозитории организации RedHatInsights.

Зараженные пакеты относятся к фронтенд-библиотекам JavaScript, которые используются в интерфейсе Hybrid Cloud Console — веб-консоли console.redhat.com. Во время окна компрометации новый релиз Hybrid Cloud Console не выпускался, а процесс публикации в консоль удаляет install-time scripts — скрипты, которые запускаются во время установки пакета. Компания также заявила, что затронутые пакеты не относятся к управляемым облачным сервисам Red Hat вроде Azure Red Hat OpenShift, OpenShift Dedicated, ROSA, ACS Cloud Service и Ansible Automation Platform on Cloud.

Для пользователей продуктов Red Hat это снижает риск прямого попадания вредоносного кода в официальную консоль. Для разработчиков и CI/CD-сред это не делает инцидент безобидным. Если зараженная версия пакета ставилась локально или в пайплайне сборки, вредоносный код мог выполниться ещё до импорта библиотеки в проект.

Исследователи связывают атаку с новой волной Shai-Hulud — вредоносного npm-червя, который крадет секреты и пытается распространяться дальше через доступные учетные данные. В этой кампании вариант получил маркер Miasma: The Spreading Blight. Он похож на Mini Shai-Hulud, но использует дополнительную обфускацию, многоступенчатую загрузку и новые приемы маскировки.

Механика атаки типична для npm supply chain, но масштаб и доверенный бренд делают ее опаснее обычного тайпсквоттинга. Это не поддельные пакеты с похожими названиями. Злоумышленники использовали легитимное пространство @redhat-cloud-services, поэтому зависимость выглядела нормальной для проектов, которые уже работали с компонентами Red Hat Cloud Services.

JFrog разобрала один из образцов — @redhat-cloud-services/types версии 3.6.1. Внешне это пакет с TypeScript-типами. Такой пакет обычно не должен запускать JavaScript-код перед установкой. В заряженной версии в package.json появился preinstall-хук: node index.js. Это означает, что вредоносный код стартовал автоматически при установке зависимости, еще до того, как разработчик или сборочная система начали использовать сам пакет.

Aikido насчитала 96 заражённых версий в 32 пакетах с совокупной частотой 116 991 скачивание в неделю. OX Security оценивала масштаб как 31+ пакет и более 116 тысяч недельных скачиваний. ReversingLabs описала 31 пакет, опубликованный в 72-секундном окне, с общей исторической базой около 9,8 млн скачиваний. Разница в оценках объяснима: исследователи считали пакеты, версии и окна публикации немного разными методами. Общая картина не меняется — вредоносные версии попали в официальный npm-канал Red Hat Cloud Services.

Главная цель Miasma — секреты разработчиков и инфраструктуры. Исследователи указывают на сбор GitHub-токенов, npm-токенов, AWS-, GCP- и Azure-учётных данных, переменных окружения, SSH-ключей, Git-конфигураций, Kubernetes- и Vault-материалов, данных CI/CD и локальной информации о системе.

OX Security описывает схему эксфильтрации через GitHub: украденные данные отправлялись в новый репозиторий GitHub, созданный через токен жертвы. В описании таких репозиториев использовалась строка Miasma: The Spreading Blight. Исследователи также нашли более 210 репозиториев GitHub со следами украденных секретов. Это плохой сценарий для компаний: даже короткий запуск зараженной зависимости в CI может оставить след в виде утекших токенов.

JFrog отдельно указала на GitHub dead-drop-подход. В такой схеме GitHub используется не просто как место для публикации кода, а как промежуточная площадка для доставки полезной нагрузки или выгрузки данных.

Red Hat заявила, что скомпрометированные версии удалены из npm после раскрытия. Компания продолжает анализировать систему сборки и зависимости, чтобы подтвердить, что в продуктовые сборки не попали заражённые версии. Текущая позиция Red Hat: по имеющимся данным действия от клиентов не требуются. Это заявление относится к продуктам Red Hat и официальной консоли. 

Под риск попадают команды, которые выполняли npm install, npm ci, сборку контейнеров или автоматические пайплайны с затронутыми пакетами после публикации вредоносных версий. Особенно опасны CI-среды с доступом к облачным ключам, npm-публикации, GitHub Actions secrets, deploy-токенам, Kubernetes-конфигам и секретам Vault.

Отдельно стоит проверить lock-файлы. Даже если npm уже удалил вредоносную версию, проект мог закрепить ее в package-lock.json, npm-shrinkwrap.json, pnpm-lock.yamlили yarn.lock. В таком случае сборка может пытаться использовать уже зафиксированную версию или зеркала артефактов. Внутренние registry-прокси вроде Nexus, Artifactory и Verdaccio тоже нужно проверить: они могли закэшировать зараженные tarball-файлы.

Для быстрой triage-проверки команды могут искать в зависимостях пакеты @redhat-cloud-services/*, подозрительные версии, preinstall-хуки, неожиданный index.js в type-only пакетах, обращения к GitHub из install-скриптов и маркеры Miasma: The Spreading Blight firedalazer. JFrog также описала дополнительный способ скрытого запуска через binding.gyp, где npm может вызвать node-gyp rebuild, а файл конфигурации выполнить команду в shell через <!(...)

Есть новость? Станьте автором.

Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.