scanfull
Exemplo desbloqueado — é a correção que o cliente recebe ao pagar.

Relatório de segurança

https://meu-app.lovable.app

7 falhas encontradas• relatório completo

0/ 100Crítico
3
Crítico
1
Alto
3
Médio
0
Baixo
0
Informativo
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.

+ UsuárioUS$ 49,90

Área logada (sessão de usuário)

+ AdminUS$ 99,90

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.

0100

nota depois de tudo · ~2 h 45

a nota tem teto; a fatia de risco não

  1. 1Resolver hoje — é o que abre a porta

    ~1 h 4092% do risco
    • Arquivo .env exposto20 min
    • Segredo exposto: Stripe30 min
    • Chave service_role do Supabase exposta35 min
    • Cookie de sessão sem HttpOnly15 min
  2. 2Esta semana — fecha as frestas

    ~1 h 058% 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.

OWASP A07:2021CWE-522LGPD art. 46~35 min
Crítico
storage.service-key· 1 local

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.

OWASP A07:2021CWE-798LGPD art. 46~30 min
Crítico
secrets.stripe-secret-key· 1 local

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.

OWASP A05:2021CWE-538LGPD art. 46~20 min
Crítico
files.env-exposed· 1 local

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.

OWASP A05:2021CWE-1004LGPD art. 46~15 min
Alto
cookies.session-not-httponly· 1 local

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.

OWASP A05:2021CWE-693~40 min
Médio
headers.csp-missing· 1 local

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.

OWASP A05:2021CWE-290~15 min
Médio
dns.dmarc-missing· 1 local

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.

OWASP A05:2021CWE-319~10 min
Médio
headers.hsts-missing· 1 local

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.

Exemplo de relatório — Scanfull — Scanfull