Uma extensão de terceiros para o SillyTavern, plataforma de interface para modelos de IA com mais de 28 mil estrelas no GitHub, foi identificada como um cavalo de Troia que roubou chaves de API de milhares de usuários. O backdoor, descoberto no final de abril por comunidades de segurança, usou técnicas avançadas de ofuscação — incluindo uma máquina virtual Lua no navegador — para exfiltrar credenciais de provedores como OpenAI, Anthropic e Google. Os repositórios do atacante já foram removidos do GitHub, mas vítimas podem ainda ter a extensão instalada.

Como o ataque funcionou

A extensão “BotBrowser”, criada pelo usuário mia13165, continha um trojan de três estágios projetado para evadir detecção. O mecanismo explorava uma vulnerabilidade de XSS (Cross-Site Scripting) na forma como o SillyTavern renderizava metadados de cartões de personagem.

No primeiro estágio, o arquivo modules/services/cache.js da extensão referenciava um segundo repositório do atacante (mia13165/updated_cards). Ao carregar, a extensão renderizava um cartão de avatar cujo campo de metadados continha uma tag <img> maliciosa com um manipulador onload. O arquivo detailModal.js injetava esse conteúdo via innerHTML sem sanitização — um vetor XSS clássico.

No segundo estágio, o handler esperava entre 15 e 25 minutos (intervalo aleatório) antes de buscar e executar um script remoto hospedado em github.com/gm92342/sdhiabfkgcnf. O atraso era deliberado: quando o payload ativava, o usuário já havia fechado as abas de configuração da extensão e não observava o DevTools.

No terceiro estágio, o script carregava o fengari-web, uma máquina virtual Lua 5.3 para navegadores, e executava um script Lua fortemente ofuscado hospedado em um gist do GitHub. A ofuscação usava um decodificador de strings personalizado com um gerador de números pseudoaleatórios (LCG) e 822 strings codificadas. O payload ainda alternava entre 7 métodos distintos para chamar Promise.then() — incluindo Function.prototype.call, Reflect.apply e .bind() — para evadir ferramentas de detecção de hooking.

O que foi roubado

O payload exfiltrava todas as chaves de API configuradas no SillyTavern: OpenAI, Claude (Anthropic), Gemini (Google), NovelAI, OpenRouter, DeepSeek e qualquer outro provedor. Além das chaves, o trojan capturava senhas de proxy, perfis de conexão, URLs de servidor e credenciais de reverse proxy. O relatório técnico completo confirma que logs de chat, cartões de personagem e imagens não foram exfiltrados — apenas credenciais e configurações de conexão.

A análise de segurança foi publicada em 28 de abril de 2026 no documento rentry.co/st-backdoor, que acumulou mais de 9 mil visualizações. O autor da extensão excluiu as contas mia13165 e gm92342 do GitHub após a divulgação. Os repositórios mia13165/SillyTavern-BotBrowser e gm92342/sdhiabfkgcnf retornam erro 404.

Resposta oficial do SillyTavern

A equipe do SillyTavern publicou um aviso de segurança oficial na discussão #5592 em 3 de maio de 2026, no lançamento da versão 1.18.0. O comunicado confirma que a extensão “BotBrowser” explorou uma vulnerabilidade no sistema de backup de dados presente nas versões anteriores à 1.17.0.

A versão 1.17.0, lançada em 28 de março de 2026, corrigiu a vulnerabilidade subjacente que permitia a exfiltração. A 1.18.0 incluiu o PSA oficial e recomendações de segurança. Um issue aberto pelo usuário LeRobber (#5565) solicitava que o projeto notificasse ativamente todos os usuários para rotacionar suas chaves — argumentando que o impacto podia atingir faturas de cinco dígitos em provedores como AWS se as chaves fossem vendidas em mercados clandestinos.

Conexão Brasil

Para usuários local que utilizam cartões de crédito internacionais para pagar APIs de IA, o risco financeiro é concreto. A recomendação é verificar imediatamente o histórico de uso no dashboard de cada provedor e configurar limites de gastos (spending limits) como barreira adicional.

O que fazer agora

Se você usou a extensão BotBrowser: remova-a imediatamente, limpe o cache do navegador e revogue todas as chaves de API — a rotação parcial não é suficiente.

Se você usou versões do SillyT anteriores à 1.17.0: atualize para a versão 1.18.0 ou superior. Considere todas as versões anteriores como inseguras, conforme alerta oficial dos mantenedores.

Para todos os usuários de APIs de IA: revise a lista de extensões instaladas e remova qualquer extensão que não seja oficial do repositório oficial da organização no GitHub. Configure spending limits baixos em cada provedor de API. Monitore o uso de API semanalmente.

IOC técnicos:

  • Extensão maliciosa: mia13165/SillyTavern-BotBrowser (removida do GitHub)
  • Repositório auxiliar: mia13165/updated_cards
  • Payload remoto: github.com/gm92342/sdhiabfkgcnf/main/run.js (removido)
  • Script Lua: gist gm92342/deddbd095a67a28da4b4b7b65533561f
  • Técnica: XSS via innerHTML + eval remoto + Lua VM (fengari-web)
  • Vulnerabilidade corrigida: sistema de backup de dados do SillyTavern < 1.17.0

Fontes: