Why pure signature-based IDS always misses the attack that matters
Signature-based intrusion detection has one hard limit: it can only catch what it already has a rule for. New attack pattern, zero-day variant, slightly reworded payload — walks right past it. That's not a tuning problem, it's architectural.
The other extreme, pure ML-based detection, has the opposite problem: it flags anomalies without telling you why, so you get alert fatigue and analysts who stop trusting the model.
The combination that actually holds up: signatures for the known stuff (fast, cheap, zero false positives on textbook attacks), plus a trained model that scores the traffic your rules didn't recognize — with an explanation for every flag, not just a confidence score.
That's the architecture behind ml_ids: 264 signature rules across 15 attack categories, layered with an XGBoost model trained on a 39-feature traffic pipeline, LIME explanations so you can see exactly why something fired, sub-30ms detection, and a full dashboard with real-time alerts. Full Python source, self-hosted — you can read every line of what's flagging your traffic instead of trusting a black box.
If you're a student, researcher, or running a homelab and want to actually study how hybrid detection works instead of just deploying an enterprise appliance, this is built for that. Happy to answer questions on the detection pipeline or the signature set if anyone's digging into IDS design.
