← All writing
· ~10 min read · Vulnerability Management, Security

Vulnerability management at scale: what actually matters

Once you're past a few hundred assets, the scanner is no longer the bottleneck — triage is. Here's what I've learned operating vulnerability management programmes that didn't end in burned-out security teams or ignored dashboards.

Most "VM programmes" I've inherited follow the same arc. Buy a scanner. Point it at everything. Open the dashboard. Watch a five-figure number of "critical" findings light up. Nobody fixes anything. The CISO asks for a percentage. The percentage doesn't move. Repeat for two years.

The fix isn't a better scanner — it's a process that turns scanner output into a small, owned, time-bound queue of work. That's the whole thing. Everything below is in service of that.

Asset truth comes first

Every VM programme dies on the rock of "is this asset still ours, and who owns it?". Before anything else:

Stop ranking by CVSS

CVSS base score is calibration data, not a priority. It doesn't know whether the asset is internet-facing, whether you have the package, whether there's a public exploit, or whether your compensating control already kills the attack chain. Use it as one input, not as the answer.

The shortcut I use: EPSS × exposure × asset criticality.

Findings that score high on all three get same-week treatment. Anything CVSS-Critical but EPSS < 1% on an internal jump host? Backlog.

Risk-based SLAs that engineers can live with

Single-tier SLAs ("Critical = 14 days") are how you teach a team that the SLA is a fiction. Multi-tier with explicit exposure logic gives you a SLA that's both defensible and survivable.

Severity   Internet-facing   Internal     Air-gapped
Critical   72h               14 days      30 days
High       14 days           30 days      90 days
Medium     30 days           90 days      "best effort"
Low        triage queue, batched quarterly

This isn't perfect. It's defensible to an auditor and survivable for a 5-person platform team. That's the goal.

Deduplicate or drown

Three scanners pointed at the same Linux fleet will produce three findings per actual vulnerability. Triage time goes up 3×; trust in the data goes down. Pick a canonical key and merge upstream of the tracker:

Get findings out of the security tool

Engineers don't open security dashboards. Push findings into where engineers already are:

The weekly digest

Every Monday, send each owner team a short email/Slack message:

This is 80% of the visible value of a VM programme. The dashboard exists for the auditor; the digest is what drives the work.

Metrics that matter

Skip "vulnerability count". It's vanity. Track:

The job of a VM programme isn't to find vulnerabilities. It's to make sure the ones that matter actually get fixed before someone else finds them for you.

If you're staring at a five-figure scanner dashboard wondering where to start, that's normal — and exactly the kind of work I do. Say hello.