AI Adoption GuideITUpgrade
Patch prioritization by risk
ML model ranks outstanding patches by exploitability, asset criticality, and exposure to prioritize sequencing.
IT processPlanSelectDeployProvisionSupportUpgradeReplaceRetire
By Don, DoneThat’s AI coach · updated
Overview
Patch teams rarely lack work. They lack a defensible order for it. A scanner may report thousands of open findings across Qualys, Tenable, Microsoft Defender Vulnerability Management, and CMDB records in ServiceNow, yet the same critical label appears on a lab VM and a payment gateway. Age in the queue, generic severity scores, and ticket volume all push sequencing in different directions. This workflow applies a ranking model to outstanding patches so the next window reflects exploitability, asset criticality, and exposure, not whichever CVE opened first.
The model does not replace judgment. It produces a ordered candidate list with traceable inputs so vulnerability managers can explain why one host moves ahead of another before change windows fill up.
What the model ranks
Each outstanding patch is scored as a unit of risk on a specific asset, not as an abstract CVE in isolation. The model combines three signal families that patch practitioners already weigh informally:
Exploitability draws on vendor and community intelligence available in your scanners and threat feeds: active exploitation reports, weaponized exploit availability, and patch supersession chains. Where your Qualys or Tenable subscription exposes exploitability or threat-context fields, those values feed the rank. The workflow does not fabricate CVSS base, temporal, or environmental scores. If no authoritative score exists in connected sources, the rank leaves that slot empty and documents the gap rather than guessing.
Asset criticality ties the finding to business context from ServiceNow CMDB or equivalent inventory: configuration item, service mapping, data classification, recovery tier, and ownership. A medium scanner severity on a CI that backs customer authentication outranks a higher nominal score on an isolated build agent with no production dependency.
Exposure reflects how reachable the vulnerable asset is from untrusted networks: internet-facing interfaces, broad internal VLAN placement, remote access paths, and missing compensating controls where your tools report them. Microsoft exposure-management signals and network-segmentation metadata can strengthen this layer when Defender and CMDB data are linked to the same host identity.
The output is a ranked backlog for human scheduling. Nothing deploys automatically.
Inputs you connect
Reliable ranking depends on consistent identifiers across tools. Before the model runs, align host and CI keys so a Qualys QID or Tenable plugin result, a Defender machine ID, and a ServiceNow cmdb_ci_computer record resolve to one asset.
Typical source mapping:
- Qualys / Tenable: open vulnerabilities, CVE IDs, last-detected timestamps, asset tags, and exploitability or threat context where licensed.
- ServiceNow: CI name, business service, environment (prod, staging, dev), support group, and change blackout windows.
- Microsoft: Defender vulnerability findings, exposure scores, and software inventory for Windows and hybrid estates.
Gaps are expected. Stale CMDB relationships, duplicate CIs, and unscanned subnets produce incomplete rows. The workflow preserves those gaps in the rank output instead of imputing values. An empty exposure signal means exposure was unknown at run time, not that the asset was safe.
Run the upgrade readiness assessor upstream when a patch cycle sits inside a broader upgrade program. Readiness gaps (unsupported OS builds, dependency conflicts, missing maintenance windows) should surface before sequencing hardens around the wrong targets.
How each rank line is built
Every ranked item is a row a patch lead can paste into a change ticket or review in a stand-up. Required citations on each line:
| Field | Source | If missing |
|-------|--------|------------|
| CVE ID | Scanner or vendor advisory | Row still ranks on other signals; CVE column blank |
| Asset CI | ServiceNow or authoritative inventory | Hostname only; flag for CMDB cleanup |
| Exposure signal | Scanner, Defender, or network context | Explicit unknown; no default "internal" |
Supporting context (plugin ID, KB article, installed product version) attaches when present but does not override the three citations above.
The model weights signals within policy bounds you set: for example, cap the boost from exploitability when compensating controls are verified, or elevate criticality for CIs in regulated scopes. Weights are configuration, not hidden model behavior, so auditors and change managers see the same rules the rank used.
Regression risk belongs in the conversation before dates lock. After sequencing candidates, feed affected application stacks into the regression test case generator so test scope tracks the patch order rather than a flat CVE list.
Sequencing for patch windows
Ranking answers "what next." Scheduling answers "when," and that stays with the patch team.
Use the ordered list to populate maintenance windows, change requests, and vendor coordination. Group by maintenance cohort (domain controllers, Linux app tier, workstations) only after rank order is stable within each cohort. High-rank items that share a reboot or failover dependency should move as a bundle in the change calendar.
Pre-window validation reduces rollback churn. Run the pre-flight configuration validator on hosts slated for the next window to catch drift, missing prerequisites, or policy blocks before packages ship.
After patches land, compare behavior to baseline. The post-upgrade performance baseliner helps distinguish expected post-patch variance from regressions worth holding the next tranche.
No step in this flow triggers unattended installation. Agents may prepare packages and evidence; humans approve and execute.
Quality rules practitioners enforce
Treat the rank as decision support with strict evidence hygiene:
- No invented CVSS. Display only scores returned by connected vendors or NVD-linked feeds your integration actually queries. Ranks without numeric severity still sort on exploitability, criticality, and exposure text signals.
- Empty stays empty. Do not backfill CI, exposure, or CVE fields for presentation. Empty fields drive remediation of data quality, not silent assumptions.
- Re-rank on fresh scans. Stale last-seen dates inflate priority. Tie rank refresh to scan completion or ticket state transitions.
- Document overrides. When a manager pulls an item forward for regulatory deadline or vendor end-of-support, log the reason on the change record. Overrides train the next tuning cycle without erasing model traceability.
- Separate emergency from queue. Active exploitation against production may bypass the backlog via incident process; the ranked queue remains the steady-state path.
Review rank quality weekly: percentage of rows with full CVE + CI + exposure citation, count of top-50 items with confirmed exploitability context, and mismatch cases where scanner severity and business criticality diverge. Those metrics improve the model inputs more than tweaking weights alone.
Where this fits in upgrade work
Patch prioritization by risk is the bridge between vulnerability discovery and controlled change. Discovery tools widen the funnel; change management narrows what can ship this week. Ranking keeps the funnel ordered so upgrade waves, emergency fixes, and deferred technical debt share one transparent method.
Used with readiness assessment, pre-flight checks, targeted regression tests, and post-change baselines, teams spend fewer cycles debating order and more cycles proving that the patches that shipped were the right ones, on the right assets, with evidence attached.
[REDACTED]
Is this worth automating for you?
Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.
DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.
Measure the baseline first