Безобидный таймер в Chrome могу работать совсем не так, как видит пользователь. Исследователи обнаружили, что SDK Mellowtel встроенный в расширения браузера, преобразовывал домашние подключения в узлы распределённой сети. Сеть загружала веб-страницы и отправляла их содержимое удалённой инфраструктуре.
Mellowtel позиционирует себя как средство монетизации для разработчиков расширений. Фоновый компонент SDK открывал WebSocket-соединение с серверами сервиса, получал указания загрузить определённые страницы и выполнял эти задачи через IP-адрес владельца компьютера. Для целевых сайтов такие запросы выглядели как обычный трафик из дома, а не из облачной инфраструктуры.
Масштаб оказался значительным. Было выявлено около 245 расширений для Chrome, Edge и Firefox с суммарно почти миллионом установок. На момент исследования сеть охватывала примерно 90 тысяч IP-адресов, связанных с Mellowtel. После действий Google это число сократилось до 15–18 тысяч.
В расширениях встречались таймеры, будильники, калькуляторы, QR-сканеры, инструменты для скриншотов, загрузки изображений, отслеживания цен и работы с соцсетями. Многие из них содержали Mellowtel и получали разрешение <all_urls>, дающее доступ ко всем сайтам и фреймам.
Для скрытой загрузки чужих страниц SDK отключал защитные механизмы браузера. Он удалял Content-Security-Policy, X-Frame-Options и заголовки Cross-Origin, изменял CORS-поведение запросов. Эти заголовки обычно препятствуют встраиванию страниц третьих лиц и ограничивают обмен данными между разными источниками.
Возможности SDK выходили далеко за границы простой загрузки. Исследователи нашли функции для подстановки cookies, localStorage и sessionStorage, автоматических кликов, ввода текста и выполнения JavaScript-кода, полученного от оператора. Эти команды приходили после публикации расширения, поэтому его поведение могло меняться без обновления в магазине.
Обнаружилась уязвимость типа confused deputy. Обычный сайт мог заставить расширение отправить произвольный POST-запрос. Ответ атакующему не возвращался, но запрос уходил с IP пользователя и использовал привилегии расширения.
Резидентные адреса домашних сетей ценны именно потому, что сайты воспринимают их как живых людей. Через такие сети запускают автоматизацию учётных записей, парсинг и другие операции, где адреса дата-центров быстро попадают под блокировки. Владелец подключения при этом может столкнуться с ограничениями и жалобами за активность, которую запустил сторонний SDK.
Широкие права браузерных расширений уже привели к скрытым схемам. Вредоносные дополнения крали буфер обмена, а сотни псевдо-VPN перенаправляли трафик через контролируемые SOCKS5-серверы. Mellowtel отличается тем, что компания открыто позиционирует эту инфраструктуру как легальный способ монетизации.
Mellowtel утверждает, что текущая версия SDK отключена по умолчанию и начинает работу только с явного согласия пользователя. Компания также заявляет, что не собирает историю просмотров, пользовательские cookies и личные данные, а загружает только публичные страницы в изолированной сессии. При этом раскрытие роли SDK в расширениях оставалось недостаточно понятным.
После контакта исследователей с Google компания приняла меры против затронутых расширений. Версии без SDK остались в магазине. Количество наблюдаемых адресов упало примерно с 90 тысяч до 15–18 тысяч. Полный список активных расширений не опубликован, поэтому проверить масштаб оставшейся сети по публичным данным невозможно.
