scanfull
Exemplo com dados fictícios — é assim que fica o relatório do seu site.

Relatório de segurança

https://meu-app.lovable.app

14 falhas encontradas

0/ 100Crítico
4
Crítico
4
Alto
4
Médio
2
Baixo
0
Informativo

Esta nota é do escopo público — o que um visitante alcança sem login. Não entram aqui a área logada, o que roda no servidor, nem outros subdomínios (api., staging., admin.). O escopo completo está mais abaixo.

24
páginas visitadas
1.010
verificações executadas
14
achados

Transparência do trabalho

O que a gente vasculhou

Varredura real, num navegador de verdade: 24 páginas abertas e 1.010 verificações executadas.

Páginas visitadas (24)
  • https://meu-app.lovable.app/
  • https://meu-app.lovable.app/login
  • https://meu-app.lovable.app/cadastro
  • https://meu-app.lovable.app/painel
  • https://meu-app.lovable.app/conta
  • https://meu-app.lovable.app/checkout
  • 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/blog/post-1
  • https://meu-app.lovable.app/blog/post-2
  • 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
  • https://meu-app.lovable.app/api/health
  • https://meu-app.lovable.app/sitemap.xml
  • https://meu-app.lovable.app/robots.txt
  • https://api.meu-app.lovable.app/
  • https://staging.meu-app.lovable.app/
  • https://meu-app.lovable.app/assets/index.js
  • https://meu-app.lovable.app/assets/vendor.js
Verificações por categoria
  • Segredos expostos320
  • Cabeçalhos HTTP170
  • Arquivos sensíveis120
  • Armazenamento no navegador90
  • Banco de dados70
  • DNS / e-mail60
  • Bibliotecas de frontend50
  • api40
  • Cookies40
  • CORS (origens cruzadas)20
  • Transporte / TLS18
  • Resiliência (CDN/WAF)12

Relatório completo · US$ 49

Você já sabe o que está quebrado. Falta saber onde.

O relatório completo abre a prova de cada uma das 14 falhas: o arquivo e a linha exatos, o código antes e depois, o

  • ✓ Onde está cada falha — arquivo, linha, endpoint
  • ✓ Prompt de correção por assistente + código antes/depois
  • ✓ Como verificar que a correção pegou
  • ✓ Reteste incluído: a segunda passada não custa nada
  • ✓ Relatório exportável, para arquivar ou entregar ao seu cliente
Ver relatório desbloqueado (exemplo)US$ 49 · pagamento único por scan · sem assinatura · reteste incluído

Garantia: se o relatório pago não confirmar nenhuma falha alta ou crítica, devolvemos os US$ 49.

Plano de ação

Nesta ordem, e não em outra.

0100

nota depois de tudo · ~6 h 45

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

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

    ~4 h 10−93% do risco
    • Arquivo .env exposto20 min
    • Segredo exposto: Stripe30 min
    • Chave service_role do Supabase exposta35 min
    • Banco Firebase aberto45 min
    • Cookie de sessão sem HttpOnly15 min
    • Segredo exposto: OpenAI25 min
    • Balde de arquivos público40 min
    • Dado pessoal no navegador40 min
  2. 2Esta semana — fecha as frestas

    ~1 h 45−5% do risco
    • DMARC ausente15 min
    • Introspecção do GraphQL aberta20 min
    • Biblioteca com falha conhecida30 min
    • Content-Security-Policy ausente40 min
  3. 3Quando der — higiene e reputação

    ~50 min−1% do risco
    • Scripts sem verificação de integridade20 min
    • Subdomínios esquecidos30 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 site
  • 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.

Conformidade (indicativo)

Quais normas estes achados tocam

Os achados deste relatório mapeiam controles dos seguintes frameworks:

PCI-DSS 4.02.26.26.36.3.36.46.4.16.4.37.18.6
ISO/IEC 27001A.5.14A.5.17A.8.24A.8.26A.8.28A.8.3A.8.5A.8.8A.8.9
SOC 2CC6.1CC6.6CC7.1
NIST 800-53AC-3CM-6IA-5RA-5SC-23SC-28SI-10SI-2SI-8
LGPD / GDPRDado pessoal ao alcance de terceiros

Mapeamento indicativo para orientar a correção — não é avaliação nem certificação de conformidade, e não substitui uma auditoria.

Chave service_role do Supabase exposta

A chave mestra do seu banco está no código que qualquer visitante baixa. Com ela, um estranho lê, altera e apaga tudo — ignorando qualquer regra de acesso que você criou.

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 localConfirmado
Correção bloqueada

Segredo exposto: Stripe

A chave secreta do Stripe ficou no site. Dá para emitir reembolsos, puxar a lista dos seus clientes e mexer na sua conta de pagamentos — tudo no seu nome.

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 localConfirmado
Correção bloqueada

Arquivo .env exposto

O arquivo .env está aberto ao público. É onde ficam todas as suas senhas e chaves de uma vez — o mapa do tesouro servido de bandeja.

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 localConfirmado
Correção bloqueada

Banco Firebase aberto

Seu banco Firebase responde sem login. Qualquer um lê os dados dos seus usuários e, se a escrita também estiver aberta, edita — sem senha, sem barreira.

O banco de dados pode ser acessado direto, sem as regras de permissão. Na prática, dá para ler (ou alterar) dados de todos os usuários.

OWASP A01:2021CWE-285LGPD art. 46~45 min
Crítico
database.firebase-open· 1 localConfirmado
Correção bloqueada

Cookie de sessão sem HttpOnly

O cookie que mantém o usuário logado pode ser lido por um script da página. Só isso já deixa um invasor entrar como se fosse ele.

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 localConfirmado
Correção bloqueada

Dado pessoal no navegador

Dados pessoais dos seus clientes — cartão, CPF — ficam guardados no navegador, ao alcance de qualquer script. É vazamento e multa de LGPD esperando acontecer.

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 A05:2021CWE-359LGPD art. 46~40 min
Alto
storage.pii-in-web-storage· 1 localConfirmado
Correção bloqueada

Balde de arquivos público

Um balde de arquivos (S3/Storage) está listável. Documentos, uploads e backups que deviam ser privados podem ser listados e baixados um a um.

Um arquivo que deveria ser privado (configuração, backup) está aberto na internet. É como deixar a chave debaixo do tapete, à vista de todos.

OWASP A01:2021CWE-732LGPD art. 46~40 min
Alto
files.public-bucket· 1 localConfirmado
Correção bloqueada

Segredo exposto: OpenAI

Sua chave da OpenAI vazou no site. O consumo é de quem achar; a fatura, no fim do mês, é sua.

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-798~25 min
Alto
secrets.openai-key· 1 localConfirmado
Correção bloqueada

Content-Security-Policy ausente

Sem CSP, um script injetado roda solto na sua página — roubando dados e sessões dos seus usuários sem aviso.

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 localConfirmado
Correção bloqueada

Introspecção do GraphQL aberta

O mapa completo da sua API — todos os campos e operações — está público. Ele entrega o projeto pronto para quem quer atacar, antes mesmo de tentar.

Um endpoint do site está aberto ou aceitando ações perigosas. Pode ser usado para extrair dados ou abusar do sistema.

OWASP A05:2021CWE-200~20 min
Médio
api.graphql-introspection· 1 localConfirmado
Correção bloqueada

Biblioteca com falha conhecida

Seu site carrega uma biblioteca com falha pública já corrigida. É porta velha destrancada — os robôs sabem exatamente como entrar.

Uma biblioteca usada no site tem falha pública conhecida. É uma porta que os atacantes já sabem procurar.

OWASP A06:2021CWE-1395~30 min
Médio
dependencies.known-vulnerable· 1 localProvável
Correção bloqueada

DMARC ausente

Sem DMARC, qualquer um manda e-mail se passando pelo seu domínio. Quem cai no golpe é o seu cliente, e a confiança perdida é sua.

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 localProvável
Correção bloqueada

Subdomínios esquecidos

Encontramos subdomínios que você deixou no ar (api., staging.). Cada um é uma porta a mais — e as esquecidas costumam ser as mais frágeis.

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-200~30 min
Baixo
dns.subdomains-discovered· 1 localConfirmado
Correção bloqueada

Scripts sem verificação de integridade

Scripts de terceiros entram sem conferência de integridade. Se o fornecedor for comprometido, o código malicioso entra direto no seu site.

Uma biblioteca usada no site tem falha pública conhecida. É uma porta que os atacantes já sabem procurar.

OWASP A08:2021CWE-353~20 min
Baixo
dependencies.subresource-integrity-missing· 1 localConfirmado
Correção bloqueada

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