Webscan — это клиентский инструмент для комплексного технического аудита и анализа безопасности веб-приложений. Приложение проверяет заголовки HTTP, наличие утечек конфиденциальных файлов (например, .git), параметры SEO-оптимизации, задержку сети (Latency) и автоматически генерирует исполнительное резюме (Executive Summary) с помощью встроенного ИИ-агента.
Инструмент реализован на истом HTML/CSS/JavaScript (Single Page Application) без сторонних heavy-фреймворков и бэкенда, что делает его невероятно быстрым, автономным и лёгким в развёртывании.
-
🛡️ Анализ заголовков безопасности (HTTP Security Headers):
- Проверка Content-Security-Policy (CSP) для предотвращения XSS-атак.
- Проверка Strict-Transport-Security (HSTS) для контроля HTTPS-соединения.
- Проверка X-Frame-Options (защита от Clickjacking).
- Проверка X-Content-Type-Options (предотвращение MIME-sniffing).
- Проверка Referrer-Policy и выявление утечек через заголовки
ServerиX-Powered-By.
-
📂 Проверка утечек конфигурации и ключевых файлов:
- Поиск критической утечки открытого каталога версионирования
/.git/HEAD. - Проверка стандартизированного файла безопасности
/.well-known/security.txt(RFC 9116). - Проверка наличия карты сайта
sitemap.xml.
- Поиск критической утечки открытого каталога версионирования
-
🤖 AI Executive Summary & Quick-Fix Agent:
- Интерактивная панель ИИ-аналитика с пульсирующим статус-индикатором.
- Автоматический разбор найденных уязвимостей, классификация рисков и выдача готовых директив для исправления в виде скопируемого кода.
-
❌ Умная обработка недоступности доменов:
- Распознавание несуществующих доменов, сетевых тайм-аутов и ошибок резолва DNS.
- Наглядное отображение состояния ошибки с рекомендациями по диагностике через консоль (
ping, CORS check).
-
⚙️ Гибкая настройка аудита:
- Включение/отключение отдельных модулей аудита (Security, Headers, Files, SEO).
- Настраиваемый тайм-аут запросов (3с / 5с / 10с).
- Поддержка CORS-Proxy Mode (через AllOrigins API) для сканирования сайтов с жесткой политикой Same-Origin Policy.
-
📄 Экспорт и темы оформления:
- Монохромная адаптивная система тем: Auto (System preference), Light, Dark.
- Выгрузка отчёта в структурированный файл
JSON. - Готовый к печати и сохранению в
PDFстилизованный слой через@media print.
Приложение создано в рамках идеологии Single File Architecture. Все компоненты (структура, стили и логика) объединены в одном файле index.html.
- CSS Custom Properties (Переменные): Все цвета и параметры теней привязаны к переменным (
--bg-color,--card-bg,--status-high-bgи т.д.). - Адаптивность тем: Тема меняется динамически с помощью атрибута
[data-theme="dark"]или медиа-запроса@media (prefers-color-scheme: dark). - AI Panel Gradient & Pulse: Панель ИИ использует градиентную анимированную полосу (
aiGradient) и светодиодную индикацию состояния (pulse).
- Hero Section: Форма ввода URL с авто-подстановкой схемы
https://и рекламные карточки возможностей. - Dashboard Section:
- Индикатор общей оценки (Overall Score Circle).
- Сетка категорий (Security, Headers, Config, SEO).
- Блок ИИ-Агента (
ai-summary-card). - Фильтр по категориям и список результатов (Findings Container).
- Modal Settings: Модальное окно с чекбоксами модулей и конфигурацией таймаутов.
Обертка над встроенным Fetch API с использованием AbortController. Прерывает запрос, если сервер не отвечает в течение заданного времени.
Основная асинхронная функция сканирования.
- Pre-flight Check: Делает пробный запрос к
/. Если происходит ошибка сети или превышен тайм-аут, функция вызываетrenderUnreachableDomainState(). - Параллельные проверки: Если сайт доступен, последовательно запрашиваются конфигурационные файлы (
/.git/HEAD,security.txt,sitemap.xml). - Анализ заголовков и HTML: Считываются HTTP-заголовки ответов и парсится HTML DOM с помощью
DOMParser()для оценки тегов SEO (<title>,<meta name="description">,og:image). - Расчёт рейтинга (
calculateScores): Динамически вычитает баллы за уязвимости (High: -25, Medium: -12, Low: -5) и формирует итоговый балл.
Синтезирует полученный массив проблем, группирует критические уязвимости и генерирует рекомендательный блок с кодом решений.
- Склонируйте репозиторий:
git clone [https://github.com/your-username/webscan.git](https://github.com/your-username/webscan.git)
- Перейдите в папку проекта:
cd webscan- Откройте файл index.html в любом современном веб-браузере:
- Linux/macOS: open
index.htmlилиxdg-open index.html - Windows: нажмите дважды на
index.htmlили выполнитеstart index.htmlв PowerShell.
- Linux/macOS: open
Альтернатива: Вы можете разместить файл index.html на GitHub Pages, Vercel или Netlify за пару кликов.
Из-за ограничений безопасности современных браузеров (CORS Policy) некоторые веб-сайты могут запрещать прямые запросы через fetch().
- Если при сканировании вы получаете сетевую ошибку или ограниченный доступ:
- Нажмите на кнопку ⚙️ Settings в шапке сайта.
- Включите опцию "Использовать CORS-Proxy".
- Запустите аудит заново.
📄 Лицензия: Проект распространяется под лицензией MIT. Вы можете свободно использовать, модифицировать и встраивать данный код в свои проекты.