Пакеты npm Red Hat под ударом: более 30 репозиториев распространяют похитителя облачных учетных данных

Скоординированная атака на цепочку поставок npm, нацеленная на кражу облачных учетных данных, затронула одно из самых узнаваемых имен в корпоративном программном обеспечении. Неизвестные злоумышленники скомпрометировали более 30 пакетов npm Red Hat Cloud Services, сначала захватив GitHub-аккаунт сотрудника Red Hat, а затем использовав этот доступ для отправки вредоносных коммитов. Вредоносное ПО, встроенное в эти пакеты, идентифицированное как вариант штамма «Mini Shai-Hulud», автоматически запускается во время установки и немедленно начинает похищать облачные учетные данные, включая ключи доступа AWS, GCP и Azure, а также SSH-ключи и конфигурационные файлы Kubernetes.

Этот инцидент примечателен не слабостью самого npm, а тем, как проникли злоумышленники: через легитимную, доверенную личность разработчика.

Как были скомпрометированы npm-пакеты Red Hat

Цепочка атаки началась с компрометации одного GitHub-аккаунта, принадлежащего сотруднику Red Hat. Оказавшись внутри аккаунта, злоумышленники получили доступ, необходимый для отправки кода непосредственно в репозитории, связанные с пакетами npm Red Hat Cloud Services. Поскольку коммиты исходили от аккаунта признанного контрибьютора, автоматизированным пайплайнам и рецензентам было значительно сложнее заметить что-то подозрительное.

Это определяющая черта атаки на цепочку поставок программного обеспечения: вредоносная нагрузка путешествует внутри легитимного ПО, подписанного и распространяемого через доверенные каналы. Разработчики, которые установили или обновили любой из затронутых пакетов в период компрометации, неосознанно запускали вредоносное ПО на своих системах без каких-либо явных предупреждений. Сами пакеты продолжали нормально функционировать, что еще больше затрудняло обнаружение.

Вариант вредоносного ПО «Mini Shai-Hulud» специально спроектирован для запуска во время установки, в момент, когда разработчик вводит npm install. Оно не ждет запуска приложения или взаимодействия пользователя. Такой подход резко сокращает время между заражением и кражей данных.

Какие учетные данные были украдены и почему это важно

Список целей вредоносного ПО читается как перечень самого опасного, что злоумышленник может извлечь с рабочей станции разработчика или раннера CI/CD пайплайна. Файлы учетных данных AWS, Google Cloud Platform и Azure являются первоочередными целями, поскольку эти ключи часто дают широкие права доступа к производственной инфраструктуре. Приватные SSH-ключи и конфигурационные файлы Kubernetes дополняют добычу, предоставляя злоумышленникам потенциальные пути бокового перемещения во внутренние сети и кластеры оркестрации контейнеров.

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

Именно поэтому службам безопасности следует помнить, что точки входа через цепочку поставок часто ведут к более глубокому компрометированию системы. Недавнее предупреждение CISA об уязвимости CVE-2026-31431, позволяющей локально повышать привилегии в Linux — прямое тому напоминание: злоумышленники, получившие доступ к системе с украденными учетными данными или через начальное заражение, редко останавливаются на этом. Они ищут следующее звено в цепочке.

Почему атаки на цепочку поставок — слепая зона для стандартных средств защиты

Традиционные средства безопасности построены на предположении, что угроза исходит от внешнего, неподписанного или неизвестного кода. Брандмауэры, агенты обнаружения на конечных точках и сканеры на основе сигнатур настроены выявлять аномалии. Атаки на цепочку поставок подрывают эту модель, прячась внутри программного обеспечения, которое имеет легитимную подпись и доставляется по ожидаемому каналу.

В данном случае бренд Red Hat и связанная с ним история аккаунта на GitHub придавали скомпрометированным пакетам высокий уровень неявного доверия. Разработчики, работающие с инфраструктурой, связанной с Red Hat, могли установить эти пакеты именно потому, что ожидали от них надлежащей поддержки и безопасности.

Стандартные инструменты сканирования зависимостей, проверяющие известные уязвимые версии, не обнаружат похитителей учетных данных, запускаемых при установке, если вредоносная версия еще не была помечена в базе данных уязвимостей. Атака использует разрыв между обнаружением «известного плохого» и поведенческим анализом.

Эшелонированная защита: управление секретами, сегментация сети и VPN

Ни одно отдельное средство контроля не остановит сложную атаку на цепочку поставок, но эшелонированная защита может значительно уменьшить радиус поражения.

Управление секретами вместо локальных файлов учетных данных. Самая эффективная мера — полное исключение статических файлов учетных данных с машин разработчиков и раннеров CI/CD. Инструменты, выдающие кратковременные, выдаваемые точно в срок учетные данные, означают, что даже если учетные данные будут украдены, они истекут прежде, чем злоумышленник сможет ими воспользоваться.

Фиксация зависимостей и проверка целостности. Привязка пакетов к конкретным проверенным хэшам коммитов, а не к плавающим диапазонам версий, ограничивает подверженность неожиданным изменениям кода. Сочетание этого с автоматическими проверками целостности содержимого пакетов добавляет еще один уровень обнаружения.

Сегментация сети и фильтрация исходящего трафика. Вредоносное ПО Mini Shai-Hulud должно куда-то отправить украденные данные. Ограничение исходящих соединений из сборочных окружений и машин разработчиков известными конечными точками может предотвратить кражу, даже когда вредоносное ПО успешно запущено. VPN и архитектуры сети с нулевым доверием позволяют единообразно применять такие политики исходящего трафика для распределенных команд.

Многофакторная аутентификация на каждом аккаунте разработчика. Изначальная компрометация здесь заключалась в захвате GitHub-аккаунта. Строгие требования MFA, особенно аппаратные ключи безопасности или аутентификация на основе passkey, существенно усложняют захват аккаунта.

Мониторинг поведения в CI/CD пайплайнах. Оповещения о неожиданных исходящих DNS-запросах или сетевых подключениях на этапе сборки могут выявить вредоносное ПО, запускаемое при установке, до того, как украденные учетные данные будут использованы.

Что это означает для вас

Если ваша среда разработки или эксплуатации зависит от каких-либо npm-пакетов Red Hat Cloud Services, немедленная первоочередная задача — проверить, какие версии пакетов используются, искать индикаторы компрометации в сетевых журналах вокруг событий установки и сменить все облачные учетные данные, которые могли присутствовать на затронутых системах.

В более широком смысле этот инцидент — повод пересмотреть гигиену облачных учетных данных от начала до конца. Хранятся ли учетные данные в виде файлов на машинах разработчиков? Ограничены ли переменные среды CI/CD минимально необходимыми привилегиями? Включена ли MFA на каждом аккаунте с правами публикации пакетов?

Атаки на цепочку поставок преуспевают, эксплуатируя доверие. Контрмера — строить системы, которые не полагаются исключительно на неявное доверие: проверенные идентичности, ограниченные по времени секреты и поведенческий мониторинг — вот основа. Начните с аудита учетных данных сегодня и относитесь к каждой зависимости как к потенциальной поверхности атаки, заслуживающей тщательного изучения.