Files
Abdelghafour BouhdydandClaude Opus 5.5 bd3cf159a7 Sigma correlations: support gt/lt/neq and reject unknown condition operators (#5068)
**Problem**

`getCmp()` in `vql/sigma/evaluator/correlation.go` only handled `gte`,
`lte` and `eq`. Any other condition key (`gt`, `lt`, `neq`, or a typo
like `gtt`) fell through to an always-true comparator, so those rules
fired on the first matching event.

**Fix**

* `getCmp()` now supports all six Sigma correlation operators: `gt`,
`gte`, `lt`, `lte`, `eq`, `neq`.
* All operators in a condition must pass, so ranges still work (e.g.
`{gte: 5, lte: 10}`).
* The `field` key (used by `value_count`) is skipped as before.
* An unknown operator now returns an error (`unsupported correlation
condition "gtt"`), passed on by `NewEventCount()` and `NewValueCount()`
with the rule title.

**Behavior changes**

* Rules using `gt`, `lt` or `neq` now alert only when the condition
holds, so they alert less often, and correctly.
* Rules with an unknown operator no longer match everything. They log
the error and produce no hits.

---------

Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-10 15:00:05 +10:00
..
2026-09-24 14:54:41 +10:00
2026-09-24 14:54:41 +10:00
2026-09-24 14:54:41 +10:00
2026-09-25 21:28:17 +10:00
2026-10-07 21:34:46 +10:00
2026-09-24 14:54:41 +10:00
2026-09-24 14:54:41 +10:00
2026-09-24 14:54:41 +10:00
2026-09-24 14:54:41 +10:00
2026-09-24 14:54:41 +10:00
2026-09-24 14:54:41 +10:00