gitwtfhub

wtf is deadair?

big-comfy/deadair — explained in plain English

Analysis updated 2026-05-18

3GoAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TL;DR

Deadair is a command line tool that checks whether your SIEM's security detection rules can actually see the log data they depend on, flagging rules that are quietly running blind.

Mindmap

mindmap
  root((deadair))
    What it does
      Checks SIEM rule coverage
      Finds blind detections
      Read-only, no agent
    Tech stack
      Go CLI
      Elasticsearch
      OpenSearch
    Use cases
      Detection coverage audit
      Catch migrated sources
      Shareable reports
    Audience
      Security operations
      Detection engineers
      MSSPs

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Audit a security team's enabled SIEM detection rules to find ones with no matching data source.

REASON 2

Catch cases where a data source was renamed or migrated and a rule silently stopped receiving events.

REASON 3

Generate a shareable, redacted HTML or JSON report of detection coverage gaps for a security review.

What's in the stack?

GoElasticsearchOpenSearch

How it stacks up

big-comfy/deadair12vault/ravelalexremn/finalizer-doctor
Stars333
LanguageGoGoGo
Setup difficultymoderateeasyeasy
Complexity3/52/53/5
Audienceops devopsdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires a read-only credential to an existing Elastic or OpenSearch cluster.

Apache 2.0: use, modify, and distribute freely, including commercially, as long as you keep the license notice.

Wtf does this do

Deadair is a command line tool that checks whether the detection rules in your security monitoring system (called a SIEM) are actually able to see the data they are supposed to watch. It works with Elastic Security and OpenSearch Security Analytics, the two backends it currently supports. A security team turns on detection rules to catch things like suspicious logins or unusual network activity. Each rule is written to look at a certain kind of log data, described as a pattern such as winlogbeat-*. Over time, teams rename data sources, migrate to new systems, or stop collecting certain logs, and a rule can keep running while quietly having nothing left to check. Deadair connects to your SIEM with a read-only credential, reads the list of enabled rules, reads which data sources actually exist and how fresh they are, and matches rules to sources. It then reports gaps: rules with no matching source at all, rules where the matching sources are empty or too old to be useful, sources that exist but have no rule reading them, and cases where the incoming data has fields the rule expects but the source no longer provides. It does not install an agent inside the SIEM and does not write anything to the monitored cluster, so it can run alongside existing tooling without changing configuration. Setup involves downloading a binary or installing it with a Go command, then running a setup step that prints the minimal read-only role needed, a check step to confirm the connection, and a scan step to produce the first report. Reports come as terminal output, JSON, or an HTML page, and a redact flag can replace sensitive names with stable placeholders before the report is shared with anyone outside the security team. Deadair also supports state files to track scan history over time, schema drift detection, and a downtime file so planned maintenance windows do not get flagged as problems. It is aimed at security operations teams and detection engineers who want an outside check that their alerting rules are still connected to live, current data rather than assuming they are.

Yoink these prompts

Prompt 1
Walk me through setting up deadair with a read-only credential against my Elastic Security cluster.
Prompt 2
Explain the difference between deadair's no matching source and unused telemetry findings.
Prompt 3
How do I use deadair's state file feature to track ingest lag and schema drift across scans?
Prompt 4
Show me how to set up a downtime file in deadair so maintenance windows are not flagged as coverage gaps.

Frequently asked questions

wtf is deadair?

Deadair is a command line tool that checks whether your SIEM's security detection rules can actually see the log data they depend on, flagging rules that are quietly running blind.

What language is deadair written in?

Mainly Go. The stack also includes Go, Elasticsearch, OpenSearch.

What license does deadair use?

Apache 2.0: use, modify, and distribute freely, including commercially, as long as you keep the license notice.

How hard is deadair to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is deadair for?

Mainly ops devops.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.