
deadair v0.4.0
Находит правила обнаружения в вашей SIEM, которые работают вслепую
deadair проверяет, есть ли у включённых обнаружений SIEM необходимая им телеметрия.
Он сообщает об отсутствующих или устаревших данных, задержках приёма и несоответствиях схемы.
Работает локально · Только чтение · Без агента · Без выгрузки телеметрии
Читать техническое описание · Упомянут в Detection Engineering Weekly · Упомянут в tl;dr sec #341
Отсутствующие поля и задержанные события в одноразовой лаборатории Elastic. Откройте изображение, чтобы увидеть короткую запись с элементами управления воспроизведением, или воспроизведите её с помощью make record-scan-lab.
Зачем нужен deadair
Правило может быть включено, запланировано и работать без ошибок после того, как данные, которые ему нужны, исчезли. deadair читает актуальный инвентарь правил, разрешает входные данные каждого правила, используя нативную семантику бэкенда, и проверяет конкретные источники, стоящие за ними.
Он выявляет:
- правила, чьи селекторы индексов, алиасов или потоков данных не разрешаются ни во что;
- правила со смешанными селекторами, где один объявленный вход исчез, а другой всё ещё разрешается;
- правила, все соответствующие источники которых устарели или пусты;
- в Elastic — правила, работающие с отсутствующими объявленными полями;
- в Elastic и подходящих Scheduled-правилах Sentinel — слепое окно задержки приёма;
- в Sentinel — правила, чьи известные источники используют несовместимый план таблиц Basic или Auxiliary;
- в Elastic и OpenSearch — исправную телеметрию, которую не читает ни одно включённое обнаружение.
deadair поддерживает Elastic Security, OpenSearch Security Analytics и Microsoft Sentinel.
Быстрый старт
Скачайте бинарный файл для macOS, Linux или Windows со страницы GitHub Releases или установите с помощью Go:
go install github.com/alephnull-sh/deadair/cmd/deadair@latest
Выведите настройку только для чтения для вашего SIEM:
deadair setup elastic # Elastic Security
deadair setup opensearch # OpenSearch Security Analytics
deadair setup sentinel # Microsoft Sentinel
Выполните одну настройку, затем проверьте и просканируйте:
deadair check # verify the credential can scan
deadair scan # assess live rules and telemetry
Коды выхода стабильны: 0 — пройден настроенный порог, 1 — обнаружения, ограниченные порогом, 2 — сканирование не удалось.
Чтобы исследовать источник и потребляющие его обнаружения:
deadair scan --json-out report.json --html-out report.html
deadair inspect --source CommonSecurityLog report.json
Используйте имя источника из вашего отчёта. Руководство по исследованию также охватывает отдельные каналы Sentinel, обслуживание и отслеживание восстановления.
Как это работает
| Этап | Что делает deadair |
|---|---|
| Инвентаризация | читает включённые обнаружения и объявленные ими входные данные |
| Разрешение | использует нативное разрешение индексов в Elastic и OpenSearch; в Sentinel объединяет анализ KQL с таблицами, watchlist, сохранёнными функциями, ASIM и сопоставленными данными из других рабочих областей |
| Измерение | проверяет свежесть и своевременность источников, а также схему и хранилище там, где бэкенд это поддерживает |
| Отчёт | выдаёт вывод в терминал, JSON, HTML, сводки по парку и метрики Prometheus с доказательствами, лежащими в основе каждого вердикта |
Sentinel следует той же модели «правило — источник» и добавляет литеральные watchlist, сохранённые функции, парсеры ASIM, сопоставленные рабочие области и происхождение сводных таблиц. Он также показывает, когда отфильтрованный срез общей таблицы замолчал или конвейер сводок отстал.
Руководство по использованию описывает правила доказательств, а запись о валидации фиксирует охват живого тестирования.
Два потока данных межсетевого экрана используют CommonSecurityLog. Один останавливается; другой продолжает отчитываться. Запись показывает сохранённые сканирования сбоя и восстановления. См. запись о валидации для условий лаборатории.
deadair проверяет, присутствует ли телеметрия обнаружения и исправна ли она. Он не проверяет логику правил и не доказывает, что смоделированная атака вызовет оповещение. Для этих задач используйте статическую валидацию правил и сквозные тесты обнаружения.

