Commit Graph

14 Commits

Author SHA256 Message Date
larssand
caa37de98e Fix cardinality judged against sample size instead of real event volume
classify_field_shape() received a deduplicated set of observed values with
no real event-volume context, so cardinality was always measured against
itself — trivially 100%, making any field with more than ~16 distinct
values look "high cardinality" no matter how large the real traffic volume
was. This misclassified genuinely low-cardinality fields (e.g. username: 82
distinct values across 1,601 events) as free text, which the new shape-veto
work then surfaced as false-positive "remove this field" warnings in
production. Fixed by passing real event coverage as an explicit
total_events parameter; omitting it keeps prior behavior for other callers.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-23 22:02:44 +02:00
larssand
83ffef3570 Pool baseline state across streams sharing an entity concept
Completes the last deferred item from ROADMAP §0: entities recognized as
the same real-world concept across enabled streams (e.g. srcip in both a
firewall and an IIS stream) now share baseline knowledge of entity
presence/age and known relationship-target values, instead of each stream
learning it cold. Implemented additively (synthetic shared_entity:<group>
namespace in the existing baseline.py tables, no schema migration), scoped
to entity presence + relationship known-values only — per-stream
distribution baselines stay untouched. Also fixes a latent alias-map
collision bug found while building this (ALIAS_CANONICAL_BY_FIELD let
"context" silently steal "hostname"/"dns_query" from their own canonical
groups).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-23 18:50:14 +02:00
larssand
8c155ec9cf add new structure 2026-09-23 17:06:05 +02:00
larssand
e35445da4f add value-shape field classification and auto-apply
Field roles are now inferred from observed values instead of names,
with src/dst disambiguation, value-pattern detector hints, an Ollama
advisor scoped to ambiguous fields only, confidence-gated auto-apply
with manual-field protection, and drift flagging for review
2026-09-07 21:58:25 +02:00
larssand
009c54b206 fix relation - 2026-07-02 16:16:30 +02:00
larssand
7d0e66c239 add relationship fields 2026-07-02 15:07:15 +02:00
larssand
7c0b482a22 improve find fileds for default profiles 2026-07-02 09:51:25 +02:00
larssand
baa3bb95e8 add find deluta fields in diffrent streams add in profile 2026-06-30 21:27:01 +02:00
larssand
5a9588fe31 Fixed the bad classification issue. 2026-06-30 16:49:11 +02:00
larssand
78f11af302 Added the Profile Discovery report. 2026-06-30 16:15:54 +02:00
larssand
4a441bf443 MCP sample fetch now asks for common Winlogbeat/ECS fields before 2026-06-30 15:10:47 +02:00
larssand
d7b8c494e9 Added the optional Ollama profile advisor 2026-06-30 09:09:04 +02:00
larssand
f2385a00a9 Profile recommendations 2026-06-30 08:55:15 +02:00
larssand
d99fe24b84 Looks at observed logs per stream.
Finds common denominators:
2026-06-29 21:38:11 +02:00