Fleet / cohort analysis¶
When you run a population of similar devices you often have no single golden
reference — but the fleet is the reference. --fleet <dir> learns “normal”
from the population and flags the device that differs from its peers.
# on each device, capture its state:
delta --processes --ports --packages --netif --baseline /tmp/$(hostname).json
# collect those files into one directory, then analyze:
delta --fleet ./fleet-snapshots
delta --fleet ./fleet-snapshots --json
Each regular file is one device — the ordinary baseline JSON (see
Baseline capture), so there is no new format. Exit code 1 when an outlier is
found, else 0. At least 3 devices are required to define a majority.
How it works¶
Every observable is reduced to a feature key:
Domain |
Key |
|---|---|
Process |
|
Port |
|
Package |
|
File |
|
Filesystem |
|
Interface |
|
Route |
|
Neighbor |
|
Delta counts each feature’s prevalence and, per device, reports two outliers:
RARE — a feature very few devices have (a stray service, an unexpected package, a file whose checksum differs — a per-device implant or tampering);
MISSING — a near-universal feature this device lacks (a removed/disabled protection).
Mid-prevalence features are legitimate fleet variation and are not reported.
With N devices and rare_max = max(1, floor(0.1·N)), a feature is rare
if at most rare_max devices have it and common if at most rare_max
lack it.
Notes¶
Point-in-time; cohort must be homogeneous (group like devices).
A compromised majority hides itself — cohort analysis finds the odd one out, not fleet-wide compromise; pair it with Packages & vulnerabilities and a golden Baseline capture.