Компрометированный npm-пакет Injective угрожал ключам криптокошельков

Инцидент с npm-пакетом @injectivelabs/sdk-ts

8 июня 2026 года в реестре npm была обнаружена скомпрометированная версия 1.20.21 пакета @injectivelabs/sdk-ts. Вредоносный код целенаправленно извлекал wallet mnemonic phrases и private keys. Версия провела в открытом доступе менее часа, после чего была удалена разработчиком, однако злоумышленник успел распространить её гораздо шире.

Механизм компрометации

Вредоносное поведение реализовано в двух файлах, почти идентичных чистым аналогам из версии 1.20.23:

  • dist/cjs/accounts-Cy0p4lLW.cjs
  • dist/esm/accounts-jQ1GSgaW.js

Единственным дополнением стал внедрённый блок, помеченный как src/utils/key-derivation-telemetry.ts. Он ложно представлялся анонимизированными метриками использования для оптимизации SDK, тогда как фактически захватывал конфиденциальные данные кошельков.

Появление вредоносной версии связывают с account takeover — захватом учётной записи, обладавшей устоявшейся историей коммитов в соответствующем GitHub-репозитории. Это указывает на компрометацию конкретного аккаунта, а не на внешний взлом инфраструктуры npm.

Цепная реакция через 17 пакетов

Сразу после публикации заражённого SDK атакующий переопубликовал версию 1.20.21 в 17 других пакетах пространства имён @injectivelabs. Каждый из них был жёстко привязан к скомпрометированному sdk-ts, поэтому любой проект, зависевший от любого из этих пакетов, автоматически подтягивал вредоносный код в виде транзитивной зависимости. Таким образом увеличивался радиус поражения даже для тех, кто не использовал SDK напрямую.

Масштаб и сохраняющаяся угроза

За короткий промежуток времени вредоносная версия набрала 310 downloads, после чего была удалена. Однако удаление носило характер deprecation, а не полного физического стирания. Пакеты с версией 1.20.21 остались доступны для скачивания в кэширующих прокси и системах, не распознавших пометку об устаревании.

Прямое следствие: любые wallet mnemonic phrases и private keys, проходившие через код версии 1.20.21, должны считаться необратимо скомпрометированными.

Рекомендации

  • Немедленно провести ротацию всех ключей и кошельков, взаимодействовавших с проектами, которые в период 8 июня 2026 года могли разрешить зависимости с версией 1.20.21 пакетов @injectivelabs/*.
  • Выполнить аудит lock-файлов на предмет наличия указанной версии и принудительно перевести все зависимости на безопасную версию 1.20.23 или новее.
  • Убедиться, что CI/CD-пайплайны не кэшировали устаревшие образы с вредоносным пакетом.

Инцидент наглядно демонстрирует опасность слепого доверия к транзитивным зависимостям и важность быстрой реакции на сообщения о компрометации даже в течение короткого временного окна.

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

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

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