Malicious Twitch Extension Exposes OAuth Tokens of 30,000 Chrome and Firefox Users
Malicious 'Twitch Enhanced Viewer | JeetBot' browser extension stole live OAuth session tokens from roughly 31,000 Chrome and Firefox users.
Socket.dev found the cross-store extension 'Twitch Enhanced Viewer | JeetBot' rerouted Twitch playlist requests through operator-controlled proxies, attaching the victim's account-level OAuth token as a URL parameter where it could be logged in cleartext. About 30,000 Chrome and 552 Firefox installs were exposed, with tokens forwarded for nearly every watched channel to infrastructure tied to a Russian commercial bot service. The stolen bearer token enables chat, whisper, account-setting access and channel-point spending without the password or 2FA.
- Extension forwarded account OAuth tokens via operator-controlled proxies for almost every channel viewed
- Roughly 31,000 installs affected across Chrome and Firefox stores
- Stolen bearer tokens allow chat, settings access, and channel-point abuse bypassing 2FA
- Exfiltration linked to Russian commercial bot service infrastructure; IoCs published
Indicators of compromiseauto-extracted · verify before use · export allAll →
| Type | Indicator | Context |
|---|---|---|
| domain | alexue4.dev | m Developer email listed by chrome-stats Website identifier alexue4[.]dev Copyright identifier linked to the operator IP address 15 |
| domain | api.jeetbot.cc | 7[.]186 netcup GmbH, Germany, AS197540; hosts jeetbot[.]cc, api[.]jeetbot[.]cc, enhanced[.]jeetbot[.]cc, and enhanced-1[.]jeetbot[.]cc |
| domain | drisnya.online | 6154; hosts ext-styles[.]jeetbot[.]cc, morphilina[.]me, and drisnya[.]online IP address 80[.]74[.]26[.]162 CLODO Cloud, AS216154; host |
| domain | enhanced-1.jeetbot.cc | tbot[.]cc, api[.]jeetbot[.]cc, enhanced[.]jeetbot[.]cc, and enhanced-1[.]jeetbot[.]cc IP address 132[.]243[.]113[.]25 CLODO Cloud, AS216154; |
| domain | enhanced.jeetbot.cc | Germany, AS197540; hosts jeetbot[.]cc, api[.]jeetbot[.]cc, enhanced[.]jeetbot[.]cc, and enhanced-1[.]jeetbot[.]cc IP address 132[.]243[.]1 |
| domain | ext-03.jeetbot.cc | IP address 80[.]74[.]26[.]162 CLODO Cloud, AS216154; hosts ext-03[.]jeetbot[.]cc Domain jeetbot[.]cc Operator-controlled domain Domain a |
| domain | ext-styles.jeetbot.cc | P address 132[.]243[.]113[.]25 CLODO Cloud, AS216154; hosts ext-styles[.]jeetbot[.]cc, morphilina[.]me, and drisnya[.]online IP address 80[.] |
| domain | gmail.com | tbot[.]cc Operator contact address Email address cybergnyda@gmail[.]com Developer email listed by chrome-stats Website identifier |
| domain | img.drisnya.online | elper/ Public extension-helper API endpoint Screenshot host img[.]drisnya[.]online Image hosting endpoint associated with the operation Hi |
| domain | jeetbot.cc | ssociated with the extension listings Email address support@jeetbot[.]cc Operator contact address Email address cybergnyda@gmail[. |
| domain | morphilina.me | ]25 CLODO Cloud, AS216154; hosts ext-styles[.]jeetbot[.]cc, morphilina[.]me, and drisnya[.]online IP address 80[.]74[.]26[.]162 CLODO |
| domain | proxy.morphilina.me | jeetbot[.]cc Alternate operator proxy C2 and proxy endpoint proxy[.]morphilina[.]me Token-strip proxy endpoint Configuration endpoint ext-s |
| domain | proxy.thebeholder.deno.net | up token-collection endpoint Historical collection endpoint proxy[.]thebeholder[.]deno[.]net/set-token Decommissioned backup token-collection endp |
| domain | thebeholderbotapi.vercel.app | ssioned backup token-collection endpoint Privacy-policy URL thebeholderbotapi[.]vercel[.]app/twitch-conf Privacy-policy host cited in the investigat |
| domain | thebeholder-proxy.deno.dev | ed token-collection endpoint Historical collection endpoint thebeholder-proxy[.]deno[.]dev/set-token Decommissioned backup token-collection endpoi |
| sha256 | 141c35607dc0e8e400deb380126b3052bd0495b4d37c8dd979c6aa0204b142fc | ple.com Twitch Enhanced Viewer Firefox Add-ons ID; SHA-256: 141c35607dc0e8e400deb380126b3052bd0495b4d37c8dd979c6aa0204b142fc Note: IP addresses and domains are intentionally defanged ( |
| sha256 | e17e1e671b597da19b89c5b2d0fa821e90e627860e756ae4947ed27c035330a8 | ed Viewer | JeetBot Chrome Web Store extension ID; SHA-256: e17e1e671b597da19b89c5b2d0fa821e90e627860e756ae4947ed27c035330a8 Firefox extension [email protected] Twitch E |
Full article982 words · extracted from cybersecuritynews.com · click to collapse
A browser extension promoted as a Twitch viewing helper has been found sending live account tokens through servers controlled by its operator.
The add-on, called “Twitch Enhanced Viewer | JeetBot,” was available to Chrome and Firefox users and advertised conveniences such as ad blocking, higher-quality playback, region-unlocked streams, and automatic channel-point collection.
The risk sits behind those seemingly useful features. To alter video delivery, the extension reroutes Twitch playlist requests through third-party proxies.
During that process, it captures the logged-in user’s OAuth session token and exposes it to those proxy systems, turning an entertainment add-on into a potential account-takeover channel.
Analysts at Socket.dev identified the cross-store extension and found that its current releases transmitted the credential for nearly every channel a victim watched.
The Chrome listing showed roughly 30,000 users, while the Firefox listing recorded 552, putting the exposure at about 31,000 installations across the two browsers.
.webp)
Socket.dev said in a report shared with Cyber Security News (CSN) that the extension sent a live Twitch OAuth token to infrastructure linked to a Russian commercial bot service.
The findings add to a growing pattern in which trusted-looking add-ons abuse permissions, as seen in malicious Firefox add-ons stealing OAuth.
Malicious Twitch Extension Exposes OAuth Tokens
The extension did not need to trick users into entering a password on a fake page. Its page script read the Authorization header used by Twitch’s own web client, passed that data to a background worker, and recovered the raw OAuth token.
This account-level credential is more sensitive than the separate token needed to fetch a video stream. When a viewer opened a channel, the add-on redirected the playlist request to an operator-controlled proxy and added the account token as an auth parameter in the address.
That design means the token could be written in clear text to proxy request logs. Firefox and Chrome used different browser mechanisms, but produced the same outcome.
The current v85.x releases excluded only ten hardcoded Russian-language streamer channels from token forwarding. Every other viewed channel could trigger it.
Earlier v4.x releases were more direct, posting captured tokens to a dedicated set-token endpoint and using backup collection locations if necessary.
A stolen OAuth token acts as a bearer credential, meaning somebody who has it may use the account without knowing the password or passing a second-factor check.
.webp)
The report says the token can enable chat and whisper activity, account-setting access, and channel-point spending. Similar abuse of active sessions has featured in Chrome extension code injection attacks.
Account recovery and enterprise response
The extension’s store disclosures reportedly said user data would not be collected or processed, yet the observed forwarding contradicted those claims.
Its broad access to Twitch services and a third-party proxy destination created the exposure. This is why users should treat extensions that handle traffic from a logged-in website as capable of reaching valuable session credentials.
Anyone who installed Twitch Enhanced Viewer | JeetBot should remove it from Chrome or Firefox, then use Twitch account settings to disconnect all sessions and sign in again.
That action invalidates tokens sent while the extension was active. Users should also review recent chat, whispers, settings, and point activity for changes they did not make before using the account again.
Security teams should search managed browser inventories for the two extension identifiers and block the listed infrastructure at the network layer.
They should pay close attention to add-ons with host permissions for authenticated services and external proxy destinations. Recent cases involving compromised browser extensions stealing credentials show why permission and publisher changes merit prompt review.
For developers, the central lesson is simple: never send authentication headers or tokens through a third-party server merely to provide a convenience feature.
If proxying is unavoidable, credentials should be removed before traffic leaves the browser, and the behavior should be clearly disclosed. Users can reduce their exposure by keeping only necessary extensions and checking new permissions before accepting updates.
Indicators of compromise (IoCs):-
| Type | Indicator | Description |
|---|---|---|
| Operator identifier | Popov Aleksandr Alekseevich | Self-identified in the JeetBot website footer |
| Store developer handle | HISHIMIRO | Developer name associated with the extension listings |
| Email address | support@jeetbot[.]cc | Operator contact address |
| Email address | cybergnyda@gmail[.]com | Developer email listed by chrome-stats |
| Website identifier | alexue4[.]dev | Copyright identifier linked to the operator |
| IP address | 152[.]53[.]177[.]186 | netcup GmbH, Germany, AS197540; hosts jeetbot[.]cc, api[.]jeetbot[.]cc, enhanced[.]jeetbot[.]cc, and enhanced-1[.]jeetbot[.]cc |
| IP address | 132[.]243[.]113[.]25 | CLODO Cloud, AS216154; hosts ext-styles[.]jeetbot[.]cc, morphilina[.]me, and drisnya[.]online |
| IP address | 80[.]74[.]26[.]162 | CLODO Cloud, AS216154; hosts ext-03[.]jeetbot[.]cc |
| Domain | jeetbot[.]cc | Operator-controlled domain |
| Domain | api[.]jeetbot[.]cc | Operator API host |
| C2 and proxy endpoint | enhanced[.]jeetbot[.]cc | Default proxy that received forwarded tokens |
| C2 and proxy endpoint | enhanced-1[.]jeetbot[.]cc | Alternate operator proxy |
| C2 and proxy endpoint | ext-03[.]jeetbot[.]cc | Alternate operator proxy |
| C2 and proxy endpoint | proxy[.]morphilina[.]me | Token-strip proxy endpoint |
| Configuration endpoint | ext-styles[.]jeetbot[.]cc/api/v1/proxies | Proxy catalog endpoint |
| Configuration endpoint | ext-styles[.]jeetbot[.]cc/api/v1/forced-proxy | Forced-proxy configuration endpoint |
| API endpoint | api[.]jeetbot[.]cc/api/v2/public/extension_helper/ | Public extension-helper API endpoint |
| Screenshot host | img[.]drisnya[.]online | Image hosting endpoint associated with the operation |
| Historical collection endpoint | enhanced[.]jeetbot[.]cc/set-token | Decommissioned token-collection endpoint |
| Historical collection endpoint | thebeholder-proxy[.]deno[.]dev/set-token | Decommissioned backup token-collection endpoint |
| Historical collection endpoint | proxy[.]thebeholder[.]deno[.]net/set-token | Decommissioned backup token-collection endpoint |
| Privacy-policy URL | thebeholderbotapi[.]vercel[.]app/twitch-conf | Privacy-policy host cited in the investigation |
| Chrome extension | pnhhdhhcadcjfckjhpmjneldiegbojfb | Twitch Enhanced Viewer | JeetBot Chrome Web Store extension ID; SHA-256: e17e1e671b597da19b89c5b2d0fa821e90e627860e756ae4947ed27c035330a8 |
| Firefox extension | [email protected] | Twitch Enhanced Viewer Firefox Add-ons ID; SHA-256: 141c35607dc0e8e400deb380126b3052bd0495b4d37c8dd979c6aa0204b142fc |
Note: IP addresses and domains are intentionally defanged (e.g., [.]) to prevent accidental resolution or hyperlinking. Re-fang only within controlled threat intelligence platforms such as MISP, VirusTotal, or your SIEM.
Keep your SOC up to date on active malware & phishing within 24h of their emergence. Try ANYRUN to prevent incidents with early detection.
Tushar is a senior cybersecurity and breach reporter. He specializes in covering cybersecurity news, trends, and emerging threats, data breaches, and malware attacks. With years of experience, he brings clarity and depth to complex security topics.
Text extracted automatically; images, tables and formatting may be missing. Original: https://cybersecuritynews.com/malicious-twitch-extension/