Buy me a coffee

← Tools

Software lifecycle SOP

Download Word (.docx)

This SOP describes a practice. It does not replace the tool's own documents, which cover the quarterly review and its roles in full: see Where the details live.

Purpose

Find installed software that is past or near end of life, and flag the rows whose vendor and product appear in the CISA Known Exploited Vulnerabilities catalog, so that a person decides what to replace, upgrade, retire, or accept. Do it without showing an agent a single software name.

Scope

Applies to any software inventory export that can be saved as a CSV with a name column and a version column. It reports state per item from the tool's bundled data. It does not check licenses, duplicate apps, or device refresh dates, and it does not scan systems for vulnerabilities.

Roles

Frequency

Quarterly, and before an upgrade budget request. Check the data dates each run: a stale KEV snapshot or end-of-life snapshot is a decision, not a default.

Steps

  1. Export the software inventory as a CSV and confirm its header row with the agent, without sharing any data row XW-001 XW-026
  2. Name an owner for each row where one is known, so each finding has someone to decide XW-002
  3. Keep the inventory and any golden-source, exception, tracking, or support-records files on the person's machine, out of prompts, issues, and commits XW-028
  4. Make the tool copy at the pinned commit, only after the person agrees, and confirm git rev-parse HEAD matches the pin, and record the commit XW-020
  5. Run verify-data, then read the data dates from the manifest and decide whether to use a newer data release Decision needed: the person running the check XW-026
  6. Run preflight and fix every item on its "What to fix" list in the export XW-026
  7. Run the check in counts-only mode into a new or empty folder the person names, as of a stated date XW-009
  8. Relay only the summary count lines; the person reads names and IDs in the report themselves XW-028
  9. Report counts by state, names to review, classification, and the data currency, with every limit stated XW-009 XW-001
  10. For each past-end-of-life or ends-soon item, the asset owner chooses replace, upgrade, retire, or request risk acceptance Decision needed: the asset owner XW-009 XW-010
  11. For each accepted risk, record it in the risk register with an owner and a review date Decision needed: the asset owner XW-024
  12. For each review-urgently item, check the version against the KEV entries and set the priority Decision needed: IT security XW-024
  13. Settle each dates-disagree item Decision needed: the person running the check XW-026
  14. Pass the counts and owner decisions to the budget holder as inputs to a budget request XW-012
  15. Keep the dated count line, data dates, and decisions, then rerun next quarter with the earlier report passed by path XW-020 XW-025

Rules

Questions to ask

Mistakes to avoid

Who decides

People decide. The agent relays counts. The asset owner decides replace, upgrade, retire, or accept. IT security sets priority on KEV items. The ITAM lead settles dates that disagree. The budget holder decides spend. No tool or agent makes any of these calls.

Evidence to retain

Where the details live

The tool's own documents at the pinned commit hold the full usage, report schema, assistant setup, quarterly review, and checklist: Readme, Usage, Report schema, Assistant setup, Sop, and Checklist in the tool folder. They are not copied here.