Дослідники з Confiant розкрили деталі кампанії зловмисної реклами під назвою SourTrade, у якій браузер жертви самостійно збирає кінцевий виконуваний файл Windows з легітимного рантайму Bun і шкідливих компонентів, що доставляються частинами. Кампанія, за даними дослідників, діє з кінця 2024 року й націлена на роздрібних трейдерів та криптовалютних інвесторів у 12 країнах, маскуючись під бренди TradingView, Solana та Luno. Готовий шкідливий бінарний файл ніколи не передається мережею цілком — кожна жертва отримує унікальну збірку з іншим хешем, що робить марним просте виявлення за хеш-сумами. З погляду захисту ключова рекомендація залишається незмінною: встановлювати торгове та гаманне ПЗ виключно з офіційних сайтів розробників, а не за рекламними посиланнями.
Механізм збирання шкідливого ПЗ у браузері
Технічний ланцюжок доставки SourTrade використовує стандартні можливості вебплатформи без експлуатації будь-яких вразливостей браузера. Лендінг-сторінка починає підготовку ще до того, як користувач натисне кнопку завантаження: реєструється ServiceWorker за шляхом /sw.js, а потім створюється SharedWorker з JavaScript-коду, вбудованого безпосередньо в сторінку. Завдяки цьому вихідний код воркера не з’являється як окремий мережевий запит.
SharedWorker звертається до ендпоінту /config, який повертає шаблон збирання, URL вторинного домену для завантаження рантайму та сесійні випадкові значення. Браузер завантажує й розпаковує чистий рантайм Bun з окремого домену — в опублікованому зразку це purelogicbox[.]org. Bun — легітимний JavaScript-рантайм на рушії Apple JavaScriptCore, який офіційно підтримує компіляцію застосунків і байткоду в автономні виконувані файли Windows.
Шкідливі компоненти — PE-заголовок, таблиця секцій і секція .bun з байткодом JavaScriptCore для app.js — доставляються у вигляді Base64-блобів у відповіді /config. Воркер генерує псевдовипадковий потік байтів із використанням AES-CTR і за шаблоном-рецептом комбінує фрагменти чистого рантайму Bun, згенерований потік та шкідливий матеріал в єдиний виконуваний файл.
Ротація початкового значення (seed) і розміру в кожній відповіді /config змінює підсумковий хеш файла, зберігаючи при цьому функціональний шкідливий код. Як зазначив Майкл Стіл з команди Confiant: «Готовий шкідливий файл ніколи не існує в мережі» — хоча, як слушно уточнює аналіз, PE-структури та байткод усе ж проходять через мережевий канал у складі Base64-даних.
Маскування доставки через ServiceWorker
Зібраний файл передається ServiceWorker у вигляді потоку для читання (readable stream). Прихований iframe переходить за URL того самого домену, а воркер повертає згенеровані байти із заголовком Content-Disposition: attachment. У результаті позначка Mark of the Web (MotW) вказує на лендінг-сторінку як джерело завантаження, а не на окремий домен, з якого було отримано рантайм Bun. При цьому сама MotW зберігається — ланцюжок доставки не видаляє цю захисну мітку.
Важливе застереження: аналіз Confiant документує доставку файла, але не його виконання. Дослідники не встановили, чи починається завантаження автоматично, чи потребує дії користувача. Аналіз зупиняється на моменті запису файла на диск.
Лендінг-сторінки застосовують фингерпринтинг відвідувачів: передбачувані дослідники та боти бачать порожню сторінку, тоді як відібрані цілі отримують переконливу копію імітованого сервісу.
Еволюція та зв’язок із попередніми кампаніями
За даними Confiant, метод еволюціонував із більш ранньої активності, яку відстежували до 30 квітня 2026 року. У попередній версії сторінки завантажували бібліотеку StreamSaver.js з GitHub Pages автора, що залишало в записі завантаження шлях, який указував на GitHub. Поточна версія зберігає потокову архітектуру, включно з іменами повідомлень streamsaver:, але більше не звертається до зовнішнього репозиторію.
Компанія Bitdefender задокументувала пов’язаний кластер зловмисної реклами TradingView у вересні 2025 року, ідентифікувавши кінцеве корисне навантаження як стилер, який Check Point відстежує під назвою JSCEAL, а WithSecure — як WeevilProxy. Confiant вказує на спільні характеристики кампанії та виконуваних файлів, проте не доводить, що три опубліковані зразки SourTrade несуть те саме корисне навантаження. Можливості, задокументовані в ранніх кампаніях — крадіжка облікових даних, кейлогінг, перехоплення трафіку, крадіжка криптогаманців і віддалений доступ — наразі не можна однозначно приписати поточним файлам.
Варто відзначити суперечність: допис Bitdefender від вересня 2025 року, на який посилається Confiant, використовує детектувану назву Variant.DenoSnoop.Marte.1 і, за наявними даними, не згадує Bun. Це ставить під сумнів точність зв’язку між кластерами й потребує додаткового підтвердження.
Оцінка впливу
Кампанія, за даними дослідників, охоплює 12 країн і використовує 25 мов, що свідчить про масштабне таргетування роздрібних трейдерів і криптоінвесторів. Найбільшому ризику піддаються користувачі, які встановлюють торгове ПЗ за рекламними посиланнями в пошукових системах і соціальних мережах.
Реальний вплив техніки збирання в браузері на захисні системи варто оцінювати тверезо. Confiant формулює практичні наслідки стримано: унікальні посесійні збірки знижують ефективність простого виявлення за хешами. Однак шкідливі PE-структури та байткод як і раніше передаються мережею та доступні для аналізу на рівні мережевого трафіку.
Рекомендації із захисту
Програмного патча для цієї кампанії не існує — вона не експлуатує вразливості ПЗ. Захист будується на кількох рівнях:
- Для користувачів: завантажувати торгові платформи та криптогаманці виключно з офіційних сайтів розробників, ігноруючи рекламні посилання
- Для SOC-команд: аналізувати весь ланцюжок — від рекламного переходу й замаскованої лендінг-сторінки через запит
/configі завантаження рантайму з вторинного домену до потокової доставки через ServiceWorker — замість пошуку єдиного мережевого чи файлового артефакта - Для мережевого захисту: відстежувати звернення до ендпоінтів
/config, що повертають Base64-блоби з PE-структурами, а також завантаження й розпаковку рантайму Bun із нетипових доменів - Для виявлення на хості: не покладатися виключно на хеш-сигнатури; використовувати поведінковий аналіз виконуваних файлів на базі Bun із підозрілим байткодом JavaScriptCore
- IOC: домен purelogicbox[.]org зафіксований як джерело рантайму в опублікованому зразку. Confiant опублікував три SHA-256 хеші та список із 96 шкідливих доменів у повному звіті
SourTrade демонструє зміщення фокуса зловмисників від доставки готових бінарних файлів до використання стандартних API браузера для збирання шкідливого ПЗ на боці клієнта. Техніка ускладнює хеш-детектування, але не робить кампанію невидимою: шкідливі компоненти проходять через мережу, а MotW зберігається на завантаженому файлі. Пріоритетна дія для організацій — додати IOC зі звіту Confiant до систем моніторингу та налаштувати виявлення аномальних патернів: реєстрація ServiceWorker із подальшою потоковою доставкою виконуваного файла через прихований iframe є характерним маркером цього ланцюжка.