Добавить в корзинуПозвонить
Найти в Дзене
CISOCLUB

Shai Hulud: npm‑червь атакует цепочку поставок и эксфильтрирует секреты

Кибербезопасность в сфере разработки вновь оказалась под ударом: группа, действующая под именем Shai Hulud, инициировала вторую волну supply-chain‑атаки, нацеленную на несколько известных платформ — включая Zapier, ENS, AsyncAPI, PostHog и Postman. Атака произошла незадолго до запланированного отзыва npm‑токенов classic, что позволило злоумышленникам воспользоваться уязвимым окном миграции и поразить многочисленные пакеты, ещё не перешедшие на более безопасные методы публикации. Shai Hulud — это самовоспроизводящийся червь для npm, разработанный для быстрого проникновения в среду разработчиков. Механика атаки сочетает в себе эксфильтрацию секретов и автоматическое размножение через реестр пакетов: после заражения вредоносное ПО использует TruffleHog для поиска открытых секретов (API‑ключи, токены и т.п.), публикует найденные данные в общедоступный репозиторий на GitHub и пытается отправить новые версии себя в реестр npm, обеспечивая дальнейшее распространение. Злоумышленник назвал эту
Оглавление

Кибербезопасность в сфере разработки вновь оказалась под ударом: группа, действующая под именем Shai Hulud, инициировала вторую волну supply-chain‑атаки, нацеленную на несколько известных платформ — включая Zapier, ENS, AsyncAPI, PostHog и Postman. Атака произошла незадолго до запланированного отзыва npm‑токенов classic, что позволило злоумышленникам воспользоваться уязвимым окном миграции и поразить многочисленные пакеты, ещё не перешедшие на более безопасные методы публикации.

Краткая суть инцидента

Shai Hulud — это самовоспроизводящийся червь для npm, разработанный для быстрого проникновения в среду разработчиков. Механика атаки сочетает в себе эксфильтрацию секретов и автоматическое размножение через реестр пакетов: после заражения вредоносное ПО использует TruffleHog для поиска открытых секретов (API‑ключи, токены и т.п.), публикует найденные данные в общедоступный репозиторий на GitHub и пытается отправить новые версии себя в реестр npm, обеспечивая дальнейшее распространение.

Злоумышленник назвал эту волну угроз «Вторым пришествием» — соответствуя собственному драматическому брендингу.

Масштабы и последствия

  • Скомпрометировано 425 пакетов.
  • Совокупная аудитория этих пакетов — около 132 миллиона ежемесячных загрузок.
  • Вредонос публикует украденные секреты в публичный репозиторий GitHub под случайными именами и описаниями, что затрудняет обнаружение и повышает риск дальнейшей эксплуатации.

Технический анализ: как работает червь

Исследование заражённых пакетов показывает двухуровневую структуру вредоносного кода. В некоторых пакетах обнаружен исходный промежуточный скрипт: setup_bun.js, однако ключевой исполняемый код червя находится в файле bun_environment.js. Именно этот файл реализует логику поиска секретов, загрузки результатов на GitHub и попыток повторной публикации в реестр npm.

Ключевые элементы механизма:

  • Использование TruffleHog для автоматического поиска секретов в кодовой базе и конфигурациях.
  • Автоматическая публикация обнаруженных секретов в публичном репозитории с случайными метаданными, чтобы усложнить отслеживание и сокрытие следов.
  • Самовоспроизводимость — червь пытается создать новые пакеты/версии в npm, что делает его угрозой для всей экосистемы.

Почему это сработало

Инцидент выявил несколько системных проблем в цепочке поставок ПО и практиках безопасности разработчиков:

  • «Уязвимое окно» миграции от токенов classic позволило сохранить работоспособность устаревших практик публикации у большого числа пакетов.
  • Широкое использование открытых секретов в репозиториях и недостаточная ротация ключей.
  • Отсутствие строгой проверки целостности пакетов и слабая защита CI/CD‑конвейеров.
  • Публикация исходного промежуточного кода в некоторых пакетах, что облегчило анализ и модификацию вредоносного поведения.

Индикаторы компрометации (IoC)

  • Файлы с именами setup_bun.js и bun_environment.js в пакетах — повод для срочной проверки.
  • Необычная активность публикаций в реестре npm от ранее известных пакетов или новых версий без явных изменений в функциональности.
  • Появление новых публичных репозиториев на GitHub с файлами, содержащими API‑ключи или токены, особенно если метаданные репозитория выглядят случайными.

Рекомендации для разработчиков и организаций

Чтобы снизить риски дальнейшего распространения подобных атак, экспертная практика предполагает следующие меры:

  • Немедленно провести аудит зависимостей и проверить наличность setup_bun.js, bun_environment.js и иных подозрительных файлов в пакетах и сборках.
  • Ротировать и отзывать любые ключи и токены, которые могли быть скомпрометированы; при возможности перейти на более безопасные методы аутентификации вместо classic токенов.
  • Удалить секреты из репозиториев и использовать секрет‑менеджеры (Vault, cloud secret managers) и переменные окружения CI вместо хранений в коде.
  • Внедрить сканирование исходного кода и репозиториев на утечки чувствительных данных (TruffleHog, git-secrets и т.п.) — как локально, так и в CI.
  • Ограничить права публикации в реестре и включить дополнительные проверки целостности пакетов (signing, provenance), а также multi‑factor authentication для критичных учётных записей.
  • Мониторить публичные репозитории на GitHub на предмет публикаций с известными паттернами утечек и репортить подозрительные репозитории.

Вывод

Кампания Shai Hulud снова продемонстрировала, насколько уязвима цепочка поставок программного обеспечения — особенно в момент перехода от устаревших практик к новым политикам безопасности. Комбинация автоматизированного поиска секретов, публичной публикации украденных данных и способности к самовоспроизведению делает такую угрозу чрезвычайно опасной. Организациям и разработчикам необходимо действовать быстро: аудит, ротация ключей, улучшение контроля публикаций и внедрение инструментов для предотвращения утечек — единственные эффективные ответы на подобные атаки.

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

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

Оригинал публикации на сайте CISOCLUB: "Shai Hulud: npm‑червь атакует цепочку поставок и эксфильтрирует секреты".

Смотреть публикации по категориям: Новости | Мероприятия | Статьи | Обзоры | Отчеты | Интервью | Видео | Обучение | Вакансии | Утечки | Уязвимости | Сравнения | Дайджесты | Прочее.

Подписывайтесь на нас: VK | Rutube | Telegram | Дзен | YouTube.