bee-js 13.3.0 в npm пыталась украсть ключи криптокошельков
Версия 13.3.0 библиотеки @ethersphere/bee-js для Swarm вышла через штатный процесс публикации проекта и сразу при установке пыталась похитить ключи кошельков.

Достаточно было поставить @ethersphere/bee-js версии 13.3.0, и вредонос начинал искать ключи криптокошельков. С 9 ноября CodeScoring относит эту версию JavaScript-библиотеки для распределённого хранилища Swarm к вредоносным.
Самое неприятное в том, как пакет попал в npm. Не через взлом чужой учётной записи, а через штатный процесс публикации проекта. Под учётной записью выпуска bee-worker в официальный репозиторий внесли прямой коммит, затем создали релиз, и тот запустил существующий workflow GitHub Actions. По данным Socket, сведения о сборке в npm указывали на официальный репозиторий и обычный процесс выпуска. Вредонос к тому моменту уже лежал в исходниках.
Как работал вредонос в bee-js 13.3.0
Злоумышленники изменили пакет так, чтобы скрипт запускался автоматически при установке. Если выполнение таких скриптов было разрешено, вредонос срабатывал ещё до того, как библиотеку начали использовать в приложении. В комментариях к коду обращение к их серверу было названо отправкой аналитики. На деле скрипт получал оттуда JavaScript и сразу выполнял его с правами пользователя, который ставил пакет.
Полезная нагрузка искала в данных приложения Swarm Desktop зашифрованный ключ кошелька и файл конфигурации. Если в конфигурации был пароль от ключа, кража двух файлов давала контроль над кошельком. Вредонос также пытался закрепиться в системе, чтобы доступ остался после установки.
На Linux и macOS атака шла дальше: ставился бэкдор для удалённого выполнения команд. Адрес командного сервера он читал из смарт-контракта Ethereum. Оператор мог поменять адрес одной транзакцией, не выпуская новую сборку вредоноса.
Как проверить, затронут ли ваш проект
Заражённая версия могла прийти и транзитивно. Диапазоны зависимостей нескольких инструментов Swarm допускали 13.3.0, поэтому смотреть нужно фактически разрешённую версию в lock-файле. Одного поиска прямой зависимости в манифесте недостаточно.
Командам, использующим bee-js, стоит проверить lock-файлы, кэши пакетов и журналы установки в CI на версию 13.3.0, включая транзитивные зависимости. Если она ставилась с разрешёнными скриптами или запускался Swarm Desktop 0.56.2, машину или CI-раннер нужно исследовать. Для раннера это касается токенов публикации пакетов и доступа к исходникам.
По данным CodeScoring, блокирующие политики с условием «Зависимость опасна» останавливают загрузку этого и других известных вредоносных пакетов в модуле CodeScoring.OSA и сборку проекта в модуле CodeScoring.SCA.
Приложения, на которые стоит взглянуть
Выбирайте нужные клетки, складывайте, достигайте цели. Легко понять, сложно освоить. Бесплатно, для любого возраста.
Общайтесь с ИИ-собеседником: каждая фраза возвращается исправленной и объяснённой на вашем языке. 9 языков, от A1 до C2.
Открывайте сообщения EDIFACT и X12, каждый сегмент объяснён, конвертация в JSON/XML, экспорт в PDF и Excel. Работает локально, без загрузки.
Выберите, кому, по какому поводу и с каким характером. Поисковик читает описания товаров местных магазинов и выводит то, что подходит. Бесплатно, без регистрации.
Ещё за этот день
Показать все →
База игр UTM: агент на Claude Code сам ищет патчи для сбоев

Роскомнадзор запустил ИИ для поиска VPN за 2,27 млрд рублей

Amazon выпустил инструмент, целиком написанный ИИ-агентами

