Компания Socket Threat Research обнаружила скоординированную вредоносную кампанию, в рамках которой 16 расширений Firefox были созданы для имитации популярных криптовалютных кошельков Rabby и OKX с целью кражи фраз восстановления и приватных ключей пользователей. Mozilla удалила все 16 расширений к 5 октября 2026 года, но эксперты предупреждают, что пользователи, установившие эти дополнения и вводившие свои секретные данные, должны считать свои кошельки скомпрометированными и немедленно перенести активы в новые кошельки.
Ключевые факты: 16 вредоносных расширений удалены Mozilla; 4 клона Rabby Wallet с модифицированным кодом; 12 расширений имитируют OKX Wallet; кража 12/24-словных seed-фраз и 64-символьных приватных ключей; передача данных через Cloudflare Workers; все расширения заявляли об отсутствии сбора данных в манифестах.
Исследователи разделили обнаруженные расширения на две основные категории. Четыре расширения представляли собой существенно переупакованные приложения Rabby Wallet, каждое содержало 1,114 файлов, включая экраны импорта кошелька, интерфейсы транзакций и код управления ключами. Злоумышленники частично изменили брендинг на "Raabby WaIIet" (с использованием омоглифов), в то время как другие экраны все еще отображали подлинное название Rabby. Пакеты также сохраняли ссылки на официальные приложения Rabby, юридические страницы и сервисы, помогая имитации выглядеть знакомо.
Двенадцать меньших расширений представляли интерфейс "Portal WALLET" с брендингом, похожим на OKX, сохраняли компоненты интерфейса OKX и связывались с подлинными страницами помощи и условий использования OKX. Их общий фронтенд предлагал пользователям импортировать кошелек, используя 12- или 24-словную фразу восстановления. Активные фоновые варианты обрабатывали фразу и пытались передать её, обычно через HTTPS POST-запрос.
| Тип расширения | Количество | Метод кражи | Особенности |
|---|---|---|---|
| Клоны Rabby Wallet | 4 | Модифицированный код кошелька | 1,114 файлов, частичное изменение брендинга |
| Поддельные OKX/Portal | 12 | Фишинговый интерфейс импорта | Имитация UI, ссылки на подлинные страницы |
Злоумышленники вставили функции кражи учетных данных как в фоновый код, так и в интерфейс кошелька. Эти хуки захватывали 12- или 24-словные фразы восстановления и 64-символьные шестнадцатеричные приватные ключи во время импорта и создания связки ключей, позволяя при этом базовому рабочему процессу кошелька продолжаться. Украденные материалы помещались непосредственно в параметры URL-запроса и отправлялись на endpoint Cloudflare Workers. Socket отмечает, что этот подход также может раскрыть секреты через логи инфраструктуры, которые записывают URL-адреса запросов.
Расширения-клоны Rabby использовали модифицированный код из легитимного кошелька, внедряя вредоносные функции в файл 977.js пакета кошелька. При создании нового кошелька или импорте существующего, вредоносный код перехватывал фразу восстановления и отправлял её на контролируемый злоумышленниками Cloudflare Worker endpoint. Репрезентативный запрос включал общий токен кампании "EQOx7EIPZSNi" и помещал фразу восстановления в параметр "w": "?a=login&s=EQOx7EIPZSNi&k=login&w=
Один из фоновых вариантов включал несколько методов доставки: browser beacon, fetch-запрос и image-запрос в качестве fallback. Хотя комментарии в коде утверждали, что только хэш и количество слов покидают устройство, Socket обнаружил, что payload содержал полную фразу восстановления. Это демонстрирует намеренный обман со стороны разработчиков вредоносного ПО.
Критическая уязвимость: Все 16 манифестов расширений заявляли, что расширения не собирают никаких данных, что противоречило их коду обработки учетных данных. Это создавало ложное чувство безопасности у пользователей при установке.
Интересно, что одно расширение ([email protected]) не могло выполнить свою процедуру кражи через обычный процесс установки. Его манифест не загружал фоновый скрипт, а фронтенд и фоновый код использовали несовместимые типы сообщений. Socket охарактеризовал это как дефект упаковки, указывая на то, что явный код сбора и передачи учетных данных все еще присутствовал в расширении, но не мог быть выполнен из-за технических ошибок злоумышленников.
Полный список идентифицированных вредоносных расширений включает следующие идентификаторы:
Более широкое исследование Socket выявило 77 связанных идентификаторов расширений Firefox, связанных через повторное использование кода, клонированные расширения, обманные описания в магазине, выбранные авторами паттерны ID дополнений и домено-подобные суффиксы, имитацию криптовалютных кошельков и истории версий, показывающие изменение назначения расширений. Анализ на уровне расширений подтвердил 40 как вредоносные. Еще 37 формируют скоординированную операцию с shell-приложениями для спортивных результатов.
| Категория расширений | Количество | Функциональность |
|---|---|---|
| Подтвержденные вредоносные (кража кошельков) | 40 | Перехват seed-фраз и приватных ключей |
| Спортивные shell-приложения | 37 | Обманные интерфейсы спортивных результатов |
Исследование показало, что 37 расширений содержат обманные реализации спортивных результатов, охватывающие футбол, баскетбол, NBA и хоккей, используя общие захардкоженные учетные данные для легитимных сервисов API-Sports, при этом рекламируя несвязанные функции, такие как генерация паролей, темный режим, VPN-доступ, конвертация валют, захват скриншотов и создание заметок. Исторические версии девяти подтвержденных вредоносных идентификаторов также использовали shell-приложения спортивных результатов перед тем, как более поздние версии под теми же Firefox ID были переориентированы в расширения для кражи кошельков.
Пользователи, установившие любое из перечисленных расширений, должны немедленно удалить его и проверить другие устройства Firefox и синхронизированные профили. Любой, кто вводил подлинную фразу восстановления или приватный ключ в работающий вариант, должен считать кошелек полностью скомпрометированным. Простое удаление расширения не отзывает фразу восстановления, и злоумышленники могут независимо получить доступ и перевести активы кошелька.
Критические действия при компрометации: Создать новый кошелек на чистом устройстве с новой фразой восстановления; перевести все активы из скомпрометированного кошелька; отозвать все approval (разрешения), связанные с подвергшимся воздействию кошельком; проверить историю транзакций на несанкционированные переводы.
Защитники не должны рассматривать запрошенные разрешения как показатель доверия. Некоторые вредоносные расширения в этой кампании требовали мало или вообще не требовали привилегированного доступа, одобренного пользователем, потому что они полагались на то, что жертвы вводили секреты в контролируемые злоумышленниками интерфейсы. Оценка должна сочетать разрешения с похожести кода, поведением удаленного контента, изменениями версий, ID расширений, инфраструктурой, историей подписи и артефактами между пакетами.
Команды безопасности также должны повторно оценивать расширения после обновлений и относиться к подвергшимся воздействию фразам восстановления или приватным ключам как к постоянно скомпрометированным, даже после удаления расширения. Экономика атаки очевидна: одна успешная установка может раскрыть фразу восстановления, приватный ключ или состояние кошелька, стоящие гораздо больше, чем стоимость многократной публикации одноразовых расширений.
Злоумышленники используют несколько тактик для уклонения от обнаружения: чередование имен и ID, переориентация существующих идентификаторов расширений, клонирование кода и разделение вредоносной функциональности между расширениями, удаленными страницами и облачной инфраструктурой. Это делает повторную публикацию дешевой и масштабируемой. Эксперты ожидают, что злоумышленники, стоящие за этой кампанией, и подобные операторы продолжат тестировать новые способы уклонения от проверки.
Будущие варианты могут сильнее полагаться на поэтапную доставку, отложенную активацию, обфускацию, вложенные payload и функциональность, разделенную между несколькими компонентами. Загрузчики Supabase уже показывают, как подписанный пакет может оставаться относительно безобидным, в то время как удаленная инфраструктура поставляет фишинговый контент позже. Истории версий в этой кампании также показывают, как расширение может начинаться как shell-приложение спортивных результатов или несвязанная утилита, прежде чем более позднее обновление заменит эту функциональность кодом для кражи кошельков.
Для организаций рекомендуется внедрение политик whitelist для расширений браузера, регулярный аудит установленных дополнений и обучение сотрудников распознаванию подозрительных расширений. Использование аппаратных кошельков для хранения значительных сумм криптовалюты обеспечивает дополнительный уровень защиты, поскольку приватные ключи никогда не покидают устройство и не могут быть перехвачены браузерными расширениями.
«В мире криптовалют ваша seed-фраза — это единственный ключ к вашему богатству. Один момент невнимательности при установке расширения браузера может стоить вам всего. Безопасность начинается с понимания того, что каждое установленное дополнение — это потенциальная точка уязвимости».
— Андреас Антонопулос, эксперт по биткоину и безопасности блокчейн-систем
