Анализ угроз: вредоносные npm-пакеты атакуют криптокошельки Ethereum и BSC

Опасность в экосистеме npm: выявлены вредоносные пакеты для кражи средств с криптовалютных кошельков
Исследовательская группа Socket Threat обнаружила серию вредоносных пакетов npm, которые представляют значительную угрозу для пользователей криптовалютных платформ Ethereum и Binance Smart Chain (BSC). Вредоносные библиотеки способны похитить до 85% средств с целевых криптовалютных кошельков, используя методы социальной инженерии и маскировки под легитимные пакеты.
Основные факты об обнаруженных вредоносных пакетах
- Всего идентифицировано четыре злонамеренных пакета: pancake_uniswap_validators_utils_snipe, pancakeswap-oracle-prediction, ethereum-smart-contract и env-process.
- Количество загрузок всех этих пакетов превысило 2100.
- Автором атак является хакер под псевдонимом @crypto-exploit.
- Вредоносные пакеты содержат функционал для оценки баланса жертвы и автоматического перевода примерно 80% средств на адрес злоумышленника.
Стратегия атаки и технические особенности вредоносных пакетов
Главная методика злоумышленника — это использование опечаток в названиях пакетов, имитирующих популярные и легитимные библиотеки. Такая тактика часто применяется для обмана пользователей, которые случайно устанавливают вредоносный код вместо нужного.
Например, пакет pancake_uniswap_validators_utils_snipe, загруженный 350 раз, был первым из созданных хакером. Самым последним выпущенным стал env-process, который маскируется под важный системный пакет Node.js process — критический для правильной работы функций типа nextTick в безопасных средах.
Технические детали вредоносных скриптов включают:
- Оценку общего баланса целевого кошелька перед началом кражи.
- Перевод около 80% средств на заранее определённый адрес злоумышленника.
- Сохранение в кошельке жертвы суммы, необходимой для оплаты комиссий (gas fees) — это снижает вероятность подозрительных отказов транзакций.
- Использование уязвимостей, связанных с неправильным хранением закрытых ключей в переменных окружения (environment variables).
- Интеграцию механизмов обфускации кода и введение так называемого «законного» функционала, например, метода
validateToken(), для обхода систем детекции и снижения подозрений.
Маскировка под легитимные пакеты и психологический обман
Пакет ethereum-smart-contract специально создан так, чтобы вводить пользователей в заблуждение, напоминая легитимный пакет ethereum-smart-contracts, предоставляющий инструменты для работы со смарт-контрактами. При этом злоумышленник использует в коде знакомый вредоносный адрес Ethereum.
Кроме того, применение console logging в скриптах — намеренная стратегия, чтобы имитировать корректную работу программ и отвлечь внимание пользователей и систем безопасности.
Значимость и рекомендации для пользователей
Данная атака подчёркивает важность строгого контроля при установке npm-пакетов, особенно в контексте проектов, связанных с криптовалютами. Рекомендуется:
- Внимательно проверять имена и источники пакетов перед установкой.
- Использовать официальные и проверенные репозитории, а также тайм-штампы обновлений.
- Ограничивать хранение приватных ключей и других чувствительных данных в переменных окружения.
- Подключать механизмы сканирования на наличие вредоносного кода и использовать автоматические системы аудита безопасности.
Как подчеркнули эксперты Socket Threat, такие атаки становятся всё более изощрёнными, и только комплексный подход к безопасности способен защитить пользователей от значительных финансовых потерь.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



