CHAINDROP: червь Shai-Hulud заразил более 400 пакетов npm

Исследователи Elastic Security Labs раскрыли детали новой вредоносной кампании, которая ознаменовала возвращение группировки Shai-Hulud. В ходе атаки злоумышленники развернули самораспространяющегося червя CHAINDROP, скомпрометировав более 400 пакетов в реестре npm. Суммарно затронутые библиотеки насчитывают свыше 1,3 миллиарда загрузок в месяц, что делает инцидент одной из самых масштабных угроз цепочке поставок за последнее время.

Масштаб и вектор заражения

Кампания началась с компрометации учётной записи разработчика, поддерживающего широко распространённую библиотеку хранилища «ключ-значение» keyv. Получив доступ, злоумышленники внедрили вредоносный код непосредственно в monorepo проекта, после чего червь автоматически распространился на все пакеты, доступные скомпрометированному мейнтейнеру. Среди заражённых библиотек:

  • keyv
  • flat-cache
  • cacheable-request
  • cacheable
  • cache-manager

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

Устройство самораспространяющегося червя

Техническая архитектура CHAINDROP базируется на скрипте-дроппере setup.mjs. Он способен внедрять бэкдор во все подпакеты репозитория keyv и одновременно доставлять основную вредоносную нагрузку. Червь спроектирован как кроссплатформенный и успешно заражает системы под управлением Linux, macOS и Windows.

Payload представлен двумя файлами с разными именами, но идентичным содержимым: Math_Symbol.js и math_init.js. Оба имеют одинаковый SHA-256-хеш, что служит надёжным индикатором компрометации. При запуске дроппер проверяет наличие среды выполнения JavaScript bun и при необходимости загружает её с официального сайта релизов.

Распространение через среду разработки

Механизм распространения червя завязан на популярные инструменты разработчиков. CHAINDROP создаёт коммиты в GitHub от имени автора claude с сообщением chore: update config.. Дальнейшее продвижение происходит через определённые действия пользователей при работе с Claude Code или Visual Studio Code. В файле настроек settings.json прописываются хуки, которые запускают дроппер при старте этих приложений. Если среди похищенных данных обнаруживаются учётные данные GitHub, червь способен коммитить вредоносные нагрузки сразу в несколько веток репозитория.

Сбор конфиденциальных данных

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

  • API-ключам и токенам сервисов искусственного интеллекта (OpenAI, Anthropic);
  • учётным данным облачных провайдеров;
  • GitHub-токенам.

Динамическая C2-инфраструктура через Ethereum

Для получения конечной точки эксфильтрации CHAINDROP обращается к смарт-контракту Ethereum. Это позволяет операторам менять командный сервер простым обновлением контракта, не модифицируя сам payload. Реализован и резервный механизм: если контракт не может быть разрешён, червь сканирует историю коммитов GitHub в поисках специфического криптографического маркера, который указывает на легитимные домены управления.

Заражение цепочки поставок npm

Операционный фреймворк CHAINDROP включает прямое взаимодействие с реестром npm. Процесс заражения выглядит следующим образом: червь загружает последний архив пакета, встраивает в него вредоносные компоненты, изменяет файл package.json и заново упаковывает пакет для последующей публикации обратно в npm. Таким образом, компрометация непрерывно распространяется на новые жертвы через доверенные каналы обновления.

Обнаружение и защита

Elastic Defend уже развернул правила, нацеленные на выявление и смягчение подобных угроз в цепочке поставок. Инцидент подчёркивает критическую важность непрерывного мониторинга экосистемы npm, аудита прав мейнтейнеров и проверки целостности загружаемых пакетов. Разработчикам рекомендуется внимательно отслеживать подозрительную активность в репозиториях, особенно автоматические коммиты и непредвиденные хуки в конфигурациях IDE.

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

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

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии: