Три злонамерени разширения за Firefox се представяха за крипто портфейлите Phantom, Jupiter и Bitget, за да крадат фрази за възстановяване и частни ключове.
Който притежава тези тайни, контролира портфейла и всички монети в него. И трите обяви бяха активни в магазина Firefox Add-ons по време на изследването и оттогава са премахнати.
Фалшивите добавки копираха имената, иконите и маркетинговите текстове на известни портфейли. Всеки, който търси доверен портфейл в магазина, лесно можеше да инсталира такава по погрешка. Това е същата измама, наблюдавана и при други фалшиви екрани на крипто портфейли, използвани за примамване на непредпазливи потребители.
Изследователи от Socket.dev откриха зловредния код и споделиха находките си на 27 октомври 2026 г. Екипът им установява, че разширенията изпращат откраднатите тайни към поддомейни на един домейн за командване и контрол (C2) – bonto[.]io.
Копието на Phantom съдържаше и скрит зареждащ модул, който можеше да промени поведението си, след като Mozilla го одобри.
Злонамерени разширения за Firefox се представят за Phantom, Jupiter и Bitget
Обявата на Phantom използваше подобни на латинските букви Unicode символи в името си, така че на екрана изглеждаше като „Phantom“. Тя преизползваше истинската икона с призрак на Phantom и се наричаше „Official Phantom Wallet (Firefox Update)“.
Копието на Jupiter твърдеше, че е създадено от Jupiter Exchange. Копието на Bitget използваше вътрешното име „TabFlow Pro“, но показваше на потребителите марката на Bitget. Нито едно от тях не предлагаше политика за поверителност и всички декларираха, че не събират данни.
Пакетът на Phantom съдържаше малък зареждащ модул, добавен към фоновия скрипт. Модулът скриваше адреса на сървъра си в списък от числа, след което изтегляше конфигурационен файл от phantom[.]bonto[.]io.
Този файл казваше на разширението дали да се изпълнява и съдържаше кодиран в base64 крадец на данни (stealer). Кодът се изпълняваше във всяка страница, която жертвата отвори, което му позволяваше да чете собствените обекти на страницата на портфейла.
Тъй като операторът контролира този сървър, той можеше да върне безобиден отговор по време на проверката от Mozilla и истинския крадец на данни – след нея.
Крадецът следеше за фрази за възстановяване от 12, 15, 18 и 24 думи, както и за формати на частни ключове за Ethereum и Solana. Той четеше текстови полета, събития при поставяне (paste) и номерираната мрежа с думи, която портфейлите показват на екрана със секретната фраза.
Заловените данни се изпращаха до сървъра на атакуващия във формат JSON. Това не е първият път, когато Socket открива такъв стил на кражба. Компанията съобщи и за 16 злонамерени разширения за Firefox, копиращи екрани на портфейлите Rabby и OKX, по-рано този месец.
Фалшификатите на Jupiter и Bitget работеха по-просто. Те включваха крадеца в пакета и изпращаха фразата за възстановяване директно до jupiter[.]bonto[.]io или bitget[.]bonto[.]io.
Копието на Jupiter искаше и достъп до Trezor Connect, което разширяваше обхвата на данните, които можеше да чете. Socket отбелязва, че и трите пакета са съдържали пълноценен, винаги активен крадец в подписания код, прегледан от Mozilla, така че отдалеченият зареждащ модул е бил само допълнителен слой.
Скрита инфраструктура и реален риск
Пакетът на Phantom отива по-далеч и включва собствения бекенд на оператора за източване на портфейли (drainer) – Node.js файл с име server.js.
Той записваше откраднатите тайни в локални файлове, изпращаше ги до Telegram бот и прехвърляше средства към фиксирани адреси за изплащане в Ethereum, BSC, Polygon, Arbitrum, Optimism, Base, Avalanche, Solana и Bitcoin.
Коментар в кода гласеше, че зловредният код ще работи само „after approval flip“, т.е. след прегледа от Mozilla. Втори файл, server-review.js, връщаше неактивен отговор, докато прегледът е в ход.
Всички сървъри за изтичане на данни са зад Cloudflare, който скрива истинския хост. Socket откри и работещи поддомейни за coinbase[.]bonto[.]io и exodus[.]bonto[.]io.
Това предполага, че групата е планирала да се представя и за Coinbase Wallet и Exodus, макар да не са открити съответни обяви в магазина. Всяка фалшива добавка идва от собствен еднократен акаунт на разработчик, което забавя масовото премахване.
Пакетите на Phantom и Jupiter съдържаха и файл CLAUDE.md – AI промпт за заобикаляне на ограничения (jailbreak), който никога не е зареждан. Socket смята, че това сочи към писане на зловреден код с помощта на изкуствен интелект и опит за заблуждаване на AI-базирани проверки.
Кампанията фалшифицира и репутацията си. За около два дни ревютата на обявата на Phantom скочиха от 275 на 546, а рейтингът ѝ се повиши от 2,9 на 3,9.
Това измести надолу ревютата с една звезда от потребители, които твърдят, че са загубили средства, въпреки че тези твърдения не са потвърдени. Обявите имаха само от един до трима дневни потребители, но сървърите бяха активни.
Групата изглежда повторен нарушител, подобно на по-ранната кампания Offside Wallet Theft Factory, която Socket свърза със 77 добавки за Firefox.
Потребителите на портфейли трябва да инсталират разширения само чрез връзки от официалния уебсайт на производителя на портфейла, а не чрез търсене в магазина. Никой истински портфейл няма да поиска фраза за възстановяване на уеб страница.
Всеки, който е въвел фраза или ключ в някоя от тези добавки, трябва да създаде нов портфейл на чисто устройство и веднага да премести средствата си.
Изтриването на разширението не прави изтеклата фраза безопасна. Екипите по сигурност трябва да блокират домейна bonto[.]io и неговите поддомейни и да търсят разширения, които изтеглят настройки и след това изпълняват резултата като код.
Разширенията за браузър не са единственият риск за портфейлите. Кампанията Odyssey Stealer показва, че атакуващите търсят данни от портфейли и на настолни компютри.
Индикатори за компрометиране (IoC):
| Тип | Индикатор | Подробности |
|---|---|---|
| Домейн | bonto[.]io | Основен C2 домейн |
| Поддомейн | phantom[.]bonto[.]io | Доставка на втори етап и изтичане на данни |
| Поддомейн | jupiter[.]bonto[.]io | Хост за изтичане на данни |
| Поддомейн | bitget[.]bonto[.]io | Хост за изтичане на данни |
| Поддомейн | coinbase[.]bonto[.]io | Подготвен хост |
| Поддомейн | exodus[.]bonto[.]io | Подготвен хост |
| IP адрес | 104[.]21[.]34[.]69 | Мрежов индикатор |
| IP адрес | 172[.]67[.]155[.]198 | Мрежов индикатор |
| C2 крайна точка | https://phantom[.]bonto[.]io/config | Конфигурация на зловредния код |
| C2 крайна точка | https://phantom[.]bonto[.]io/ | C2 на Phantom |
| C2 крайна точка | https://jupiter[.]bonto[.]io/ | C2 на Jupiter |
| C2 крайна точка | https://bitget[.]bonto[.]io/ | C2 на Bitget |
| EVM портфейл | 0x93ce11fAA9FC83741e8b392879b383bcc5f7f3Ad | ETH, BSC, Polygon, Arbitrum, Optimism, Base, Avalanche |
| Solana портфейл | GCo8tAh5WjAuH51bnRZtkmKDRuoXHFDNz9MZY25Zuvsr | Вграден адрес за изплащане |
| Bitcoin портфейл | bc1qrsfyjrsel924nny9q0qak5cfyf7pahmsydwnrq | Вграден адрес за изплащане |
| Токен на Telegram бот | 8834114695:AAGC99–r8KFikBpDw5JCkAteIc4cRi2VTU | Изтичане на данни |
| ID на Telegram чат | -5433023573 | Изтичане на данни |
| AMO акаунт на разработчик | anonymous-30b17a249a34fdf5d2be64b3dfcc8494 (user id 20229996) | Имитатор на Phantom |
| AMO акаунт на разработчик | anonymous-3efb89873d4c425c012cd1cb1736629a (user id 20231205) | Имитатор на Jupiter |
| AMO акаунт на разработчик | anonymous-ca2bf8b1ba371a1426c1049d9dad8168 (user id 20229610) | Имитатор на Bitget |
| Добавка | ID 3092199, v25.6.0, gecko ID a8f3k2m9x1fefb7q4n6p0r5t@j2w8c4fefy6v1d3z9 | Имитатор на Phantom |
| Добавка | ID 3092666, v1.19.2, gecko ID {48392751-9302-4817-5621-703829164830} | Имитатор на Jupiter |
| Добавка | ID 3092059, v2.21.8, gecko ID {c31e7a95-2f64-4b18-a0d3-6e92f5c7481b} | Имитатор на Bitget (TabFlow Pro) |
| SHA-256 | 311c49974f28d33947b8b74d78b48f51855eacac182d519a4fe1daa6af7f30e9 | XPI на Phantom (ha-25.6.0.xpi) |
| SHA-256 | 999bccd41188a238a50d05b5aca8e35af45d107f32d7443389313816f0cb226a | Зловреден код от втори етап на Phantom (2026-10-21) |
| SHA-256 | fd7b138f4fba003db332a4eee833e84491bf7ffec5a3d91f7451d7b95aabcf6a | XPI на Jupiter (j_i-1.19.2.xpi) |
| SHA-256 | e688bff5df32f209b4ebb882985e3ad19ddee68666405c39ff523307068a8611 | XPI на Bitget (3092059-2.21.8.xpi) |
Забележка: IP адресите и домейните са умишлено дефанг-нати (напр. [.]), за да се предотврати случайно резолвиране или превръщане във връзки. Връщайте оригиналния вид само в контролирани платформи за разузнаване на заплахи като MISP, VirusTotal или във вашия SIEM.