Catching Fleet Drift: When a Node Regresses
Point-in-time posture tells you who is risky now; drift tells you who just got worse. How WinSentinel Pro diffs two fleet risk snapshots to surface regressions before they become incidents.
A fleet posture dashboard is good at one question: which machines are risky right now? WinSentinel Pro answers it with winsentinel-fleet nodes at-risk, which fuses open alerts, CIS compliance, and heartbeat freshness into one composite risk score per node and ranks them worst-first.
But "risky right now" is a snapshot. It won't tell you the thing that actually wakes up a security team: a machine that was fine last week and just got worse. A node sitting at risk 40 for a month is a known quantity you've already triaged. A node that jumped from 5 to 40 overnight is a live regression — a disabled Defender, a new local admin, a compliance control that silently flipped. Same score, completely different urgency.
Drift is the delta, not the level
Drift detection compares two risk snapshots — a previous baseline and the current one — and reports the change per node:
- Regressed — the node's risk went up. Ranked by how much, so the biggest jump is at the top.
- Improved — remediation worked; risk came down.
- Appeared — a brand-new node that enrolled since the baseline (and whether it showed up already dirty).
- Disappeared — a node that stopped reporting. A machine falling silent is itself a risk signal, not a clean bill of health.
- Steady — no meaningful change; nothing to look at.
Nodes are matched by their stable node ID, not hostname, so renaming a machine doesn't read as one node vanishing and a new one appearing. And a node's status is exclusive: the fleet-level counts always sum to your total node count, so the numbers reconcile.
What it looks like
The operator view leads with the headline, then lists only what changed, biggest regression first:
Fleet risk drift (biggest regression first)
2 regressed . 1 improved . 1 new . 14 steady
web-03 +35 5 -> 40 (1 open critical alert, stale heartbeat)
finance-01 +18 12 -> 30 (2 open high alerts)
db-02 -22 34 -> 12 (2 lower-severity alerts)
kiosk-09 +22 NEW, risk 22
The same diff exports to CSV with a --csv flag — one row per node in worst-regression order, including the before/after risk, the signed delta, and the current reasons — so a regression becomes an evidence row you can drop into a ticket, a change-review, or a compliance pack.
Why this is the alert you actually want
Alerting on absolute risk floods you: on a real fleet, plenty of machines carry standing, accepted risk. Alerting on drift is signal — it fires when something moved, in the direction that matters, on the specific node that moved. "Node web-03 regressed from 5 to 40 since Monday" is a sentence a human can act on immediately.
Point-in-time posture is table stakes. Catching the regression before it becomes an incident is the difference between a managed fleet and a wall of green dashboards nobody reads.
The free WinSentinel agent runs a full, powerful audit on a single machine. Fleet drift — comparing posture across every node over time — is part of WinSentinel Pro's control plane.