Safeguard
Security Guides•

Should reachability decide which vulnerabilities get automated fixes?

Using reachability to choose which findings get automated fix PRs cuts noise and risk. What it can and cannot tell you, and how to gate with it.

Safeguard Security Team
4 min read

It should inform the decision, not make it alone. Reachability analysis estimates whether your code can actually call the vulnerable function. Using it to rank and gate automated fix proposals reduces noise and unnecessary change, but an unreachable finding still deserves a recorded decision, not silence.

Definitions

Reachability analysis is a way of checking whether the vulnerable part of a dependency is on a path your application can execute. A vulnerable package that your code never calls is present but not necessarily exploitable through your use.

Automated fix proposal is a change, usually a pull request, generated to remove a finding.

Why connect the two

Every fix is a change, and every change carries risk. If a finding is not reachable, the risk reduction from fixing it now is small, while the change risk is the same. Sending only reachable findings through the automated path concentrates effort and review attention where exposure is real.

It also reduces volume. Fewer low value pull requests means reviewers keep the habit of reading them closely.

A simple gating table

ReachabilityExposureSuggested handling
ReachableInternet facingPrioritize, propose now, fast review
ReachableInternalPropose on normal schedule
Not reachableAnyHold, record decision, revisit on change
UnknownAnyTreat as reachable until analyzed

The last row matters. Do not read lack of data as safety.

Limits of reachability

  • It depends on analysis quality and language support, and static analysis can miss dynamic behavior such as reflection or plugin loading.
  • Reachable today is not reachable forever. A refactor can create a path.
  • Exploitability depends on more than a call path: input control, configuration and environment all matter.
  • Some compliance and customer commitments set remediation windows by severity, not by reachability, so check what you promised.

So treat reachability as a prioritization input and a justification for deferral, not as a reason to delete findings.

How to use it as a gate

  1. Tag each finding with a reachability state at creation.
  2. Let the automated path consider reachable and unknown findings first.
  3. For unreachable findings, require a short note and an expiry, for example revisit in ninety days or on the next major dependency change.
  4. Re-run analysis after significant code changes and move findings between states.
  5. Keep unreachable findings visible in reports, labeled, so reviewers see them.

Try it yourself

Click through it at your own pace, or open it full screen. Look at how many findings drop out of the urgent queue once reachability is applied.

Combine with the other guardrails

Reachability chooses what to fix. Size caps, path allowlists, required checks and human review decide how a fix lands. They do different jobs, so keep all of them. For the review side, see fix PR reviewer checklist.

Safeguard offers reachability analysis and autonomous remediation with fix PRs. The fix PRs are off by default with every category on Manual, so reachability can guide your review queue before any automation changes. You can run a free scan to see findings.

Quick check

If a finding is unreachable, can we ignore it?

Not silently. Record the decision with an owner and an expiry, and recheck when code or dependencies change.

Does reachable mean exploitable?

No. It means a call path exists. Exploitability also depends on input control, configuration and environment.

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.