Расширение для Twitch раскрыло OAuth-токены десятков тысяч пользователей
Специалисты компании Socket обнаружили, что браузерное расширение Twitch Enhanced Viewer | JeetBot, ориентированное на русскоязычных пользователей и насчитывающее около 31 000 установок, передавало OAuth-токены на прокси-серверы своих разработчиков.
Утечка токенов OAuth опасна тем, что они фактически позволяют захватить контроль над чужим аккаунтом без пароля и в обход двухфакторной аутентификации. С их помощью можно читать и отправлять личные сообщения, писать в чаты, менять настройки аккаунта и тратить channel points.
Twitch Enhanced Viewer | JeetBot позиционируется как инструмент для Twitch, который блокирует рекламу, позволяет смотреть трансляции в 1080p (в России качество трансляций ограничено до 720p), обходить региональные ограничения и автоматически собирать channel points. Расширение установили около 30 000 пользователей Chrome и порядка 600 пользователей Firefox.
Как нетрудно понять по названию, расширение связано с сервисом JeetBot — коммерческой платформой для стримеров и зрителей Twitch, Kick и VK Live, которая предлагает чат-ботов, озвучку сообщений, автоматический перевод и другие инструменты для создателей контента. Twitch Enhanced Viewer распространяется под брендом JeetBot и использует принадлежащие сервису прокси-серверы, чтобы загружать трансляции Twitch (в том числе в обход региональных ограничений).
Как выяснили исследователи, расширение извлекало пользовательский OAuth-токен из заголовка авторизации Twitch и передавало его вместе с запросами через прокси JeetBot. В актуальных версиях расширения ветки 85.x токен добавлялся прямо в URL как параметр &auth= при перенаправлении запросов к usher.ttvnw[.]net, откуда Twitch отдает плейлисты трансляций. В результате токены в открытом виде попадали в логи прокси-серверов и могли быть доступны сотрудникам JeetBot.
По данным аналитиков, старые версии расширения работали даже более прямолинейно. К примеру, версия 4.8 от января 2026 года передавала токен POST-запросом на специальный эндпоинт JeetBot, а в качестве резервных серверов использовались deno.dev и deno.net. При этом в Chrome Web Store разработчики заявляли, что расширение не собирает и не использует пользовательские данные.
Подчеркивается, что токен пересылался при просмотре практически любого Twitch-канала, и исключение составляли только десять преимущественно русскоязычных каналов, жестко прописанных в коде расширения.
Вскоре после публикации исследования Socket разработчики расширения пояснили, что для этих каналов использовался отдельный механизм, созданный из-за проблем с воспроизведением, которые возникали у части зрителей при подключении из-за пределов России или через альтернативные сетевые маршруты. После выхода версии 85.8.4 список таких каналов стало можно менять в настройках расширения.
Кроме того, в беседе с журналистами издания The Hacker News разработчик JeetBot Александр Попов (Aleksandr Popov) признал обнаруженную исследователями проблему, однако подчеркнул, что расширение не является вредоносным. По его словам, передача OAuth-токенов происходила исключительно для получения плейлистов Twitch, и токены не использовались для несанкционированных действий.
Попов назвал произошедшее недосмотром и признал, что описание расширения и политика конфиденциальности не отражали реальную ситуацию с обработкой данных.
В версии для Firefox проблему уже устранили с релизом 85.8.7: теперь OAuth-токены не передаются в JeetBot. Аналогичное обновление было подготовлено и для Chrome, но пока оно проходит проверку в Chrome Web Store.
Специалисты Socket рекомендуют удалить или отключить расширение, завершить все активные сессии Twitch и заново войти в аккаунт. Дело в том, что простое обновление или отключение Twitch Enhanced Viewer не аннулирует уже скомпрометированные токены.