Faro CheckAnálise grátis

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

  1. 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.

  2. Busque os prefixos conhecidos. No campo de busca do DevTools, procure sk-, sk_live_, AKIA e ghp_. sk- aparece em chave da OpenAI. sk_live_ aparece em chave secreta da Stripe. AKIA aparece em chave de acesso da AWS. ghp_ aparece em token do GitHub.

  3. 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: anon pode ficar no client se o RLS estiver ligado. service_role no JavaScript é vazamento. O guia do erro new row violates row level security policy explica o RLS.

  4. 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-, Stripe sk_/rk_, AWS AKIA, GitHub ghp_, Supabase service_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.