Safeguard
Security Guides•

Should reachability decide whether a CI gate blocks a build?

Reachability can cut false blocks by showing whether your code calls the vulnerable function. Use it to downgrade, not to erase, and keep a fallback rule.

Safeguard Security Team
3 min read

Reachability should inform a gate, not run it alone. If analysis shows your code never calls the vulnerable function, you can downgrade the finding from block to warn. Keep a fallback: block anyway when the flaw is known to be exploited or when the analysis is uncertain.

What reachability analysis answers

A vulnerability sits in a library. Whether it matters depends on whether your application can reach the vulnerable code. Reachability analysis builds a picture of calls from your code into the library and asks if a path exists to the affected function. It turns "this package has a flaw" into "this flaw can or cannot be triggered from here".

The CVSS specification supports this style of reasoning. Its environmental metrics exist so an analyst can customize the score for the affected asset and existing controls, and it says consumers should supplement the base score instead of relying on it alone.

A decision table for the gate

Reachability resultExploited in the wild?Suggested gate action
ReachableYesBlock
ReachableNoBlock if High or Critical, else warn
Not reachableNoWarn, review at next release
Not reachableYesWarn loudly, schedule a fix, consider blocking
Unknown or cannot analyseAnyTreat as reachable

The last row is the important one. Analysis has limits: reflection, dynamic loading and generated code can hide calls. When the tool cannot tell, do not read that as safe.

Steps to introduce it

  1. Run reachability in report mode alongside your current gate for a month.
  2. Compare: how many blocked findings were not reachable?
  3. Sample those and have a developer confirm the analysis by hand.
  4. If sampling confirms it, let not reachable findings drop to warn.
  5. Keep the unfiltered count in your reports.

What it does to noise

Developers trust a gate more when it blocks for reasons they can verify. Fewer false blocks also means fewer exemptions to manage, which is a quiet security win because each exemption is a place for mistakes.

Limits to remember

Reachability describes today's code. A refactor can make a function reachable next week, so the result must be recomputed on each scan. It also does not replace patching: an unreachable flaw is still a flaw, and a dependency you never update becomes a problem eventually.

Try it yourself

Open the demo and watch how reachability reduces a long list to the findings that matter. Note what remains.

Click through it at your own pace, or open it full screen.

Safeguard includes reachability analysis, and its policies can use it as one input to a gate. Run the free scan at gold.safeguard.sh/scan.

Quick check

Can reachability say a finding is safe forever?

No. It reflects the current code. Re-run it on every change.

What if the tool cannot decide?

Treat it as reachable and keep the normal rule.

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.