
Scanner de segurança web baseado em Python que analisa cabeçalhos HTTP, SSL/TLS, registros DNS e configurações incorretas comuns para gerar um relatório de segurança com pontuação e recomendações acionáveis.
EasyScan é um script Python que analisa a segurança de um site específico, inspecionando seus cabeçalhos HTTP, registros DNS e outras configurações. O script gera um relatório de segurança com uma pontuação, nota e recomendações para abordar potenciais vulnerabilidades.
O script abrange os seguintes casos de teste:
Referrer-Policy e da meta tag./admin, /wp-admin, /phpmyadmin, /cpanel)./images, /uploads, /files, etc.) para listagens de diretórios expostas.Set-Cookie quanto aos atributos Secure, HttpOnly, SameSite e prefixos __Secure-/__Host-.Server, X-Powered-By, X-AspNet-Version.Access-Control-Allow-Origin e conflitos de curinga com credenciais.Content-Type.robots.txt para caminhos desautorizados potencialmente sensíveis.OPTIONS para detectar verbos perigosos (TRACE, DELETE, PUT, CONNECT)..git/config, .env, .htaccess, backup.sql, wp-config.php.bak e outros.<script> e <link> externas quanto à ausência de atributos integrity.http:// carregados em páginas HTTPS.X-Frame-Options quanto o CSP frame-ancestors para proteção contra clickjacking.Host forjado é refletido em redirecionamentos ou no corpo da resposta.url, next, redirect, return, etc.) para vulnerabilidades de redirecionamento aberto.O EasyScan requer Python 3.6+ e as seguintes bibliotecas:
requestsbeautifulsoup4dnspythoncertifiVocê pode instalar essas dependências usando o arquivo requirements.txt fornecido:
pip install -r requirements.txt
Para usar o script EasyScan, siga estas etapas:
easyscan.py.pip install -r requirements.txt
python3 easyscan.py [url]
Verificação básica:
python3 easyscan.py example.com
Verificação com saída JSON salva em um arquivo:
python3 easyscan.py example.com --json --output report.json
Verificação com tempo limite maior e log detalhado:
python3 easyscan.py https://example.com --timeout 20 --verbose
Use a flag --json para obter saída JSON estruturada, útil para integração com outras ferramentas:
python3 easyscan.py example.com --json
O relatório JSON inclui um objeto score com a pontuação agregada (0-100), uma nota em letras (A-F), contagens de severidade e todas as descobertas.
================================================================================================================================================================
RELATÓRIO DE SEGURANÇA
================================================================================================================================================================
Cabeçalho Status Severidade Recomendação
================================================================================================================================================================
[CRI] SSL/TLS Ausente Crítico O site não está usando HTTPS. Implemente SSL/TLS para criptografar dados em trânsito.
[ALT] Clickjacking Sem Proteção Alta Defina 'X-Frame-Options: DENY' ou a diretiva CSP 'frame-ancestors' para prevenir clickjacking.
[ALT] Página de Admin Pública (/admin) Acessível Alta Restrinja o acesso a /admin a endereços IP específicos e/ou ative a autenticação.
[MÉD] Content-Security-Policy Ausente Média Implemente uma Política de Segurança de Conteúdo (CSP) para prevenir ataques XSS e injeção de código.
[MÉD] Strict-Transport-Security Ausente Média Implemente Strict Transport Security (HSTS) para forçar conexões seguras.
[MÉD] Permissions-Policy Ausente Média Defina um cabeçalho 'Permissions-Policy' para restringir recursos do navegador (câmera, microfone, geolocalização).
[BAI] Registro SPF Ausente Baixa Adicione um registro SPF às configurações de DNS do seu domínio para ajudar a prevenir falsificação de e-mail.
[INF] Meta Referrer Ausente Baixa Adicione uma META tag 'referrer' com 'no-referrer' para evitar vazamento de informações do referenciador.
============================================================
PONTUAÇÃO DE SEGURANÇA: 55/100 (Nota: C)
============================================================
Total de Problemas : 8
Críticos : 1
Altos : 2
Médios : 4
Baixos : 1
Informativos : 0
============================================================
Lembre-se de que o script pode não cobrir todos os cenários de segurança possíveis, e recomenda-se realizar uma avaliação de segurança completa para o seu site.
O EasyScan também está disponível em https://easyscan.onrender.com/
Se você tiver alguma dúvida ou precisar de uma auditoria de segurança completa, entre em contato no Twitter @0xdevrel.
| Flag | Descrição |
|---|
url | Argumento posicional. A URL a ser verificada (ex.: example.com ou https://example.com). |
--json | Saída dos resultados em JSON para stdout. |
--output FILE / -o FILE | Salva o relatório em um arquivo específico. |
--timeout SECS / -t SECS | Define o tempo limite da requisição em segundos (padrão: 10). |
--verbose / -v | Ativa a saída de log em nível de depuração. |