Relatório de segurança
https://meu-app.lovable.app
7 falhas encontradas• relatório completo
- 12
- páginas visitadas
- 486
- verificações executadas
- 7
- achados
Transparência do trabalho
O que a gente vasculhou
Varredura real, num navegador de verdade: 12 páginas abertas e 486 verificações executadas.
Páginas visitadas (12)
- https://meu-app.lovable.app/
- https://meu-app.lovable.app/login
- https://meu-app.lovable.app/cadastro
- https://meu-app.lovable.app/precos
- https://meu-app.lovable.app/sobre
- https://meu-app.lovable.app/contato
- https://meu-app.lovable.app/blog
- https://meu-app.lovable.app/termos
- https://meu-app.lovable.app/privacidade
- https://meu-app.lovable.app/faq
- https://meu-app.lovable.app/recuperar-senha
- https://meu-app.lovable.app/status
Verificações por categoria
- Cabeçalhos HTTP150
- Segredos expostos96
- Arquivos sensíveis72
- Armazenamento no navegador60
- Cookies40
- Transporte / TLS30
- DNS / e-mail24
- CORS (origens cruzadas)14
Vá mais fundo
Isto foi só a superfície.
Este relatório cobre o que qualquer visitante alcança. A maior parte do risco mora depois do login: dados de um usuário aparecendo para outro, telas de admin abertas para quem não devia, permissões furadas. Suba de nível e a gente audita isso — pagando só a diferença.
Área logada (sessão de usuário)
Painel admin + escalada de privilégio
A auditoria logada precisa de uma sessão de acesso do seu sistema — a gente te guia no próximo passo (ou faz por você).
Plano de ação
Nesta ordem, e não em outra.
0→100
nota depois de tudo · ~2 h 45
a nota tem teto; a fatia de risco não
1Resolver hoje — é o que abre a porta
~1 h 40−92% do risco- Arquivo .env exposto20 min
- Segredo exposto: Stripe30 min
- Chave service_role do Supabase exposta35 min
- Cookie de sessão sem HttpOnly15 min
2Esta semana — fecha as frestas
~1 h 05−8% do risco- Strict-Transport-Security ausente10 min
- DMARC ausente15 min
- Content-Security-Policy ausente40 min
Estimativas de ordem de grandeza, para um dev que conhece o projeto. A fatia de risco e a projeção da nota usam a mesma tabela de peso do scan — então o número aqui é o que o reteste vai mostrar.
Escopo desta análise
O que foi olhado — e, com a mesma clareza, o que não foi.
Entrou
- As páginas públicas que o navegador alcançou a partir do endereço informado
- Todo arquivo que o site entrega ao navegador — bundles, scripts, configuração
- Cabeçalhos de resposta, cookies de sessão, política de CORS e a configuração de TLS
- Registros de DNS de e-mail do domínio (SPF e DMARC)
- Bibliotecas de frontend com falha pública conhecida
- Arquivos sensíveis em caminhos conhecidos (.env, .git, backups)
Ficou de fora
- Tudo que só existe depois do login — não autenticamos no seu app
- O código que roda no servidor: injeção de SQL, lógica de negócio, permissões entre usuários
- Dependências do servidor — daqui de fora só enxergamos o que o navegador baixa
- Infraestrutura fora do site: portas de banco, buckets, painéis em outros subdomínios
- O que você publicar depois deste scan — a superfície muda a cada deploy
- O teste ativo do banco, que exige verificação do domínio
Nenhum scan torna um sistema seguro — este fecha as portas que estão abertas para quem chega de fora, sem senha e sem conhecimento técnico, que é por onde a maioria dos incidentes em aplicações novas realmente acontece. A superfície muda a cada publicação: um scan é uma foto, não um seguro.
Chave service_role do Supabase exposta
Uma chave que ignora toda a RLS está acessível no navegador.
Dados sensíveis (como o token de login) estão guardados no navegador de um jeito que outro script consegue ler — e roubar o acesso.
Segredo exposto: Stripe
Chave secreta do Stripe encontrada no bundle JavaScript.
Uma senha ou chave de acesso ficou visível no código do site. Quem abrir a página encontra — e pode usar sua conta, gastar no seu nome ou ler seus dados.
Arquivo .env exposto
O arquivo de variáveis de ambiente está acessível publicamente.
Um arquivo que deveria ser privado (configuração, backup) está aberto na internet. É como deixar a chave debaixo do tapete, à vista de todos.
Cookie de sessão sem HttpOnly
Um XSS consegue ler o cookie de sessão.
O cookie que mantém o usuário logado está sem proteção. Isso facilita roubar a sessão e entrar no sistema como se fosse ele.
Content-Security-Policy ausente
Sem CSP, uma injeção de script executa sem restrição.
Faltam proteções básicas que o navegador usa para barrar ataques. Sem elas, fica mais fácil injetar código malicioso ou "sequestrar" a tela do usuário.
DMARC ausente
Sem DMARC, dá para enviar phishing se passando pelo seu domínio.
Faltam travas no e-mail do seu domínio. Sem elas, golpistas conseguem enviar e-mail "em nome" da sua empresa (phishing) — e seus clientes caem no golpe.
Strict-Transport-Security ausente
A conexão pode ser rebaixada para HTTP.
Faltam proteções básicas que o navegador usa para barrar ataques. Sem elas, fica mais fácil injetar código malicioso ou "sequestrar" a tela do usuário.
Classificações OWASP e CWE são referências técnicas públicas. O selo de LGPD é indicativo — sinaliza achados que podem deixar dado pessoal ao alcance de terceiros e não substitui avaliação jurídica.