Appearance
Persisters
Persisters store events in-process so other components can query historical events (for example to build aggregated outputs like profile).
Where persisters run
Persisters run inside the dispatcher pipeline:
- Detection events: transform → persist → (optional filter) → print
- Flow events: persist → print
- Profile events: print only (not persisted)
Default persister: in-memory LRU cache
Jibril ships with an in-memory LRU persister (lrucache) that:
- Stores a bounded number of recent events.
- Indexes events by metadata (kind/name/format/tactic/technique/subtechnique), score components (severity/confidence/risk_score), OS items, and network items.
- Provides typed accessors for common event kinds (file-access, execution, network flow/peer, dropip).
Lifecycle
Events are destroyed after printing. In-memory persisters clone events before persisting them.
Configuration
Enable the feature and the in-memory backend:
yaml
features:
- persisters
feature_options:
persisters:
inmemory: trueNotes
- Persisters are disabled by default.
- The
profileevent generation relies on persisted events.