
Trouve les règles de détection de votre SIEM qui sont aveugles.
Santé de la détection SIEM open-source.
Trouvez les détections activées qui sont aveugles parce que leur télémétrie est manquante, obsolète, tardive ou
incompatible avec le schéma.
S'exécute localement · Lecture seule · Aucun agent · Aucun envoi de télémétrie
Lisez l'article technique · Mis en avant dans Detection Engineering Weekly
Vraie analyse d'un lab Elastic jetable avec une télémétrie volontairement manquante, obsolète, tardive et inutilisée. Reproduisez-la avec make record-scan-lab.
Une règle peut être activée, planifiée et exempte d'erreurs alors que les données dont elle a besoin ont disparu. deadair lit l'inventaire des règles en direct, résout les entrées de chaque règle à l'aide de la sémantique native du backend et vérifie les sources concrètes qui les sous-tendent.
Il détecte :
deadair fonctionne actuellement avec Elastic Security et OpenSearch Security Analytics.
Téléchargez un binaire pour macOS, Linux ou Windows depuis GitHub Releases, ou installez-le avec Go :
go install github.com/alephnull-sh/deadair/cmd/deadair@latest
Connectez une habilitation SIEM en lecture seule :
deadair setup elastic # print the least-privilege setup
deadair check # verify the credential can scan
deadair scan # assess live rules and telemetry
Les codes de sortie sont stables : 0 indique un système sain, 1 indique des constatations et 2 indique que l'analyse a échoué.
| Étape | Ce que fait deadair |
|---|---|
| Inventaire | lit les détections activées et les entrées qu'elles déclarent |
| Résolution | demande à Elastic ou OpenSearch de résoudre les modèles d'index, les alias, les flux de données, les sélecteurs et les entrées distantes |
deadair prouve si les prérequis de télémétrie observables d'une détection sont présents et sains. Il ne prouve pas que la logique de la règle est correcte ni qu'une attaque simulée produira une alerte. Associez-le à une validation statique des règles et à des tests de détection de bout en bout pour ces aspects.
Chaque verdict se limite à ce que l'habilitation configurée peut voir. Les rapports JSON incluent les expressions configurées, les sources résolues, la méthode de résolution, le statut d'évaluation, les métadonnées du backend et les preuves de capacité. Consultez le guide d'utilisation pour des exemples concrets et le triage.
Elastic :
export DEADAIR_ES_URL=https://es.example.internal:9200
export DEADAIR_KIBANA_URL=https://kibana.example.internal:5601
export DEADAIR_API_KEY=<read-only-api-key>
deadair check
deadair scan --json-out report.json --html-out report.html
OpenSearch :
export DEADAIR_BACKEND=opensearch
export DEADAIR_OPENSEARCH_URL=https://opensearch.example.internal:9200
export DEADAIR_OPENSEARCH_USERNAME=deadair
export DEADAIR_OPENSEARCH_PASSWORD=<password>
deadair check
deadair scan
Utilisez les rôles de privilèges minimaux documentés pour Elastic ou OpenSearch. La suite d'intégration de confiance prouve également que les tentatives d'écriture effectuées avec ces habilitations sont rejetées.
# Gate a candidate rule against live source availability.
deadair scan --rule new-rule.json
# Fail only on new regressions between reports.
deadair diff yesterday.json today.json
# Scan multiple SIEM instances from one process.
deadair scan --fleet fleet.json
# Export cached scan results as Prometheus metrics.
deadair serve --interval 5m
scan --rule isole la règle candidate du backlog non lié. diff fonctionne avec des rapports expurgés de manière déterministe. La configuration de flotte référence les secrets par des variables d'environnement plutôt que de stocker les valeurs secrètes.
Un portail de règle candidate et un diff de rapport contre une pile Elastic jetable.
Consultez le comportement du portail CI, le déploiement en flotte et MSSP et les exemples Prometheus pour les modèles de production.
Le workflow d'intégration teste actuellement ces versions exactes :
| Backend | Versions exactes testées en CI |
|---|---|
| Elastic Security | 8.19.19, 9.4.4 |
| OpenSearch Security Analytics | 2.19.6, 3.7.0 |
D'autres versions peuvent fonctionner, mais elles ne sont pas couvertes par la matrice CI actuelle.
0600 sur les systèmes POSIX.--redact remplace les noms de locataire, de règle, de source, de modèle et de champ par des condensés stables.Traitez les rapports comme des artefacts SOC sensibles : ils identifient les détections aveugles, les noms de sources, les lacunes de schéma et la collecte inutilisée.
Les rapports de bogues, les fixtures assainies, les cas de correction, la documentation et les propositions de backend sont les bienvenus. Commencez par CONTRIBUTING.md et utilisez le modèle RFC backend pour le travail d'adaptateur.
Apache-2.0.
| Mesure | vérifie le nombre de documents, l'événement le plus récent, le stockage, les mappages de champs, l'historique du schéma et la latence d'ingestion |
| Rapport | émet des sorties terminal, JSON, HTML, des synthèses de flottes et des métriques Prometheus, avec les preuves à l'appui de chaque verdict |
| Constatation | Signification | Première vérification |
|---|
| aucune source correspondante | aucune des entrées de la règle ne résout un index ou un flux de données visible | changements de modèles, intégrations manquantes et périmètre de l'habilitation |
| toutes les sources obsolètes ou vides | chaque source résolue est inutilisable à l'instant présent | cadence des sources et chemin d'ingestion |
| champs manquants | les champs déclarés sont absents de chaque mappage de source correspondant | modifications du parseur, du paquet et des mappages |
| fenêtre aveugle de latence | la latence d'ingestion mesurée dépasse la marge de recul de la règle | intervalle de la règle, recul, remplacement d'horodatage et délai du pipeline |
| dégradation de source | une source est obsolète, vide, à faible volume ou en dérive de schéma | historique de la source et maintenance prévue |
| télémétrie inutilisée | des données sont stockées mais aucune détection locale activée n'y résout | règles désactivées et collecte intentionnelle |