Атаки на цепочку поставок программного обеспечения становятся все более распространенными, причем злоумышленники все чаще нацеливаются на доверенные инструменты разработчиков, а не на конечных пользователей.
В последнем инциденте злоумышленники скомпрометировали доверенный программный пакет Injective Labs, чтобы похитить учетные данные кошельков разработчиков.


Как развивалась атака на Injective SDK?
Злоумышленник загрузил вредоносную версию TypeScript SDK, @injectivelabs/sdk-ts v1.20.21, в npm. Этот пакет предназначен для создания приложений на Injective, создания кошельков и подписания транзакций.
Затем злоумышленник получил доступ к учетной записи GitHub законного участника проекта Injective Labs и распространил вредоносные коммиты. Одна тестовая ветка называлась «test-backdoor-check».
Под предлогом телеметрии злоумышленник опубликовал скомпрометированный пакет в npm.
Вместо сбора данных об использовании вредоносное ПО извлекало приватные ключи и сид-фразы (мнемонические фразы). Это давало злоумышленникам все необходимое для воссоздания и захвата криптокошельков жертв.
Более того, компрометация распространилась через транзитивные зависимости в 17 дополнительных пакетах Injective, которые полагались на этот SDK.
Уязвимость, которая привела к взлому
Вредоносный код оставался неактивным во время установки, что помогало ему избежать обнаружения.
Вместо этого он выполнялся только тогда, когда разработчики использовали функции генерации кошельков fromMnemonic или fromHex.
Каждую неделю происходило около 50 000 загрузок скомпрометированного пакета. Как минимум 87 других пакетов также напрямую зависели от него.
Злоумышленник также выпустил 17 дополнительных пакетов Injective, зафиксированных на скомпрометированной версии SDK, расширив охват атаки.


Что еще?
Вскоре после этого стала доступна чистая версия v1.20.23. Однако скомпрометированная версия все еще была доступна в npm как устаревший пакет, а ее релиз-артефакты все еще были доступны на GitHub.
Следовательно, чтобы избежать подобных инцидентов в будущем, пользователям следует обновить все затронутые учетные данные, создать новые кошельки и перевести свои средства.
Это совпало по времени с потерей $20 миллионов BonkDAO из-за «вредоносного предложения по управлению», что сделало их последней жертвой криптовзлома.
Итоговое резюме
- Злоумышленник получил доступ к учетной записи GitHub законного участника проекта Injective Labs и использовал ее для распространения вредоносных коммитов.
- Разработчики оказались уязвимы из-за атаки по причине транзитивных зависимостей в 17 дополнительных пакетах Injective.





