Вредоносные npm-пакеты Joyfill используют блокчейн для C2

28 июля 2026 года экосистема npm столкнулась с высокотехнологичной атакой на цепочку поставок: две бета-версии популярных пакетов Joyfill — @joyfill/layouts@0.1.2-2773.beta.0 и @joyfill/components@4.0.0-rc24-2773-beta.4 — были скомпрометированы и опубликованы с вредоносной нагрузкой. Пакеты отозвали в течение нескольких часов, однако кэшированные копии в зеркалах реестров продолжают циркулировать, а скрытая в них командно-контрольная (C2) инфраструктура, построенная на публичных блокчейнах, остаётся активной.

Атака без typosquatting: маскировка под легитимный релизный цикл

В отличие от большинства инцидентов в open-source-экосистемах, злоумышленники не стали прибегать к typosquatting. Они эксплуатировали реальное пространство имён Joyfill и опубликовали бета-сборки с номерами версий, имитирующими внутренние процессы непрерывной интеграции. Такой подход существенно снижал подозрительность со стороны разработчиков, привыкших к регулярным пре-релизам этого вендора.

Основной вредоносный код находился в пакете layouts и активировался при обычном импорте components — без каких-либо install-скриптов или lifecycle-хуков. В production-сборки JavaScript скрытно внедрялись 62 строки обфусцированных инструкций, что заметно меняло размер и структуру бандла.

Как устроена двухуровневая C2-инфраструктура

Деобфускация выявила сложный механизм, опирающийся на свойства публичных блокчейнов как на канал управления, устойчивый к блокировкам. Сначала malware устанавливает связь с сетью Tron и извлекает хеш транзакции. Этот хеш затем используется для загрузки дополнительного payload из сети Binance Smart Chain (BSC). Таким образом, ни один статичный адрес или домен не фигурирует в коде напрямую, что затрудняет детектирование сетевыми сигнатурами.

Вся коммуникация между жертвой и C2-каналом дополнительно защищена шифрованием XOR. Слоёная обфускация команд — как передаваемых, так и принимаемых — добавляет ещё один барьер для реверс-инжиниринга и автоматизированных песочниц.

Самозакрепление через дочерний процесс Node.js

Анализ показал нетипичный для npm-угроз механизм сохранения присутствия. Если первоначальная попытка загрузить вредоносную логику завершается неудачей, код запускает отсоединённый дочерний процесс Node.js. Такой процесс способен пережить завершение родительского приложения и функционировать автономно, обеспечивая операторам долговременный доступ к скомпрометированной среде.

Отсылки к PolinRider и особый метод доставки

Архитектура C2 напоминает ранее наблюдавшуюся угрозу PolinRider, однако здесь применён иной вектор доставки. Ключевое отличие — в использовании ранних запросов к легитимным конечным точкам блокчейнов (Tron и BSC) как к стартовым триггерам, а не к специализированным вредоносным серверам. Это размывает границу между нормальным поведением приложений, взаимодействующих с Web3-инфраструктурой, и активностью вредоносного кода.

Неустранённые риски и необходимость мониторинга

Несмотря на оперативное удаление вредоносных версий мейнтейнерами Joyfill, угроза сохраняется по нескольким причинам:

  • кэшированные копии пакетов в зеркалах npm остаются доступными;
  • установленные C2-каналы на блокчейнах по-прежнему активны и могут получать обновлённые команды через дополнительные транзакции;
  • внедрённый код создаёт глобальную переменную, выполняющую роль маркера кампании, и предоставляет доступ к функциям node.js, необходимым для работы malware, что потенциально позволяет детектировать заражение «по косвенным признакам» только при глубоком аудите сборок.

Эксперты призывают всех пользователей затронутых пакетов провести ревизию зависимостей, очистить локальные кэши и временно заблокировать установку любых бета- и rc-версий Joyfill до публикации официальных отчётов. Инцидент в очередной раз подчёркивает: компрометация доверенного канала обновлений способна превратить даже респектабельный пакет в инструмент скрытного управления, способный получать команды из децентрализованных сетей и возобновлять своё присутствие после перезагрузки среды.

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

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

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