
Encuentra las reglas de detección en tu SIEM que están funcionando a ciegas
Salud de detección SIEM de código abierto.
Encuentra detecciones habilitadas que están ciegas porque su telemetría falta, está obsoleta, llega tarde o es incompatible con el esquema.
Se ejecuta localmente · Solo lectura · Sin agente · Sin carga de telemetría
Lee el informe técnico · Destacado en Detection Engineering Weekly
Escaneo real de un laboratorio Elastic desechable con telemetría deliberadamente faltante, obsoleta, tardía y sin usar. Reprodúcelo con make record-scan-lab.
Una regla puede estar habilitada, programada y sin errores mientras los datos que necesita han desaparecido. deadair lee el inventario de reglas en vivo, resuelve las entradas de cada regla usando la semántica nativa del backend y comprueba las fuentes concretas que hay detrás de ellas.
Detecta:
deadair actualmente funciona con Elastic Security y OpenSearch Security Analytics.
Descarga un binario para macOS, Linux o Windows desde GitHub Releases, o instala con Go:
go install github.com/alephnull-sh/deadair/cmd/deadair@latest
Conecta una credencial SIEM de solo lectura:
deadair setup elastic # print the least-privilege setup
deadair check # verify the credential can scan
deadair scan # assess live rules and telemetry
Los códigos de salida son estables: 0 es saludable, 1 significa hallazgos y 2 significa que el escaneo falló.
| Etapa | Qué hace deadair |
|---|---|
| Inventario | lee las detecciones habilitadas y las entradas que declaran |
| Resolución | pide a Elastic u OpenSearch que resuelvan patrones de índice, alias, flujos de datos, selectores y entradas remotas |
deadair demuestra si los prerrequisitos observables de telemetría de una detección están presentes y son saludables. No demuestra que la lógica de la regla sea correcta ni que un ataque simulado produzca una alerta. Combínalo con validación estática de reglas y pruebas de detección de extremo a extremo para esas capas.
Cada veredicto se limita a lo que la credencial configurada puede ver. Los informes JSON incluyen las expresiones configuradas, las fuentes resueltas, el método de resolución, el estado de la evaluación, los metadatos del backend y la evidencia de capacidad. Consulta la guía de uso para ver ejemplos resueltos y clasificación de hallazgos.
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
Usa los roles de privilegios mínimos documentados para Elastic o OpenSearch. El conjunto de integraciones de confianza también demuestra que los intentos de escritura realizados con esas credenciales son rechazados.
# 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 aísla la regla candidata del trabajo pendiente no relacionado. diff funciona con informes redactados de forma determinista. La configuración de flotas hace referencia a los secretos mediante variables de entorno en lugar de almacenar valores secretos.
Una compuerta de regla candidata y un diff de informes contra una pila Elastic desechable.
Consulta comportamiento de la compuerta de CI, implementación de flotas y MSSP y los ejemplos de Prometheus para patrones de producción.
El flujo de trabajo de integración actualmente prueba estas versiones exactas:
| Backend | Versiones exactas en CI en vivo |
|---|---|
| Elastic Security | 8.19.19, 9.4.4 |
| OpenSearch Security Analytics | 2.19.6, 3.7.0 |
Otras versiones pueden funcionar, pero no están cubiertas por la matriz de CI actual.
0600 en sistemas POSIX.--redact reemplaza los nombres de inquilino, regla, fuente, patrón y campo con resúmenes estables.Trata los informes como artefactos confidenciales del SOC: identifican detecciones ciegas, nombres de fuentes, brechas de esquema y recopilación sin usar.
Los informes de errores, accesorios saneados, casos de corrección, documentación y propuestas de backend son bienvenidos. Comienza con CONTRIBUTING.md y usa la plantilla de RFC de backend para el trabajo de adaptadores.
Apache-2.0.
| Medición | comprueba el recuento de documentos, el evento más reciente, el almacenamiento, los mapeos de campos, el historial de esquemas y el retraso de ingesta |
| Informe | emite métricas de terminal, JSON, HTML, resúmenes de flota y Prometheus con la evidencia detrás de cada veredicto |
| Hallazgo | Significado | Primera comprobación |
|---|
| sin fuente coincidente | ninguna de las entradas de la regla resuelve a un índice o flujo de datos visible | cambios de patrón, integraciones faltantes y alcance de la credencial |
| todas las fuentes obsoletas o vacías | cada fuente resuelta no es utilizable en este momento | cadencia de la fuente y ruta de ingesta |
| campos faltantes | los campos declarados están ausentes de todos los mapeos de fuentes coincidentes | cambios de parser, paquete y mapeo |
| ventana ciega por retraso | el retraso de ingesta medido supera el margen de retroceso de la regla | intervalo de la regla, retroceso, anulación de marca de tiempo y retraso del pipeline |
| degradación de la fuente | una fuente está obsoleta, vacía, con bajo volumen o con desviación de esquema | historial de la fuente y mantenimiento esperado |
| telemetría sin usar | se están almacenando datos pero ninguna detección local habilitada resuelve hacia ellos | reglas deshabilitadas y recopilación intencional |