- Nome técnico
- Segurança do transporte, valores de cabeçalhos, cookies e exposição
- O que verifica
- HTTPS após redirecionamentos e se http:// redireciona permanentemente para HTTPS; o certificado TLS (confiança, nome do host, versão do protocolo, emissor, validade); valores dos cabeçalhos de segurança — max-age do HSTS (pelo menos 180 dias) e sintaxe, diretivas de CSP incluindo 'unsafe-inline', 'unsafe-eval', fontes de script amplas, nonces e hashes, object-src e base-uri, X-Frame-Options ou CSP frame-ancestors, X-Content-Type-Options, Referrer-Policy, Permissions-Policy; atributos dos cookies (Secure, HttpOnly, SameSite, Domain) apenas pelo nome; CORS com uma origem de teste inofensiva; conteúdo misto; security.txt; cabeçalhos que revelam versões e source maps públicos; tecnologias e superfície visível, como formulários de login e referências a APIs; manipuladores de eventos inline e scripts sem Subresource Integrity, sinalizados para revisão manual.
- Como é pontuada
- Começa em 100. Sem HTTPS −40, certificado inválido ou expirado −40, falha na conexão TLS −30, CORS que confia em qualquer origem com credenciais −25, sem HSTS −15, sem CSP −12, sem redirecionamento de http→https −10, sem proteção contra clickjacking −8, conteúdo misto ativo −8, CSP Report-Only −8, sem X-Content-Type-Options −6, scripts 'unsafe-inline' −6, cookies sem Secure −6, HSTS fraco −5 e descontos menores para outros valores fracos. Muitos resultados informativos, como a ausência de security.txt, não custam nada.
- Testada com
- Python requests (somente GET e HEAD) + o módulo ssl da biblioteca padrão