Depois de algumas dezenas de auditorias, percebi que o trabalho sério não está em achar "aquela falha mágica": está em não deixar passar configuração errada. Este é o checklist exato que uso — os blocos A-D rodam automático na minha CLI reconpp (passiva, zero dependências); os demais são revisão assistida.
A. Transporte (TLS/HTTPS)
- [ ] Site responde somente via HTTPS (sem downgrade na cadeia de redirect)
- [ ] HSTS com max-age >= 180 dias e includeSubDomains
- [ ] Certificado com pelo menos 14 dias de validade
- [ ] TLS 1.0/1.1 desativados (1.2/1.3 apenas)
- [ ] Sem cifras < 128 bits (RC4/3DES/CBC legacy)
B. Headers de proteção
- [ ] CSP estrito: default-src 'self'; script-src 'self'; object-src 'none'; frame-ancestors 'none'
- [ ] Sem unsafe-inline / unsafe-eval no CSP
- [ ] X-Content-Type-Options: nosniff
- [ ] X-Frame-Options: DENY/SAMEORIGIN (ou frame-ancestors)
- [ ] Referrer-Policy: strict-origin-when-cross-origin
- [ ] Permissions-Policy restritivo (camera/mic/geolocation)
- [ ] Sem Server/X-Powered-By revelando stack
C. Sessões
- [ ] Cookies com Secure + HttpOnly + SameSite (Lax/Strict)
- [ ] Novo login = novo session ID (anti-fixation)
- [ ] Timeout de sessão e logout efetivo server-side
D. Superfície exposta
- [ ] Nenhum .env, .git, dump.sql, backup.zip, phpinfo.php, server-status respondendo 200
- [ ] security.txt (RFC 9116) publicado
- [ ] Painéis administrativos atrás de autenticação
E. API e dados
- [ ] Rate limiting em login/OTP/upload
- [ ] Erros genéricos (sem stack trace pública)
- [ ] CORS restrito a domínios confiáveis (sem reflexão de origem arbitrária)
- [ ] Secrets fora do código (env/cofres) com rotatividade
F. Auth
- [ ] MFA sem caminhos de downgrade
- [ ] JWT com algoritmo fixado, exp curta, sem
alg: none - [ ] Password reset: token único, curto, uso único
- [ ] OAuth: redirect URIs em allowlist
G. Dependências e deploy
- [ ] SBOM + varredura (trivy/npm audit/pip-audit) no CI
- [ ] Secret scanning no push (gitleaks)
- [ ] Patches críticos em < 72h
Os itens A-D saem em 60 segundos com:
pip install git+https://github.com/bryanrafaelbueno/reconpp
reconpp -u https://seu-site.com -f md -o relatorio.md
Se quiser a versão completa — com metodologia em 5 fases, como detectar passivamente injection/XSS/CSRF/SSRF/IDOR/upload/deserialização e o modelo de relatório que cliente respeita — o ebook "Web Security Audit na Prática" (pt-BR) tem amostra grátis:
- Loja (Pix): https://bryanrafaelbueno.github.io/audit-br-store/
- Amostra grátis: https://bryanrafaelbueno.github.io/audit-br-store/sample.pdf
Auditoria só em sistemas que você possui ou tem autorização escrita. 🛡️

Top comments (0)