Safeguard
Security Guides•

An advisory was withdrawn: what should happen to my scan finding?

A withdrawn advisory means the record should no longer be treated as a vulnerability. How to confirm it, close the finding and keep an audit trail.

Safeguard Security Team
Updated 3 min read

When an advisory is withdrawn, its database no longer considers the entry valid, so the finding should be closed once you confirm why. In the OSV format, a withdrawn timestamp marks this, and the reason belongs in the summary text. Read the reason first, then close the finding and keep a note.

What withdrawn means in OSV

The OSV schema has an optional withdrawn field. It gives the time the entry should be considered to have been withdrawn, as a UTC timestamp. If the field is missing, the entry has not been withdrawn. The schema says any rationale for why the vulnerability was withdrawn should go into the summary text.

So there are two parts to check: whether the field is set, and what the summary says.

Why advisories get withdrawn

The schema does not list reasons, so avoid guessing. In practice, the reason is stated in the summary. Common situations to look for in that text include a duplicate of another record, an entry that was filed against the wrong package, or a claim that turned out not to be a vulnerability. Treat these as examples to look for, not as a complete list.

The reason changes what you do next.

Reason in the summaryWhat to do
Duplicate of another recordKeep the finding, but under the surviving ID
Wrong package or ecosystemCheck whether your component was ever affected, close if not
Not a vulnerabilityClose the finding
No reason givenAsk the database owner, and keep the finding open until answered

The duplicate trap

If the record was withdrawn as a duplicate, the underlying flaw is probably still real. Closing the finding would be a mistake. Look for the other record, often named in the summary, and make sure your scanner reports it. Check the aliases field on the surviving entry, so you track one problem under one row. See listing the same vulnerability twice.

A short procedure

  1. Open the record and check the withdrawn timestamp.
  2. Read the summary for the reason.
  3. If it is a duplicate, find the surviving record and confirm your tool reports it.
  4. If the flaw is not real or never applied to your package, close the finding and note the source, reason and date.
  5. Check that your scanner has refreshed its data. A tool with old data can keep reporting a withdrawn entry.
  6. If tickets were opened in other systems, update them so no one patches for a non-issue.

Keep the paper trail

Closing a finding because of a withdrawal is a decision. Record the advisory ID, the withdrawal date, the reason, and who closed it. If a customer or auditor asks later why a finding disappeared, you can show the record rather than rely on memory.

For a related look at data freshness, see how fresh is a vendor's vulnerability data.

Quick check

Does withdrawn always mean I am safe?

No. A duplicate withdrawal means the flaw is tracked elsewhere. Read the summary to see which case you have.

Why does my tool still show a withdrawn advisory?

Its data may not have refreshed yet. Check when it last synced, and rescan after it has.

Safeguard offers dependency scanning with SBOM output and reachability analysis, and the free scan lets you try it on your own project.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.