Skip to content

Guide

How to prove vulnerabilities were fixed

A closed ticket is not evidence that risk was removed. This guide explains how to produce verified remediation evidence: independent corroboration that the original finding no longer applies, bound to a specific release decision.

The problem

Development teams mark vulnerabilities as fixed every day. But "fixed" often means the ticket was closed or a scanner no longer reports the issue in a single run. When a consequential release depends on that fix, the organization needs proof, not belief.

What this guide covers

  • The difference between ticket closure and verified remediation evidence.
  • How to collect independent evidence that a fix worked.
  • How to link fixes across repositories using an application graph.
  • How to bind remediation evidence to a policy version and release decision.

Step 1: preserve the original finding

Capture the original scanner output, location, version, and context. Without the original evidence, later verification cannot compare outcomes. The finding is the baseline.

Step 2: identify the fix artifact

Record the commit, build, or deployment that contains the claimed fix. The artifact must be identifiable and reproducible. In multi-repository vulnerability remediation, the fix may span several repos and services.

Step 3: re-evaluate with independent evidence

Run the original test or scanner against the new artifact. Where possible, add a second independent source such as runtime telemetry or reviewer attestation. Two findings from the same scanner do not double the confidence.

Step 4: record one of three outcomes

The only honest outcomes are: risk absent, risk present, or indeterminate. Indeterminate must be escalated, not promoted to fixed.

Step 5: bind to policy and release

The verified evidence is evaluated against the policy version active at release time. The decision record links the original finding, the fix artifact, the verification evidence, and the release outcome.

Evidence model for remediation

Evidence levelWhat it meansExample
DetectedA scanner or agent reported the issueSAST flags a SQL injection pattern
ObservedThe finding is confirmed in contextReachability analysis shows the function is called
CorroboratedAn independent source confirms the findingRuntime telemetry matches the static finding
ValidatedIndependent evidence shows risk is absentRetest and reviewer attestation confirm the fix

Limitations

  • Verification cannot prove a negative in every case.
  • Evidence is only as strong as the sources and tests that produced it.
  • Multi-repository fixes require an application graph, not just a repository inventory.

Frequently asked questions

What counts as verified remediation evidence?

Verified remediation evidence includes a retest result showing the original behavior is absent, a reviewer attestation with artifact references, and corroboration from independent sources. The evidence must be bound to the specific release decision.

What is closed-loop remediation?

Closed-loop remediation means the original finding, the fix, the verification evidence, and the release decision are linked in a single record. The loop closes when evidence shows risk was retired, not when a ticket is closed.

How does GoSentrix verify fixes?

GoSentrix re-evaluates the original evidence against the new artifact and compares outcomes. The only terminal states are risk absent, risk present, or indeterminate. Indeterminate is escalated, not auto-promoted.

Validated fixes, not just ticket closure.

GoSentrix verifies whether remediation evidence satisfies policy for a consequential release decision.