Imagen ilustrativa generada con IA
Una extensión maliciosa de Twitch expuso tokens OAuth de casi 31.000 usuarios
La extensión Twitch Enhanced Viewer redirigía listas de Twitch por un proxy y filtraba tokens OAuth de casi 31.000 usuarios en Chrome y Firefox.
Texto generado por inteligencia artificial, publicado sin revisión humana. Transparencia IA
Las versiones para Chrome y Firefox distribuyeron la extensión
Una extensión del navegador que prometía mejorar la experiencia de visualización en Twitch transmitía los tokens de sesión OAuth de los usuarios a una infraestructura de proxy asociada con JeetBot, un servicio comercial de bots que opera en Twitch, Kick y VK Live.
La extensión, denominada «Twitch Enhanced Viewer | JeetBot», se distribuyó a través de Google Chrome Web Store y Mozilla Firefox Add-ons. Como desarrollador figura HISHIMIRO/jeetbot.cc.
La versión para Chrome utiliza el identificador pnhhdhhcadcjfckjhpmjneldiegbojfb. Publicada el 26 de junio de 2025, contaba con aproximadamente 30.000 usuarios. El paquete para Firefox, identificado como [email protected], se publicó el 7 de julio de 2025 y tenía 604 usuarios.
En conjunto, ambas versiones expusieron a casi 31.000 personas. Cuando se publicaron los hallazgos de seguridad, las dos extensiones seguían disponibles para su descarga, por lo que todavía era posible realizar nuevas instalaciones.
Las descripciones de las tiendas promocionaban funciones como la visualización sin anuncios, el acceso a contenido restringido por región y la compatibilidad con emisiones en 1080p cuando esa calidad no estaba disponible de otro modo. No informaban de que el tráfico autenticado de Twitch pasaría por una infraestructura controlada por el operador de la extensión.
La interceptación de listas de reproducción expuso credenciales activas
La extensión funciona interceptando las solicitudes de listas de reproducción de vídeo de Twitch enviadas a usher.ttvnw[.]net. En lugar de permitir que esas solicitudes lleguen directamente a la infraestructura de distribución de Twitch, las redirige a través de servidores proxy externos.
Por sí sola, esa arquitectura ya crea una dependencia de confianza importante. Sin embargo, en las versiones actuales v85.x, la extensión también extrae el token OAuth de Twitch del espectador y lo añade a la URL redirigida mediante el parámetro de consulta &auth=.
Como consecuencia, el token se envía al proxy cada vez que el usuario ve un canal incluido en la lógica de reenvío. Al estar integrada la credencial en la URL, los registros convencionales de solicitudes del proxy pueden almacenarla en texto plano.
Esto no se limita a una instalación o autenticación puntual. Una instalación afectada puede transmitir repetidamente el token activo mientras el usuario abre emisiones de Twitch compatibles. Actualizar o desactivar la extensión detiene los reenvíos futuros, pero no permite recuperar las credenciales que ya se hayan almacenado en registros remotos u otros sistemas backend.
Las versiones anteriores v4.x utilizaban otro mecanismo de recopilación. La versión 4.8, que según la identificación disponible data de enero de 2026, enviaba el token mediante una solicitud HTTP POST a un endpoint set-token alojado por el operador. También incluía infraestructura de respaldo en deno.dev y deno.net.
El investigador de seguridad Kush Pandya, de Socket, documentó el tratamiento de los tokens y las exclusiones selectivas de canales.
Diez canales quedaron excluidos del reenvío de tokens
El código de v85.x contiene excepciones para diez canales concretos de Twitch. Los usuarios que veían esos canales no enviaban sus tokens a través de la misma ruta de proxy:
pch3lk1n— 580.000 seguidoresfasoollka— 361.000 seguidoresflamie— 132.000 seguidoresdosia— 29 seguidoresfander— 2 seguidoresalmazer— 4 seguidoresforzorezor— 177.000 seguidoresakyuliych— 1,1 millones de seguidoreslagoda1337— 225.000 seguidoreslagoda— 77.300 seguidores
La mayoría son streamers en ruso. No se ha determinado el motivo por el que se protegieron precisamente esos canales, y la lista abarca desde cuentas con apenas unos pocos seguidores hasta una con más de un millón.
Para cualquier otro canal, la extensión dirigía la solicitud autenticada de la lista de reproducción del espectador a través del proxy e incluía la credencial OAuth. Las excepciones codificadas demuestran que el reenvío de tokens era selectivo y estaba controlado por el código, no que fuera una consecuencia inevitable de la obtención de listas de reproducción de Twitch.
Un token robado puede permitir acceder a la cuenta sin conocer la contraseña
El valor expuesto es una credencial de portador correspondiente a una sesión autenticada de Twitch. Por tanto, es considerablemente más sensible que un identificador de dispositivo, una preferencia del navegador o un campo de telemetría ordinario.
Cualquiera que disponga de un token válido podría actuar a través de la cuenta asociada sin introducir su contraseña ni completar un desafío de autenticación adicional. Las acciones exactas disponibles dependen de la sesión y de los permisos vinculados al token.
Entre las posibles consecuencias se incluyen:
- Leer o enviar susurros de Twitch, incluidas conversaciones privadas
- Publicar mensajes suplantando la identidad de la víctima
- Acceder a la configuración de la cuenta
- Gastar los puntos de canal acumulados
- Realizar otras operaciones autorizadas para la sesión activa
Un token válido no necesita revelar la contraseña subyacente para resultar útil. Representa un estado ya autenticado, por lo que cambiar o proteger únicamente la contraseña puede no neutralizar una sesión expuesta.
El modelo de transmisión repetida aumenta el riesgo. Aunque una copia registrada caduque, el uso continuado de una extensión sin corregir podría enviar un token activo más reciente cuando el espectador vea otro canal.
No existe constancia pública confirmada de que las credenciales capturadas se hayan utilizado para secuestrar cuentas de Twitch. Sin embargo, la posibilidad de recopilar casi 31.000 sesiones autenticadas, junto con la existencia potencial de registros de proxy en texto plano, crea una vía directa para abusar de las cuentas.
La infraestructura está vinculada al servicio JeetBot
Los sistemas proxy están asociados con JeetBot, que comercializa funciones de automatización e interacción con la audiencia para Twitch, Kick y VK Live. Entre las funciones anunciadas se incluyen la conversión de mensajes a voz, la traducción automática y otras herramientas para interactuar con los espectadores.
JeetBot afirma contar con más de 26.000 streamers activos y haber procesado mil millones de mensajes. Según los informes, dispone de amplios permisos de host en Twitch y retransmite sesiones activas autenticadas a través de su propia infraestructura.
El pie de página del sitio web del servicio identifica a Aleksandr Popov, un desarrollador afincado en Chipre, como operador. El perfil de Popov en LinkedIn describe JeetBot como un proyecto personal.
Estas conexiones identifican el servicio asociado con la infraestructura, pero los hallazgos publicados no incluían comentarios adicionales del desarrollador. Se desconoce el periodo de retención definitivo de los registros del proxy, cuántos tokens siguen siendo válidos y si terceros accedieron a las credenciales recopiladas.
Los usuarios de Firefox pueden actualizar; los de Chrome deben desactivar la extensión
La documentación de JeetBot indica ahora que la versión 85.8.7 de Firefox modifica el proceso de obtención de listas de reproducción para que los tokens OAuth de Twitch ya no se envíen a sus servidores proxy. Los usuarios de Firefox deben comprobar que utilizan la versión 85.8.7 o posterior.
La versión corregida equivalente para Chrome todavía estaba en revisión cuando se comunicó el problema. Los usuarios de Chrome que no puedan obtener una versión corregida deben desactivar o eliminar la extensión de inmediato. Las instalaciones existentes seguirán reenviando credenciales hasta que se actualicen o desactiven.
Los usuarios deben comprobar si tienen estos identificadores de extensión:
- Chrome:
pnhhdhhcadcjfckjhpmjneldiegbojfb - Firefox:
[email protected]
Instalar la versión corregida no invalida los tokens transmitidos anteriormente. Cualquiera que haya utilizado la extensión debe considerar potencialmente comprometida la sesión de Twitch asociada y revocar o renovar la autorización de Twitch correspondiente mediante los controles de seguridad disponibles en la cuenta.
Los usuarios también deben revisar sus cuentas en busca de mensajes de chat, susurros, cambios de configuración o actividad con puntos de canal que no reconozcan. Cualquier acción autenticada inexplicable podría indicar un uso indebido, aunque la ausencia de actividad visible no demuestra que nunca se haya recopilado un token.
Las prioridades inmediatas son claras: impedir que la extensión transmita más datos, instalar una versión corregida cuando esté disponible e invalidar las sesiones de Twitch expuestas anteriormente.
Fuentes
Este artículo es una reelaboración original basada en las siguientes fuentes.
