Расширение JeeBot для Twitch передавало OAuth-токены пользователей на прокси-серверы оператора. Исследователи Socket нашли проблему в расширении для Chrome и Firefox, которым пользовались около 31 000 человек.

Речь о расширении Twitch Enhanced Viewer | JeeBot. В Chrome Web Store у него было примерно 30 000 пользователей. В Firefox — около 600. Разработчик продвигал его как инструмент для стримеров и зрителей: улучшение просмотра, 2K-контент, скрытие баннеров и нежелательных элементов, плюс AI-бот для общения со стримом.

На бумаге звучит как обычный набор удобств для Twitch. Но внутри расширение работало куда интереснее.

Продолжение после рекламы

JeeBot отправлял токены через прокси вместе с плейлистами Twitch

Socket выяснила, что JeeBot запрашивал видеоплейлисты Twitch через собственные прокси-серверы. Проблема не в самом прокси, а в том, что расширение добавляло к запросу пользовательский OAuth-токен прямо в URL, как параметр auth.

Для пользователя это выглядит невидимо. Он открывает стрим, расширение получает плейлист, видео играет. Но токен в URL легко попадает в журналы запросов на стороне прокси. А OAuth-токен — это не просто техническая строка. С ним сервисы понимают, что запрос идёт от конкретного аккаунта.

Исследователи описали схему так: «Текущие сборки v85.x передают токен inline как параметр &auth в сетевом редиректе на прокси оператора». Пересказ деталей также опубликовал The Hacker News.

Самый неприятный момент — исключения в коде. По данным Socket, расширение не пересылало токены только для десяти заранее прописанных российских стримерских каналов. Для всех остальных каналов токен уходил вместе с запросом.

Изображение к статье: JeeBot для Twitch передавал OAuth-токены 31 000 пользователей

Жёстко прописанный список каналов меняет оценку инцидента

Если бы расширение отправляло токены всем подряд, это можно было бы списать на плохую архитектуру. Такое бывает: разработчик строит прокси, не думает о логах, а потом получает отчёт от исследователей и чинит код. Но список исключений на десять каналов выглядит как осознанная логика.

Socket прямо не доказывает, что разработчик использовал токены для захвата аккаунтов или других атак. В исходных данных нет сведений о взломанных каналах, украденных платежах или массовых жалобах пользователей Twitch. Поэтому аккуратная формулировка здесь такая: поведение расширения было намеренно заложено в код, а степень вреда ещё надо подтверждать фактами.

Разработчик HISHIMIRO/jeetbot.cc выпустил исправление после раскрытия проблемы. Новая версия получила номер 85.8.7. В ней токены больше не отправляются на прокси при получении плейлистов.

Но исправление расширения не отменяет старые логи. Если токены уже попали на серверы, пользователь не может проверить, кто и как к ним обращался. Поэтому Socket рекомендует владельцам JeeBot отозвать ранее выданный Twitch-токен. Это не инструкция по настройке, а базовая мера после утечки учётных данных.

Chrome-версия ещё проходит проверку

Для Firefox исправленная версия JeeBot 85.8.7 уже вышла. Chrome-сборка, по данным исследователей, на момент публикации находилась на проверке в Chrome Web Store. Это значит, что часть аудитории могла ещё видеть старую или не обновлённую версию расширения.

Продолжение после рекламы

История неприятная именно из-за масштаба. 31 000 пользователей — не уровень крупнейших утечек, но для Twitch-расширения это уже заметная аудитория. Особенно если среди них были стримеры, модераторы и активные зрители с привязанными аккаунтами.

Socket связала проблему с версией JeeBot 85.x, а исправление разработчик выпустил под номером 85.8.7; для Firefox оно доступно, версия для Chrome на момент сообщения ещё проходила ревью магазина.

Рейтинг: 0 / 5. Оценок: 0

Рекомендуем почитать

Оставьте комментарий

Перед оставлением комментария, пожалуйста, ознакомьтесь с правилами комментирования.