
Scanner de sécurité web basé sur Python qui analyse les en-têtes HTTP, SSL/TLS, les enregistrements DNS et les erreurs de configuration courantes pour générer un rapport de sécurité noté avec des recommandations exploitables.
EasyScan est un script Python qui analyse la sécurité d'un site Web donné en inspectant ses en-têtes HTTP, ses enregistrements DNS et d'autres configurations. Le script génère un rapport de sécurité avec un score, une note et des recommandations pour traiter les vulnérabilités potentielles.
Le script couvre les cas de test suivants :
Referrer-Policy et de la balise meta./admin, /wp-admin, /phpmyadmin, /cpanel)./images, /uploads, /files, etc.) pour des listages de répertoires exposés.Set-Cookie pour les attributs Secure, HttpOnly, SameSite et les préfixes __Secure-/__Host-.Server, X-Powered-By, X-AspNet-Version.Access-Control-Allow-Origin non sécurisés et les conflits wildcard + credentials.Content-Type.robots.txt pour des chemins interdits potentiellement sensibles.OPTIONS pour détecter les verbes dangereux (TRACE, DELETE, PUT, CONNECT)..git/config, .env, .htaccess, backup.sql, wp-config.php.bak, etc.<script> et <link> externes pour vérifier l'absence d'attributs integrity.http:// chargées sur des pages HTTPS.X-Frame-Options et la directive CSP frame-ancestors pour la protection contre le clickjacking.Host falsifié est reflété dans les redirections ou le corps de la réponse.url, next, redirect, return, etc.) pour les vulnérabilités de redirection ouverte.EasyScan nécessite Python 3.6+ et les bibliothèques suivantes :
requestsbeautifulsoup4dnspythoncertifiVous pouvez installer ces dépendances à l'aide du fichier requirements.txt fourni :
pip install -r requirements.txt
Pour utiliser le script EasyScan, suivez ces étapes :
easyscan.py.pip install -r requirements.txt
python3 easyscan.py [url]
Analyse de base :
python3 easyscan.py example.com
Analyse avec sortie JSON enregistrée dans un fichier :
python3 easyscan.py example.com --json --output report.json
Analyse avec un délai d'attente plus long et logs détaillés :
python3 easyscan.py https://example.com --timeout 20 --verbose
Utilisez l'option --json pour obtenir une sortie JSON structurée, utile pour l'intégration avec d'autres outils :
python3 easyscan.py example.com --json
Le rapport JSON inclut un objet score avec le score global (0-100), une note alphabétique (A-F), les comptes de sévérité et tous les résultats.
================================================================================================================================================================
SECURITY REPORT
================================================================================================================================================================
Header Status Severity Recommendation
================================================================================================================================================================
[CRI] SSL/TLS Missing Critical The site is not using HTTPS. Implement SSL/TLS to encrypt data in transit.
[HI] Clickjacking No Protection High Set 'X-Frame-Options: DENY' or CSP 'frame-ancestors' directive to prevent clickjacking.
[HI] Public Admin Page (/admin) Accessible High Restrict access to /admin to specific IP addresses and/or enable authentication.
[MED] Content-Security-Policy Missing Medium Implement a Content Security Policy (CSP) to prevent XSS and code injection attacks.
[MED] Strict-Transport-Security Missing Medium Implement Strict Transport Security (HSTS) to enforce secure connections.
[MED] Permissions-Policy Missing Medium Set a 'Permissions-Policy' header to restrict browser features (camera, microphone, geolocation).
[LOW] SPF Record Missing Low Add an SPF record to your domain's DNS settings to help prevent email spoofing.
[INF] Meta Referrer Missing Low Add a 'referrer' META tag with 'no-referrer' to prevent leaking referrer information.
============================================================
SECURITY SCORE: 55/100 (Grade: C)
============================================================
Total Issues : 8
Critical : 1
High : 2
Medium : 4
Low : 1
Info : 0
============================================================
Gardez à l'esprit que ce script peut ne pas couvrir tous les scénarios de sécurité possibles, et il est recommandé d'effectuer une évaluation de sécurité approfondie de votre site Web.
EasyScan est également disponible à l'adresse https://easyscan.onrender.com/
Si vous avez des questions ou avez besoin d'un audit de sécurité complet, n'hésitez pas à contacter sur Twitter @0xdevrel.
| Drapeau | Description |
|---|
url | Argument positionnel. L'URL à analyser (ex : example.com ou https://example.com). |
--json | Affiche les résultats au format JSON sur la sortie standard. |
--output FILE / -o FILE | Enregistre le rapport dans un fichier spécifique. |
--timeout SECS / -t SECS | Définit le délai d'attente en secondes (par défaut : 10). |
--verbose / -v | Active les logs de débogage détaillés. |