13 пакетов npm доставляли стилер WeaselBiscuit для данных расширений Chrome

Исследователи OpenSourceMalware обнаружили 13 пакетов в npm, распространявших ранее не описанный JavaScript-стилер WeaselBiscuit. После импорта пакета загрузчик loader.js получает основной код через сервис Npoint, запускает его в памяти и собирает данные из хранилищ расширений Chrome в Windows, macOS и Linux.
В список вошли @biz44/id10-client, @biz44/id12-client, @biz44/id44-client, @biz44/id79-client, @biz44/id95-client, @biz44/id99-client, @biz44/process-runtime-utils, @biz44/runtime-utils, engin1, id79-client, process-lhpm, process-mite и process-tailwind.
Как работает WeaselBiscuit
После запуска вредоносная программа получает конфигурацию управляющего сервера с отдельного адреса Npoint, собирает сведения о скомпрометированном хосте и обращается к каталогу Local Extension Settings. Это хранилище LevelDB с парами ключей и значений, которое используют расширения браузера.
WeaselBiscuit выгружает все доступные для чтения непустые файлы из этого каталога целиком. По оценке исследователя Пола Маккарти, такая функция может раскрыть состояние расширений криптокошельков или другие чувствительные данные, которые они хранят.
Управляющий сервер, указанный исследователями, — 103.170.217[.]184:8787. На компьютерах под Windows операторы могут по команде включать журналирование содержимого буфера обмена и нажатий клавиш.
Сходство с известной кампанией
По функциональности образец пересекается с BeaverTail и OtterCookie — вредоносными программами, которые связывают с кампанией Contagious Interview против разработчиков, ИТ-специалистов и пользователей криптовалют. BeaverTail действует как кроссплатформенный стилер и загрузчик, а OtterCookie сочетает сбор данных с удалённым выполнением команд.
WeaselBiscuit заметно проще: в нём нет удалённого доступа, закрепления в системе, кода для вывода средств из криптокошельков и доставки дополнительных полезных нагрузок, включая InvisibleFerret. Исследователи также отметили Npoint.io, вложенные запросы определения публичного IP и геолокации через api.ipify.org и ip-api.com, сходство архитектуры C2 с OtterCookie и числовые идентификаторы кампании 10, 12, 44, 79, 95 и 99.
OpenSourceMalware подчёркивает, что этих совпадений недостаточно для окончательной атрибуции КНДР: нет подтверждающих данных об инфраструктуре операторов, жертвах, метаданных кампании или материалах подписи.
Что учитывать командам разработки
Инцидент показывает риск даже у небольших пакетов: один импорт способен запустить загрузчик и открыть доступ к данным браузерных расширений. Бизнесу стоит инвентаризировать зависимости npm, проверять новые и малоизвестные пакеты до подключения в сборку, а также контролировать расширения браузеров на рабочих устройствах и данные, которые они сохраняют локально.

