Компрометированный 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.cjsdist/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. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



