Skip to content

Guide · Checklist

Vulnerability closure evidence checklist

Before closing a serious finding, a reviewer should be able to see six things: its scope, the basis for the proposed outcome, verification relevant to the finding, deployment evidence where the closure depends on it, the closure criteria that apply, and who has the authority to accept it.

The checklist below says what to inspect for each, and what a weak record usually looks like. There is also a one-page printable version.

The checklist

  1. Scope

    Which finding, which asset and version, and every environment where it applies. Whether it is one instance or the same issue in several services.

    Weak record: The closure covers one service while the finding applies to three.

  2. Basis for the proposed outcome

    The record that justifies the outcome being proposed: the change for a remediation, the analysis for "not affected", the approved exception for a risk acceptance, the control description for a compensating control.

    Weak record: The basis is a ticket comment saying "fixed" or "not exploitable", with nothing linked.

  3. Verification records

    A test mapped to the finding, a rescan after the change, or a documented review, and what each one covered.

    Weak record: The rescan ran on a branch, or skipped the affected component, or predates the change.

  4. Deployment evidence, where required

    When the finding applies to a running environment, a record that ties the verified build or artifact to that environment.

    Weak record: The deployment record names a release but not the build it contains.

  5. Policy

    The closure criteria your team applies to this kind of finding and outcome, and which version was in force when the closure was proposed.

    Weak record: Nobody can say which evidence the criteria require, so each reviewer decides differently.

  6. Authority

    Who may accept this closure, and whether this outcome needs a higher approver. For a risk acceptance: the owner, the review or expiry date, and the conditions that would end it.

    Weak record: The person who made the change also accepted the closure, or the exception has no expiry.

What the basis looks like for each outcome

“Closed” can mean different things. Each outcome rests on a different record.

Proposed outcomeWhat the reviewer should be able to see
RemediatedThe change, verification that covers the finding, and deployment evidence where the finding applies to a running environment.
Not affectedThe analysis showing why the finding does not apply (for example, the vulnerable function is not reachable), when it was done, and whether the code has changed since.
Risk acceptedThe accepted risk in plain terms, the business basis, the owner, an approver with the authority to accept it, a review or expiry date, and the conditions that would reopen it.
Compensating controlWhat the control is, evidence that it is in place for the affected scope, and who is responsible for keeping it in place.

One-page checklist

The same checks on one printable page, grouped by the proposed outcome. Printing this page prints only the sheet.

Vulnerability closure evidence checklist

What the designated reviewer should be able to see before accepting a closure.

FindingProposed outcome

Every closure

  • Scope: the finding, asset and version, and every environment where it applies
  • The closure criteria that apply, and the version in force when it was proposed
  • A designated reviewer with the authority to accept it, other than the person who proposed it

Fixed

Proposed as remediated

  • The pull request or commit that changes the affected code, and references this finding
  • Verification that covers the finding: a mapped test, a rescan after the change, or a documented review
  • What the verification covered: the branch, the build or the deployed artifact
  • Where the finding applies to a running environment, a deployment record naming the verified build there

Not affected

Proposed as not applicable

  • An analysis showing why the finding does not apply, such as the vulnerable function not being reachable
  • When the analysis was done
  • No change to the code or configuration since, or the analysis rechecked against the current version
  • Criteria that allow a “not affected” closure on this basis

Risk accepted

Proposed as an accepted risk

  • The accepted risk in plain terms, and the business basis
  • A named risk owner
  • Sign-off from someone with the authority to accept this risk
  • A review or expiry date
  • The conditions that would reopen it

Reviewer's decision

Designated reviewerDate
  • Accept the closure
  • Keep the finding open
  • Ask for more evidence
What to check depends on the proposed outcome, and the reviewer, not the checklist, decides. From gosentrix.com/guides/vulnerability-closure-evidence-checklist

Illustrative example · not a customer case

FIND-118: vulnerable XML library in the payments service, proposed as not affected

A dependency scanner flagged a version of an XML parsing library with a known vulnerability. The team proposes closing the finding as not affected, because the vulnerable parsing mode is never enabled.

Present

  • Scope: the payments service, production and staging.
  • Basis: an analysis note showing the vulnerable mode is disabled in the parser configuration.
  • Policy: the team’s criteria allow "not affected" with a documented analysis.

Weak or missing

  • The analysis was written four releases ago, and the parser configuration has changed since.
  • No approver is recorded. The engineer who wrote the analysis also proposed the closure.

Where this leaves the closure: the basis needs to be confirmed against the current configuration, and the closure needs an approver other than its author. Next action: the service owner confirms the current parser configuration. The designated reviewer decides whether to accept the closure.

Names, identifiers and records are made up to show the reasoning.

For a remediation closure, see the worked example in how to prove a vulnerability was fixed.

Where GoSentrix fits

Working through this checklist means comparing records from several systems against your criteria for every serious closure. GoSentrix takes on that comparison for a proposed closure. Your criteria and your reviewer stay in charge.

  • Assesses existing records. For a proposed closure, it checks whether evidence your systems already hold supports the proposed outcome.
  • Names missing support. When evidence is missing, stale or conflicting, it says so, with the next action and who can supply it.
  • Prepares the case. Your designated reviewer inspects it and decides.

GoSentrix assesses evidence that existing systems already produce. It does not run its own tests or scans, block merges or releases, or make the closure decision. The customer’s designated reviewer does.

GoSentrix is available through a paid Finding Closure Assessment. The evidence sources it covers, and any human assistance involved, are agreed before it starts. No controlled demonstration or customer result has been published yet.

Frequently asked questions

What evidence is needed to close a vulnerability?

It depends on the proposed outcome, but a reviewer should be able to see the scope of the finding, the basis for the outcome, verification relevant to the finding, deployment evidence where the closure depends on it, the closure criteria that apply, and who has authority to accept it.

Is deployment evidence always required?

No. It matters when the finding applies to a running environment and the closure depends on the fix being deployed there. A finding in code that is never deployed, or a risk acceptance, needs different evidence.

Find out which of these your closures are missing.

A Finding Closure Assessment maps how your team closes serious findings today and produces an evidence-gap baseline against criteria like these.