The decision pipeline

InventoryIdentityAdvisoriesApplicabilityAction

Start with the release inventory and identify components precisely. Correlate them with vulnerability sources. Investigate whether a candidate finding applies to that product configuration. Then connect an affected release to deployments and an owner who can remediate or document a risk decision.

A CVE identifier describes a vulnerability record. It does not itself prove that every similarly named package, or every product containing that package, is affected. Keep candidate matches separate from confirmed applicability.

Investigate matching uncertainty

Matching issueWhat to investigate
Name collisionEcosystem, producer and namespace.
Version ambiguityResolved version, downstream patch or distribution backport.
Fork or repackagingSupplier patch history and exact artifact evidence.
Range interpretationEcosystem-specific ordering and advisory affected ranges.
Bundled libraryWhether vulnerable code is included in delivered bytes.
Environment conditionsConfiguration, architecture and exposure prerequisites.

Retain the matching rule and advisory revision so a later correction can explain why a finding changed. Review unresolved identities rather than counting them as clean components.

Use multiple kinds of intelligence

Package ecosystem advisories, supplier security notices, CVE-related intelligence and exploitation information can answer different questions. Record coverage by ecosystem, ingestion frequency, source timestamps, and handling of withdrawn or corrected records. A platform that advertises a feed may update only selected datasets.

Supplier advisories and VEX can communicate product-specific applicability. Evaluate their author, scope, product identifier, revision, justification and supporting evidence. Accepting a statement should be a recorded trust decision with a reevaluation trigger.

Source: CycloneDX · VEX capability.

Source: OpenVEX · Specification.

Prioritize the product risk

Consider actual exposure, exploitation evidence, affected functionality, compensating controls and the importance of the deployed product. A severity score is one input. The same component finding may need different responses in an isolated test tool and an externally reachable production service.

An inventory cannot reliably answer whether vulnerable code is reachable. Additional configuration evidence, analysis and testing may be necessary. Absence from an incomplete inventory cannot support a confident “not affected” conclusion.

Keep remediation and risk acceptance distinct

  1. Assign the finding to a product owner and verify the affected release.
  2. Determine update, replacement, configuration or compensating-control options.
  3. Record the applicability evidence and response decision.
  4. Implement and test the selected action.
  5. Generate or request the updated inventory when software changes.
  6. Verify deployment, then close the affected instances.
  7. Reopen when new evidence changes the decision.

Risk acceptance records who approved the remaining risk, why, for how long and under what conditions. It should not rewrite a vulnerability as absent or remove the component from the SBOM.

Run an incident drill before relying on the system

Select a known component in a retained release. Introduce a controlled advisory fixture and ask for the affected products, versions, deployed environments and owners. Then add a supplier applicability statement for one product version and verify that other versions remain in scope.

Measure elapsed time to a verified exposure list and account for unresolved assets. Test notification failure, feed interruption and a corrected advisory. A successful drill demonstrates a workflow; a chart of CVE counts demonstrates only aggregation.

Primary sources