公式のChromeストアおよびFirefoxストアで配布されている「Twitch Enhanced Viewer | JeetBot」というブラウザ拡張機能が、ユーザーのTwitch OAuthセッショントークンを商用ボットサービスに送信していることが分かりました。
この拡張機能はインストール数が3万件を超えており、広告ブロック、1080p(フルHD)再生の強制、地域制限の回避、チャンネルポイント収集の有効化などができる、Twitch向けの正規のサードパーティ製ツールとして宣伝されています。
しかし、アプリケーションセキュリティ企業Socketの分析によると、この拡張機能はTwitchのWebクライアントが使用する認証ヘッダーを捕捉し、そこからユーザーのOAuthトークンを抽出したうえで、プロキシサーバー経由で認証情報を送信していることが判明しました。
このサーバーを運用しているのはJeetBotで、TwitchやKick、VK Live向けのツールを提供する、ロシア語圏の商用ストリーミング・チャットボットサービスです。
現在のバージョンの拡張機能では、トークンはリダイレクトされたプロキシリクエストにauth= URLパラメータとしてそのまま付加され、プロキシサーバーのリクエストログに記録されます。これにより、ソフトウェアベンダー側は容易にトークンを取得できてしまいます。
「この拡張機能がTwitchの動画プレイリストリクエスト(usher.ttvnw[.]net宛て)をそのプロキシ経由にリダイレクトする際、トークンを&auth=クエリパラメータとして付加します」とSocketは指摘しています。
「トークンがURLのクエリ文字列に含まれているため、プロキシサーバーのリクエストログには平文のまま記録されます」
この処理は、拡張機能のコードにハードコーディングされたロシア語圏の10チャンネルを除き、ユーザーが視聴するすべてのTwitchチャンネルに対して実行されます。

Socketは、この拡張機能の以前のバージョンには、より明白な認証情報窃取の仕組みが組み込まれていたと指摘しています。
Firefox Add-onsストアにおける製品説明の中で、開発者は以前使用していた仕組みについて次のような免責事項を記載していました。
「本拡張機能の以前のバージョンでは、お客様のOAuth-twitchトークンを弊社サーバーに送信していました。これは1080/1440pでのストリーム再生に必要な処理です」(機械翻訳)
Twitch Enhanced Viewer | JeetBotのChrome版に関するデータプライバシー開示では、開発者が「データの収集・利用は行わない」と申告していることが示されています。
この申告は、承認済みのケースを除くユーザーデータの第三者への販売や、製品の「主要機能」以外の目的でのデータ移転、「信用力の判定や融資目的」でのデータ利用を対象としています。
本記事の公開時点で、この拡張機能はChromeウェブストアとFirefox Add-onsストアの両方に依然として掲載されたままでした。
BleepingComputerはChromeウェブストアに記載されたメールアドレス宛てに、JeetBotへ詳細情報を求める問い合わせを送りましたが、記事公開までに返答はありませんでした。
Socketの研究者らは、この拡張機能はセキュリティ上のリスクがあるとして、ユーザーに対しブラウザから削除したうえで、Twitch上のすべてのセッションを切断し、再認証を行うことを推奨しています。これにより、転送された可能性のあるトークンを無効化できます。
また開発者に対しては、認証ヘッダーやトークンを含むリクエストをサードパーティのサーバー経由でルーティングしないよう助言しています。