
Веб-сканер безопасности на Python, который анализирует HTTP-заголовки, SSL/TLS, DNS-записи и распространенные ошибки конфигурации для создания оцениваемого отчета о безопасности с практическими рекомендациями.
EasyScan — это скрипт на Python, который анализирует безопасность указанного веб-сайта, проверяя его HTTP-заголовки, DNS-записи и другие настройки. Скрипт генерирует отчёт о безопасности с оценкой, буквенной оценкой (grade) и рекомендациями по устранению потенциальных уязвимостей.
Скрипт охватывает следующие тестовые случаи:
Referrer-Policy и мета-тег./admin, /wp-admin, /phpmyadmin, /cpanel)./images, /uploads, /files и т.д.) на наличие открытого листинга.Set-Cookie на атрибуты Secure, HttpOnly, SameSite и префиксы __Secure-/__Host-.Server, X-Powered-By, X-AspNet-Version.Access-Control-Allow-Origin и конфликты подстановочных символов с учётными данными.Content-Type.robots.txt на наличие потенциально чувствительных запрещённых путей.OPTIONS для обнаружения опасных методов (TRACE, DELETE, PUT, CONNECT)..git/config, .env, .htaccess, backup.sql, wp-config.php.bak и других.<script> и <link> на отсутствие атрибута integrity.http://, загружаемых на HTTPS-страницах.X-Frame-Options, так и CSP frame-ancestors на защиту от кликджекинга.Host в перенаправлениях или теле ответа.EasyScan требует Python 3.6+ и следующие библиотеки:
requestsbeautifulsoup4dnspythoncertifiВы можете установить эти зависимости, используя предоставленный файл requirements.txt:
pip install -r requirements.txt
Для использования скрипта EasyScan выполните следующие шаги:
easyscan.py.pip install -r requirements.txt
python3 easyscan.py [url]
Базовое сканирование:
python3 easyscan.py example.com
Сканирование с выводом JSON в файл:
python3 easyscan.py example.com --json --output report.json
Сканирование с увеличенным тайм-аутом и подробным журналом:
python3 easyscan.py https://example.com --timeout 20 --verbose
Используйте флаг --json для получения структурированного вывода JSON, что полезно для интеграции с другими инструментами:
python3 easyscan.py example.com --json
JSON-отчёт включает объект score с общей оценкой (0-100), буквенной оценкой (A-F), количеством уровней серьёзности и всеми обнаружениями.
================================================================================================================================================================
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
============================================================
Имейте в виду, что скрипт может не охватывать все возможные сценарии безопасности, и рекомендуется провести тщательную оценку безопасности вашего веб-сайта.
EasyScan также доступен по адресу https://easyscan.onrender.com/
Если у вас есть вопросы или вам нужна полная проверка безопасности, обращайтесь в Twitter @0xdevrel.
| Флаг | Описание |
|---|
url | Позиционный аргумент. URL для сканирования (например, example.com или https://example.com). |
--json | Вывод результатов в формате JSON в stdout. |
--output FILE / -o FILE | Сохранить отчёт в указанный файл. |
--timeout SECS / -t SECS | Установить тайм-аут запроса в секундах (по умолчанию: 10). |
--verbose / -v | Включить вывод журнала отладки. |