
Пассивный аудитор метаданных HTTP для триажа экспозиции CVE-2026-23918
В качестве альтернативы можно просто curl заголовки и заглянуть, но вот:
Неинвазивный аудитор метаданных HTTP для Apache HTTP Server Триаж экспозиции CVE-2026-23918 (https://www.openwall.com/lists/oss-security/2026/05/04/19).
Инструмент отправляет обычные HTTP-запросы HEAD/GET и выполняет согласование TLS ALPN для наблюдения поддержки HTTP/2.
uvУстановка uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
Примеры с помощью пакетных менеджеров:
brew install uv [email protected]
sudo apt install python3.13 python3.13-venv pipx && pipx install uv
sudo dnf install python3.13 pipx && pipx install uv
sudo pacman -S uv python
Установка зависимостей проекта:
make install
Установка зависимостей для разработки (линтинг):
make install-dev
Вывод справки по командам:
make help
Аудит одной цели:
make run https://example.com
Вывод однострочных заключений по CVE:
make run https://example.com brief
Аудит целей из targets.json:
make run targets.json brief
Необязательные переменные:
make run targets.json brief TIMEOUT=30 CONCURRENCY=10
make run https://example.com INSECURE=1
make run targets.json JSON_OUTPUT=1
В интерактивных терминалах отображается небольшой ASCII-спиннер в stderr, пока выполняются запросы. Вывод отчёта остаётся в stdout.
targets.json должен быть JSON-массивом имен хостов, IP-адресов или URL:
[
"https://httpd.apache.org",
"https://example.com",
"http://scanme.nmap.org"
]
Эквивалентный общий формат:
[
"https://example.com",
"example.org",
"192.0.2.10",
"http://192.0.2.20:8080"
]
Каждая запись должна быть непустой строкой. Простые имена хостов и IP-адреса нормализуются к HTTPS.
Alt-Svc и UpgradeКраткий формат вывода:
https://example.com [Apache/2.4.66] [h2 no] => likely vulnerable (h2 not confirmed)
Для CVE-2026-23918 Apache 2.4.66 считается уязвимым, а 2.4.67 или новее — исправленным. Более старые версии Apache сообщаются как находящиеся за пределами подтверждённого диапазона CVE.
audit.py: точка входа CLI.auditor/: проверка, пассивный сбор, анализ, отчётность и отображение прогресса.Успешное выполнение завершается с кодом 0 после вывода результатов. Находки, включая подозрительные баннеры, являются выходными данными и не приводят к сбою процесса.
Ошибки проверки ввода и настройки могут завершиться с ненулевым кодом.
Результаты основаны на внешне видимых метаданных и не являются авторитетным доказательством состояния пакета. Серверные баннеры могут быть скрыты, изменены, бэкпортированы или переданы через посредников.
CC0 1.0 Universal. См. LICENSE.