Enviar depressa não tem mal nenhum, mas há uma pequena lista que vale a pena rever antes de abrires a tua app ao mundo. Nada disto exige seres um especialista em segurança, e tudo pode ser verificado a partir de fora em poucos minutos. Aqui fica o que realmente interessa, porque é que cada ponto morde e como o resolver.
Como os atacantes encontram isto em minutos
A maioria das brechas em apps criadas com IA não são ataques geniais. Alguém abre o teu site, carrega no F12, lê o JavaScript que a tua app já enviou para o browser e copia um URL que a tua app já chama. Os scanners automáticos fazem o mesmo em grande escala, batendo em caminhos comuns como /.env ou /.git em milhares de sites por dia. Tudo o que se segue é algo que eles conseguem verificar sem qualquer acesso ao teu código, e é precisamente por isso que deves verificá-lo primeiro.
1. Nada de segredos no frontend
As chaves de API e os tokens pertencem apenas ao servidor. Quando um assistente de IA "liga" um serviço, muitas vezes deixa a chave diretamente no código do cliente, onde qualquer pessoa a consegue ler nas DevTools. Uma chave Stripe sk_live_ exposta pode mexer em dinheiro a sério; uma chave service_role do Supabase entrega a tua base de dados inteira. Mantém as chaves secretas em variáveis de ambiente no servidor e expõe apenas as chaves públicas pensadas para o browser. Vê os segredos que a tua app deixa escapar no browser.
2. HTTPS e cabeçalhos de segurança
Serve tudo por HTTPS e redireciona o HTTP para ele, para que ninguém possa ler nem adulterar o tráfego. Depois adiciona os cabeçalhos que os browsers usam para defender os teus utilizadores: Content-Security-Policy para conter injeções, Strict-Transport-Security para fixar o HTTPS e X-Frame-Options para bloquear o clickjacking. A maioria das apps geradas não traz nenhum destes por omissão. Vê os cabeçalhos de segurança HTTP explicados.
3. Regras da base de dados (RLS) em todas as tabelas
Se usas Supabase ou Firebase, a tua app fala com a base de dados diretamente a partir do browser, por isso as regras da base de dados são a única coisa entre um visitante e os teus dados. Ativa o Row-Level Security em todas as tabelas (não só nas importantes) com uma política de negação por omissão, e nunca contes com esconder um botão na interface. Sem isto, qualquer pessoa com a chave pública lê e escreve nas tuas tabelas sem sequer iniciar sessão, exatamente a falha por trás da vulnerabilidade de RLS do Lovable.
4. Nenhum ficheiro sensível exposto
Garante que o .env, o .git, as cópias de segurança da base de dados e os source maps não estão acessíveis a partir de um browser. É surpreendentemente comum: um único pedido a /.env pode entregar todos os segredos que a tua app usa, e os source maps publicados deixam qualquer pessoa reconstruir o teu código original. Bloqueia isto na configuração do teu alojamento ou framework.
5. CORS bem fechado
Uma política de CORS permissiva que reflete qualquer origem com credenciais permite que um site malicioso leia os dados dos teus utilizadores usando a sessão deles. Restringe as origens permitidas aos domínios que realmente controlas, e nunca combines Access-Control-Allow-Origin: * com credenciais.
6. Cookies e sessões bem configuradas
As cookies de sessão devem levar Secure (só por HTTPS), HttpOnly (ilegíveis a partir de JavaScript, para que um XSS não as consiga roubar) e SameSite (defende contra CSRF). Estes três atributos são uma linha de configuração e fecham toda uma classe de bugs de roubo de conta.
A tua checklist de 2 minutos antes de lançar
- Nenhuma chave
sk_live_,service_roleou privada no teu JavaScript. - HTTPS imposto, com CSP, HSTS e X-Frame-Options definidos.
- Row-Level Security em todas as tabelas da base de dados.
.env,.git, cópias de segurança e source maps inacessíveis.- CORS limitado às tuas próprias origens, sem wildcard com credenciais.
- Cookies com Secure, HttpOnly e SameSite.
É só despachar isto
Em vez de verificares tudo isto à mão, corre o Scanaris: verifica estes pontos e cerca de mais 40 no teu site em produção em 30 segundos, ordena os resultados por impacto e dá-te um prompt pronto a colar para corrigires cada um com a tua IA, antes que outra pessoa os encontre.