Cada verificação tem como corrigir e um comando para conferir a correção.
Envia PATCH e DELETE para cada tabela com o filtro id=eq.__veloz_audit_nonexistent__, que não corresponde a nenhuma linha, e confere se o banco recusa a operação por permissão.
Ver detalhes →Envia um INSERT para cada tabela com um id sentinela e uma coluna que não existe, e confere se o banco recusa a operação por permissão.
Ver detalhes →Chama por RPC, com a chave anônima, funções das extensões http, pg_net e dblink, e falha se alguma delas puder ser executada.
Ver detalhes →Pede /rest/v1/users com o cabeçalho Accept-Profile: auth, que seleciona o schema auth, e falha se a resposta for 200.
Ver detalhes →Lê as configurações públicas de autenticação (/auth/v1/settings) e falha quando o cadastro está aberto, o login por e-mail está ativo e novas contas são confirmadas sem validar o e-mail.
Ver detalhes →Pede a lista de buckets (/storage/v1/bucket) com a chave anônima e falha se a resposta trouxer pelo menos um bucket.
Ver detalhes →Envia um preflight (OPTIONS) para /rest/v1/ com a origem https://evil.example e falha se a resposta permitir credenciais e aceitar qualquer origem (*) ou repetir a origem recebida.
Ver detalhes →Pede a raiz da API REST (/rest/v1/) com a chave anônima e falha se a resposta trouxer o documento OpenAPI com as tabelas, colunas e funções expostas.
Ver detalhes →Decodifica o JWT da chave anônima e falha se a validade (exp menos iat) passar de 10 anos ou se o token não tiver data de expiração.
Ver detalhes →Pede a tabela users com Prefer: count=exact e informa se a resposta traz o total de linhas no cabeçalho Content-Range.
Ver detalhes →Procura JWTs nos arquivos públicos do deploy e falha se algum tiver a role service_role e emissor (iss) do Supabase.
Ver detalhes →Procura nos arquivos públicos do deploy chaves secretas de produção da Stripe: sk_live_ seguido de 20 ou mais caracteres.
Ver detalhes →Procura nos arquivos públicos do deploy cabeçalhos de chave privada no formato PEM: RSA, EC, OpenSSH, DSA, criptografada ou genérica.
Ver detalhes →Procura nos arquivos públicos do deploy URLs postgres:// ou postgresql:// com usuário e senha.
Ver detalhes →Procura nos arquivos públicos do deploy identificadores de chave de acesso da AWS: AKIA seguido de 16 caracteres.
Ver detalhes →Procura nos arquivos públicos do deploy tokens do GitHub com os prefixos ghp_, github_pat_, gho_ ou ghs_.
Ver detalhes →Decodifica os JWTs com a role anon encontrados nos arquivos públicos do deploy e falha se algum tiver validade acima de 10 anos.
Ver detalhes →Faz GET em /.git/config, /.env, /.DS_Store e /phpinfo.php e falha se algum responder com status entre 200 e 399.
Ver detalhes →Falha se a resposta não tiver o cabeçalho Strict-Transport-Security ou se o max-age for menor que 15552000 segundos (180 dias).
Ver detalhes →Falha se a resposta não tiver X-Frame-Options com DENY ou SAMEORIGIN nem a diretiva frame-ancestors na CSP.
Ver detalhes →Envia uma requisição com a origem https://veloz-shield-probe.example e falha se a resposta permitir credenciais e aceitar qualquer origem (*) ou repetir a origem recebida.
Ver detalhes →Segue até 5 redirecionamentos a partir da URL e falha se o endereço final não for HTTPS.
Ver detalhes →Falha se a resposta não tiver o cabeçalho Content-Security-Policy nem o Content-Security-Policy-Report-Only.
Ver detalhes →Falha se o cabeçalho Server mostrar um número de versão, como nginx/1.18.0, ou se existir qualquer cabeçalho X-Powered-By.
Ver detalhes →Segue no máximo um redirecionamento a partir da URL e falha se a resposta final não tiver o cabeçalho Strict-Transport-Security.
Ver detalhes →