01
Event input
Use the included fictional records or import a local JSON file after validation.
Detection engineering project
I built this browser-based lab to practice how a detection engineer moves from Windows event logs to a documented finding. It runs six rules, maps the results to MITRE ATT&CK, and exports a report with the supporting evidence.
My role
Detection engineering, TypeScript rule engine, interface design, event validation, testing
Technology
The challenge
I wanted this project to show more than a list of alerts. A reviewer should be able to see which event fields matched, test the rule again, follow the related activity, and understand what I would investigate next. I also needed to make the limits of a public lab clear.
The response
I created a typed event model and six rules covering encoded PowerShell, Office child processes, scheduled tasks, repeated failed logons, unusual DNS queries, and local administrator changes. Each finding links back to its source events and includes ATT&CK context, evidence, investigation steps, a relationship graph, and a downloadable report.
System design
01
Use the included fictional records or import a local JSON file after validation.
02
Single-event conditions and time-based thresholds check normalized Windows logs.
03
Each finding connects its evidence, ATT&CK mapping, event timeline, and related activity.
04
Five harmless test cases check the expected result for all six rules.
Engineering decisions
These are the tradeoffs I would discuss in a technical interview.
I used direct TypeScript conditions and thresholds so another person can follow each rule. Every finding lists the matching rule, source events, severity, ATT&CK technique, and investigation steps.
JSON files are limited to 1 MB and 1,000 records, checked against the event schema, and processed locally. The import does not send the event data to a server.
The test buttons add harmless event records and compare the results with the expected rules. This makes the tests repeatable without running PowerShell, changing accounts, or creating scheduled tasks.
Security by design
Outcome
Lessons learned
LESSON 01
A rule is easier to evaluate when its evidence, threshold, and expected test result appear together.
LESSON 02
Event data has to be normalized before correlation rules can produce consistent results.
LESSON 03
A public lab should prove the logic without pretending to reproduce a full enterprise environment.
Scope note
All included events are fictional. This is a learning project, not an endpoint agent, production SIEM, incident-response service, or replacement for an authorized enterprise assessment. The test controls add sample records and never execute operating-system commands.