Una extensión de Twitch que filtró los tokens de 31.000 usuarios a un servicio ruso de bots

Una extensión del navegador para Twitch, disponible tanto en Chrome como en Firefox, ha estado enviando los tokens OAuth de casi 31.000 usuarios a servidores proxy operados por un servicio comercial ruso de bots. La extensión, llamada “Twitch Enhanced Viewer | JeetBot”, prometía acceso a streams en 1080p para regiones con restricciones y una experiencia sin anuncios.

Lo que no decía es que, para lograrlo, reenviaba las credenciales de autenticación de los usuarios a infraestructura controlada por terceros, dejándolas expuestas en registros de servidor en texto plano.

El descubrimiento, realizado por el investigador de seguridad Kush Pandya, de la firma Socket, revela una vez más los riesgos de confiar en extensiones de terceros que operan con permisos amplios sobre servicios sensibles. La extensión sigue disponible para su descarga en ambas tiendas, aunque el desarrollador ha comenzado a implementar correcciones.

El alcance de la filtración: 30.000 usuarios en Chrome, 604 en Firefox

La extensión tiene dos identificadores principales. En la Chrome Web Store, con el ID pnhhdhhcadcjfckjhpmjneldiegbojfb, acumula alrededor de 30.000 usuarios y fue publicada el 26 de junio de 2025. En la tienda de complementos de Mozilla Firefox, con el identificador twitchenhancedviewer@example.com, suma 604 usuarios y se publicó el 7 de julio de 2025. Ambas versiones siguen accesibles para su descarga.

La descripción de la extensión se presenta como una herramienta moderna para streamers y espectadores: “JeetBot es una herramienta moderna para streamers y espectadores que aprecian la calidad, la comodidad y el control”, y añade que “amplía las capacidades de Twitch: stream en 1080p para regiones con restricciones”. Aunque esa funcionalidad se lograba a un coste muy alto para la privacidad y la seguridad de las cuentas.

¿Cómo funcionaba el robo de tokens?

Según el análisis de Socket, las versiones actuales (v85.x) reenvían el token OAuth del usuario como un parámetro de consulta &auth= en una redirección a nivel de red hacia el proxy del operador. El token se reenvía para cada canal que el usuario ve, excepto para una lista blanca codificada de diez canales de streamers rusos, cuyas sesiones quedan exentas del reenvío.

El operador es un servicio SaaS comercial de bots para Twitch, Kick y VK Live que tiene amplios permisos de host en Twitch y retransmite sesiones autenticadas en vivo a través de su propia infraestructura.

La extensión afirma ofrecer una experiencia sin anuncios y contenido desbloqueado por región, pero lo hace enrutando las solicitudes de listas de reproducción de Twitch a usher.ttvnw[.]net a través de servidores proxy controlados por el operador, junto con el token OAuth del usuario como parámetro &auth=.

Dado que el token se coloca en la cadena de consulta de la URL, queda escrito en texto plano en los registros de solicitudes del servidor proxy. El token puede permitir el acceso al chat del usuario, a los susurros (mensajes privados) y a la configuración de la cuenta.

Las versiones anteriores (v4.x, por ejemplo la 4.8 de enero de 2026) iban más allá: enviaban el token mediante POST a un endpoint dedicado set-token en el host del operador, con copias de seguridad en deno.dev y deno.net.

La lista de canales exentos y la conexión rusa

La lista blanca de diez canales exentos de reenvío de token incluye a streamers rusos con miles de seguidores: pch3lk1n (580.000 seguidores), fasoollka (361.000), flamie (132.000), dosia (29), fander (2), almazer (4), forzorezor (177.000), akyuliych (1,1 millones), lagoda1337 (225.000) y lagoda (77.300). Para cualquier canal fuera de esta lista, el token en vivo del usuario se reenviaba al proxy.

El desarrollador, Aleksandr Popov, con sede en Chipre, ha explicado que este mecanismo era parte de una solución de reproducción para abordar un error que los espectadores reportaban al intentar acceder a Twitch desde fuera de Rusia o mediante VPN.

El error mostraba el mensaje: “Se ha detectado un proxy o desbloqueador. Este contenido premium no estará disponible para ti mientras esté en uso. (Error #3)”. Según Popov, la lista de canales era configurable por el usuario desde la versión 85.8.4, y los diez canales eran las entradas predeterminadas basadas en informes de espectadores.

La respuesta del desarrollador: corrección y asunción de responsabilidad

Popov ha reconocido que la filtración de los tokens OAuth fue un descuido que se ha abordado en la última versión de las extensiones. En la página de documentación de JeetBot se ha publicado una alerta que indica que la versión 85.8.7 del complemento de Firefox soluciona el problema y que una versión equivalente para Chrome está pendiente de revisión.

“En la implementación anterior, la extensión enviaba el token OAuth de Twitch del usuario a nuestros servidores proxy para recuperar las listas de reproducción. Un token OAuth es una credencial y debe protegerse”, reconoce la documentación. “La versión 85.8.7 cambia la forma en que se recuperan las listas de reproducción: el token OAuth del usuario ya no se envía a nuestros proxies”.

El desarrollador también ha señalado que desactivar o actualizar la extensión no revoca los tokens transmitidos previamente, por lo que los usuarios afectados deben tomar medidas adicionales.

En declaraciones a The Hacker News, Popov ha afirmado que el trabajo diario de desarrollo de la extensión lo llevaba Hishimiro y que no se aseguró de que la descripción y la política de privacidad siguieran el ritmo de la implementación. “Fue un fallo en nuestro proceso de revisión y aceptamos la responsabilidad como equipo”, ha dicho.

Popov ha rechazado la caracterización de la extensión como maliciosa, insistiendo en que su objetivo final es proporcionar funcionalidad de reproducción y que los tokens reenviados no se utilizan para ninguna actividad no autorizada en las cuentas. “Reconocemos el riesgo de seguridad del diseño anterior, por eso eliminamos la necesidad de reenviar los tokens OAuth de los usuarios”, ha añadido.

¿Qué deben hacer los usuarios afectados?

Si tienes instalada la extensión “Twitch Enhanced Viewer | JeetBot”, debes actuar de inmediato. Actualiza a la versión 85.8.7 o posterior en Firefox. En Chrome, la corrección aún está pendiente de revisión, por lo que la versión actual (85.8.4) sigue reenviando el token. Si no puedes actualizar, desactiva la extensión temporalmente para detener la transmisión del token.

Sin embargo, la actualización o desactivación no revoca los tokens ya transmitidos. Para proteger tu cuenta de Twitch, debes cerrar sesión en todos los dispositivos y volver a iniciarla, lo que invalidará los tokens antiguos. También es recomendable revisar las conexiones autorizadas en la configuración de tu cuenta de Twitch y eliminar cualquier acceso no reconocido. Si usas la misma contraseña en otros servicios, cámbiala también.

El contexto: extensiones de terceros y riesgos de OAuth

Este incidente no es un caso aislado. Las extensiones de navegador que prometen funcionalidades adicionales para plataformas populares suelen operar con permisos amplios y, en ocasiones, recurren a tácticas cuestionables para ofrecer lo que prometen.

El problema de fondo es que los tokens OAuth son credenciales poderosas: permiten acceder a la cuenta del usuario sin necesidad de su contraseña, y si caen en manos equivocadas, pueden utilizarse para espiar conversaciones privadas, modificar configuraciones o incluso hacerse pasar por el usuario.

Popov ha señalado que otras extensiones de reproducción de Twitch, como ReYohoho Twitch Proxy, XT Viewer y ggsel Ханти, implementan enfoques similares.

La diferencia, según él, es que esas extensiones mencionan explícitamente en sus listados de la Chrome Web Store que el token OAuth se transmite a su servidor para proporcionar “acceso de calidad 1080p/1440p” a usuarios rusos. “Su uso en otros lugares no elimina nuestra responsabilidad de proteger las credenciales y divulgar con precisión el manejo de datos”, ha admitido.

Socket ha confirmado que la versión 85.8.7 de Firefox ya no reenvía el token OAuth del espectador al proxy, y que la misma corrección se ha enviado a la Chrome Web Store. Mientras tanto, la versión actual de Chrome (85.8.4) sigue reenviando el token, y cualquier instalación que ejecute el código antiguo seguirá haciéndolo hasta que se actualice.

La lección: la confianza en las extensiones debe ser limitada

La historia de JeetBot es un recordatorio de que las extensiones de navegador, por convenientes que parezcan, operan con un nivel de privilegio que las convierte en un vector de ataque potencial. Antes de instalar cualquier complemento que solicite acceso a tus cuentas, conviene preguntarse: ¿qué datos necesita realmente? ¿Quién está detrás? ¿Qué hace con la información que recibe?

En este caso, la respuesta es que la extensión necesitaba el token OAuth para ofrecer una funcionalidad que Twitch no proporciona en ciertas regiones, pero lo hacía de una forma que exponía a los usuarios a un riesgo innecesario. El desarrollador ha corregido el rumbo, pero los tokens ya filtrados siguen siendo un riesgo latente para quienes no tomen medidas.

La seguridad en la era digital no es un producto que se compra una vez y se olvida. Es un proceso continuo de vigilancia, actualización y sentido común. Y cuando se trata de credenciales de acceso, la precaución nunca es excesiva.

Vistas: 1

Descubre más desde CIBERED

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Scroll al inicio