jaytiwari05/elastic-detection-parser — explained in plain English
Analysis updated 2026-05-18
Understand exactly why Elastic Defend flagged a specific process or file, down to which rule condition matched.
Review a full Kibana alert export and step through each alert's underlying detection logic.
Study a real Elastic detection rule's TOML source alongside actual event data during incident investigation.
| jaytiwari05/elastic-detection-parser | aim-uofa/reasonmatch | airbone42/360-data-athlete | |
|---|---|---|---|
| Stars | 12 | 12 | 12 |
| Language | Python | Python | Python |
| Setup difficulty | easy | hard | hard |
| Complexity | 2/5 | 5/5 | 4/5 |
| Audience | ops devops | researcher | general |
Figures from each repo's GitHub metadata at analysis time.
Needs Python 3.11+ and git installed, clones Elastic's protections-artifacts repo on first run.
elastic-detection-parser is a small command line tool for security analysts who use Elastic Defend, the endpoint detection product built into the Elastic stack. When Elastic flags a file or process as suspicious, it produces an alert as a JSON object, but figuring out exactly why the alert fired can mean digging through a rule definition by hand. This tool automates that step. You give it an alert file, and it decodes the JSON, works out which detection rule triggered it, and then walks through the rule's actual condition logic against the real process, DLL, or file event data captured in the alert, showing you which specific parts of the rule matched. On its first run, the tool clones a copy of Elastic's own public protections artifacts repository onto your machine. That repository holds the source files, written in the TOML format, for the detection rules Elastic ships, and the tool needs that source to explain what a given rule was actually checking for. You can pass a flag to skip the automatic git pull if you already have the artifacts repository and do not want it refreshed, and another flag to turn off colored terminal output for plain text results. The tool accepts either a single alert as one JSON object or an entire array of alerts, which matches the format you get when exporting a full set of alerts from Kibana, Elastic's web interface. It needs Python 3.11 or newer, since it relies on a built in module called tomllib for reading the TOML rule files, and it needs git available on the command line for that first time clone. Beyond those two requirements it uses only Python's standard library, with no other packages to install. The project keeps the cloned artifacts folder and any local alert samples out of version control by default, since alert data can contain sensitive information about hosts and users. There is no license file mentioned, and the author credits themselves as PaiN05 at the end of the README.
A command line tool that explains why Elastic Defend flagged a file or process, by matching the alert's real event data against the actual detection rule logic.
Mainly Python. The stack also includes Python.
No license file is mentioned in the README, so check with the author before reuse or redistribution.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.