Source overview

Bert-JanP/Hunting-Queries-Detection-Rules

Multi-platform community hunting queries — KQL, Sigma, SPL, ATT&CK-mapped.

bert-janp-hunting-queries-detection-rules · KQL · upstream repo ↗ · BSD 3-Clause

Rules indexed 426 27 atomic-IOC hidden · include
ATT&CK techniques 96
Newest rule 2026-10-04 checked 2026-10-10

How detections work here

KQL hunting queries for Microsoft Defender XDR and Sentinel, published as markdown by one practitioner — Bert-Jan Pals. The execution model is the same as Azure-Sentinel: KQL against Microsoft's tables, either interactively in Advanced Hunting or scheduled as a custom detection.

What differs is provenance and intent. This is an individual's collection, not a vendor-maintained ruleset with a review process behind it, and most of it is written as hunting content — a starting point you run, read and refine — rather than tuned detections you schedule and alert on.

How rules are written

Each query is a markdown file with a prose header — an ATT&CK technique table, a description, a "Risk" paragraph, references — followed by fenced KQL blocks under product headings:

# AMSI Script Detection

| Technique ID | Title | Link |
| T1059.001 | Command and Scripting Interpreter: PowerShell | ... |

#### Description
This detection lists all *AmsiScriptDetection* events ...

## Defender XDR
```KQL
DeviceEvents
| where ActionType == "AmsiScriptDetection"
```

Content is filed by product — Defender for Endpoint, Defender for Identity, Azure AD, Office 365, Sentinel, Graph API and a couple of dozen more — so the directory a query lives in tells you which tables it assumes.

Reading a rule on this site

ATT&CK comes from the technique table in the markdown header, which is why mapping here is good despite the informal format. The description and risk prose carry through as the rule's description.

A single upstream file may hold more than one KQL block, targeting different products from the same premise.

Gotchas

  • Hunting queries are not tuned detections. Many will return volume by design — the AMSI example above deliberately lists every detection event, including benign ones. Read the description before scheduling anything here.
  • One maintainer, no release cadence or deprecation process. Check the upstream repository before treating a query as current.

Rungs

Reaches Atomic IOCs — 27 rules, 6.0% of the ruleset. A rung is claimed at 20 rules and 1.0% of the source, so that one rule cannot speak for a small ruleset and a rounding error cannot speak for a large one.

Shares are of all 453 live rules in this source, including the atomic-IOC and non-detection content the count above hides by default. The pending band is drawn to scale for the same reason: it is the width of what no classifier has read, and a bar without it would look more complete than the index is. What the rungs mean.


Severity

Status


Recently modified

all →
EntraTrace - Azure AD Graph UserAgent Matches 2026-10-04
EntraTrace - Microsoft Graph UserAgent Matches 2026-10-04
EntraTrace - Sign-in UserAgent Matches 2026-10-04
MITRE ATT&CK Mapping 2026-10-04
Unusual Addition of Credentials to an OAuth Application 2026-09-16

Detection rules belong to the projects that publish them and remain under their own licenses. This site indexes and links to them; it claims no rights in them.