Библиотека из npm похищала ключи криптокошельков ещё до запуска приложения
С 9 ноября CodeScoring относит версию 13.3.0 JavaScript-библиотеки @ethersphere/bee-js для распределённого хранилища Swarm к вредоносным. При установке зависимости её код загружал вредонос, который пытался похитить ключи криптокошельков. Заражённый пакет вышел через штатный процесс публикации проекта. Под учётной записью выпуска bee-worker в официальный репозиторий внесли прямой коммит, а затем создали релиз, запустивший существующий workflow GitHub Actions. По данным Socket , сведения о сборке в npm указывали на официальный репозиторий и штатный процесс выпуска проекта. Вредонос к этому моменту уже находился в исходниках. Злоумышленники изменили пакет , чтобы вредоносный скрипт запускался автоматически при установке библиотеки. Если выполнение таких скриптов было разрешено, то вредонос запускался ещё до использования библиотеки в приложении. В комментариях к коду злоумышленники описали обращение к своему серверу как отправку аналитики. На деле скрипт получал оттуда JavaScript и сразу запускал его с правами пользователя, который устанавливал пакет. Полезная нагрузка искала в данных приложения Swarm Desktop зашифрованный ключ кошелька и файл конфигурации. Если в конфигурации был пароль от ключа, то кража двух файлов позволяла получить управление кошельком. Вредонос также пытался закрепиться в системе, чтобы сохранить доступ после завершения установки. На Linux и macOS атака продолжалась установкой бэкдора для удалённого выполнения команд. Адрес командного сервера он читал из смарт-контракта Ethereum . Оператор мог сменить этот адрес одной транзакцией, не выпуская новую сборку вредоноса. Важно учитывать, что заражённая версия могла прийти и транзитивно. Диапазоны зависимостей нескольких инструментов Swarm допускали версию 13.3.0, поэтому проверять нужно фактически разрешённую версию в lock-файле. Одного поиска прямой зависимости в манифесте недостаточно. Читать далее
