NetWatch SOC
A network intrusion detection system in Python. Deep packet inspection over 21 protocols feeds 18 detectors mapped to 16 MITRE ATT&CK techniques across 9 tactics, each validated by purple-team attack emulation. Alerts are correlated into incidents and streamed to Splunk.
- Validated on
- 31M real packets
- Development false alerts / host-hour
- 375 → 1.1
- Alerts to incidents
- 662 → 167
- Throughput
- 5,873 packets/s
- Python
- Suricata
- Flask
- PostgreSQL
- Docker
- Splunk
Read the case studyHide the case study
Validation
Tested on 31M packets of labelled real traffic from CSE-CIC-IDS2018, not just synthetic scenarios. The first version raised 375 false alerts per host-hour on the development days.
Root cause
I traced the noise to 5 detection-logic flaws and fixed them without tuning a single threshold. On the development set, false alerts fell to 1.1 per host-hour; the two held-out sets measured 1.3 and 0.4.
Against Suricata
Across 6 held-out attacks / 82 host-hours, NetWatch round 2 detected 6 of 6 at 1.0 false alerts per host-hour. Suricata 7.0.3 with ET Open (severity 1–2 only; rules dated Dec 11, 2024) detected 3 of 6 at 26.7. NetWatch caught the HTTP floods, Slowloris and brute force that the signatures missed. Method, configuration and per-capture results (opens in a new tab).
Triage
Alerts are correlated into incidents, turning 662 real-traffic alerts into 167 (75% fewer), and streamed to Splunk via HEC with a 5-panel dashboard and 5 scheduled correlation searches.
