Como saber se a minha chave de API vazou no app feito com IA
18 de outubro de 2026 · 2 min de leitura
Abra o app publicado, vá em DevTools na aba Sources e busque sk-, sk_live_, AKIA e ghp_. Se achar uma chave secreta no JavaScript, gire ela no painel do fornecedor antes de apagar do código e passe a chamada para uma função no servidor. O Faro Check faz essa busca na URL pública.
Chave no JavaScript que o navegador baixa já vazou: qualquer pessoa consegue o mesmo arquivo. Mascarar no relatório não desfaz isso. O passo que importa é invalidar a chave no painel de quem a emitiu.
Passo a passo
-
Abra o app publicado no Chrome. Use a URL que o cliente acessa. Clique com o botão direito, Inspecionar, e vá em Sources. Também vale a aba Network, filtrando por JS.
-
Busque os prefixos conhecidos. No campo de busca do DevTools, procure
sk-,sk_live_,AKIAeghp_.sk-aparece em chave da OpenAI.sk_live_aparece em chave secreta da Stripe.AKIAaparece em chave de acesso da AWS.ghp_aparece em token do GitHub. -
Separe anon de service_role no Supabase. Uma chave anon no navegador é esperada. Abra o meio do JWT (o trecho entre os dois pontos) e veja o papel:
anonpode ficar no client se o RLS estiver ligado.service_roleno JavaScript é vazamento. O guia do erro new row violates row level security policy explica o RLS. -
Gire a chave e só depois apague. No painel da OpenAI, da Stripe, da AWS ou do GitHub, revogue a chave que apareceu. Apagar a linha no código sem girar deixa a chave antiga válida para quem já copiou. Em seguida, peça para a ferramenta mover a chamada para uma função no servidor ou edge function, com a chave nova só nesse ambiente. O guia Lovable é seguro? mostra o mesmo cuidado no app gerado.
Prompt para colar
Tire deste app qualquer chave secreta que o navegador consiga baixar (OpenAI
sk-, Stripesk_/rk_, AWSAKIA, GitHubghp_, Supabaseservice_role). A chave anon do Supabase pode ficar no client. Mova a chamada que precisa de segredo para uma função no servidor. Não imprima a chave no código. Mostre o arquivo que mudou.
Perguntas frequentes
Achar sk- no JavaScript significa que a chave vazou?
Se o arquivo é público, sim. Quem abre o app baixa o mesmo JavaScript. Gire a chave no painel do fornecedor antes de remover a linha.
A chave anon do Supabase no site é um vazamento?
Não por si só. Ela foi feita para o navegador. O problema é o RLS desligado, ou uma service_role no mesmo arquivo. Confira o papel dentro do JWT e as políticas da tabela.
O Faro Check acha isso sozinho?
O diagnóstico grátis procura esses padrões na URL pública e nos JavaScript que a página referencia. Comece por escanear o app. Ele não lê o repositório privado nem o histórico do git.