Detection Rule Studio (DRS) is a browser-based, stateless toolkit for detection engineers that parses, validates, lints, and translates Sigma rules in real time.
| Platform | Query Language | Package |
|---|---|---|
| Splunk | SPL — Search Processing Language | @drs/translator-splunk |
| Microsoft Sentinel | KQL — Kusto Query Language | @drs/translator-sentinel |
| Elastic | EQL — Event Query Language | @drs/translator-elastic |
| Chronicle (YARA-L) | YARA-L 2.0 | @drs/translator-chronicle |
DRS is a Turborepo monorepo. All business logic lives in framework-agnostic TypeScript packages; the Next.js web app is a thin UI shell on top.
detection-rule-studio/
├── apps/
│ └── web/ # Next.js 14 front-end (App Router)
│ ├── app/ # Pages: /, /docs, /about
│ ├── components/ # React UI components
│ └── state/ # useReducer app state
│
└── packages/
├── core/ # Parser · Validator · Linter · Pipeline · ExportEngine
├── translator-splunk/ # Sigma → Splunk SPL
├── translator-sentinel/ # Sigma → Microsoft Sentinel KQL
├── translator-elastic/ # Sigma → Elastic EQL
├── translator-chronicle/ # Sigma → Chronicle YARA-L
└── sample-rules/ # Shared test fixturesEvery keystroke in the editor triggers the full pipeline in under a millisecond. Results are memoised with an LRU cache keyed on the raw YAML string.
| Code | Severity | Description |
|---|---|---|
| V010 | error | Missing required field: title |
| V011 | error | Missing required field: logsource |
| V012 | error | Missing required field: detection |
| V013 | error | Missing required field: condition |
| V020 | error | Field type mismatch (string expected) |
| V030 | warning | Unknown logsource category or product |
| V050 | warning | Malformed MITRE ATT&CK tag |
| L001 | info | Rule title should be title-case |
| L002 | info | Description is recommended |
| L003 | info | Author field is recommended |
| L004 | info | Status field should be set |
| L005 | info | Date field is recommended |
Original Sigma rule with metadata annotations
Parsed rule object with all fields serialised
Human-readable report with translations inline
All three formats bundled in one archive
Detection Rule Studio is fully client-side. No telemetry, no analytics, no server calls. Every operation — parsing, validation, linting, translation, and export — happens entirely inside your browser. Your detection rules never leave your machine.