Join our Newsletter — 33% off our NHI Course
Home› FAQ› Cyber Security› What breaks when SCA only inventories dependencies but…
Cyber Security

What breaks when SCA only inventories dependencies but does not test reachability?

← Back to all FAQ
By NHI Mgmt Group Editorial Team Updated October 12, 2026 Domain: Cyber Security

Teams end up treating every vulnerability as equally urgent, which creates alert fatigue and wastes remediation effort on code paths that may never execute. The control fails because inventory alone cannot distinguish actual exposure from theoretical exposure, so the organisation loses prioritisation and slows response on the issues that matter most.

When inventory is all you have, prioritisation collapses

Software composition analysis becomes much more useful when it can separate “present in the tree” from “actually reachable in execution.” A dependency list tells you what could be risky; reachability tells you what is plausibly exposed in the paths your application can take. Without that second signal, teams tend to over-rotate on low-value findings and lose confidence in the scanner.

This is why inventory-only SCA often creates the wrong operational picture. A library may be bundled for a feature flag, test harness, optional code path, or dead branch, yet still show up as a vulnerability to everyone reviewing the report. reachability analysis narrows the work to code and call chains that matter, which is the difference between a catalogue and a decision aid.

It also changes how you should interpret severity. A high CVSS score in a dependency does not automatically mean high exposure in your application, because exposure depends on whether the vulnerable function can actually be invoked. That distinction is central to keeping remediation tied to real attack surface rather than abstract package presence.

Why reachability changes the security signal

Reachability testing connects dependency intelligence to application behaviour. It can use static analysis, call graph tracing, instrumentation, or runtime observation to determine whether the vulnerable component is on an executable path. In practice, that means the control is answering a different question: not “does this component exist?” but “can this weakness be reached in the deployed system?”

That difference matters because vulnerability management is partly a prioritisation problem. Teams have finite patching capacity, so they need a defensible way to sort dependencies that are merely inherited from those that are reachable from user input, service calls, scheduled jobs, or other live execution paths. If the tool cannot make that distinction, the backlog becomes noisy and response time slows for the issues that deserve attention first.

The practical payoff is reduced false urgency. Inventory-only results can be useful for discovery, but they do not tell you whether the vulnerable code is protected by design, isolated by configuration, or simply never invoked. Reachability does not eliminate risk, but it makes the security signal specific enough to support triage, exception handling, and remediation sequencing.

What actually breaks in the workflow

Once reachability is missing, the workflow breaks at the point of decision. Security teams lose the ability to distinguish confirmed exposure from theoretical exposure, engineering teams receive noisy tickets, and managers struggle to prove that the highest-priority fixes are the ones being handled first. The control still produces data, but it stops producing a reliable prioritisation model.

That failure is especially visible when dependencies are shared across many services. One vulnerable package may appear in dozens of repositories, but only a subset may actually call the vulnerable code path. Without reachability, every copy looks equally urgent, which forces broad remediation campaigns and can bury the genuinely exploitable cases.

A better operating model treats inventory as the starting point and reachability as the filter. The inventory tells you where the dependency exists; reachability tells you whether the weakness can move from a scanner finding into an actionable exploitation path. That is the difference between managing library presence and managing application exposure.

Risk and Threat Considerations

When SCA stops at inventory, the main risk is mis-prioritisation at scale. Unreachable dependencies can still consume remediation time, create false confidence, or crowd out work on genuinely exposed code paths, especially in large builds with many transitive packages.

Failure mechanism: The tool reports package presence but cannot confirm whether vulnerable functions are callable in the deployed application, so teams treat theoretical exposure as if it were confirmed attack surface.

Impact: Alert fatigue increases, remediation queues fill with low-value items, and the organisation may delay fixes for weaknesses that are both reachable and exploitable.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP ASVS, NIST SP 800-53 Rev 5, SLSA, OWASP SAMM and CIS Controls v8 set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
OWASP ASVSV15 — Secure ArchitectureReachability depends on whether vulnerable code is on an executable path.
Recommendation — Verify reachable code paths so dependency findings map to real exposure before remediation.
NIST SP 800-53 Rev 5RA-5 — Vulnerability Monitoring and ScanningSCA inventory and reachability both support vulnerability identification and prioritisation.
Recommendation — Use RA-5 to prioritize vulnerabilities based on actual exposure, not package presence alone.
SLSASupply Chain Levels for Software ArtifactsSCA sits inside software supply-chain integrity and build artifact assurance decisions.
Recommendation — Use supply-chain controls to preserve provenance while separating inventory findings from exploitable paths.
OWASP SAMMDS3 — Security Requirements and VerificationReachability testing improves security verification quality in the development lifecycle.
Recommendation — Add verification steps that distinguish reachable weaknesses from dormant dependencies.
CIS Controls v8CIS-7 — Continuous Vulnerability ManagementThe issue is prioritizing vulnerability handling based on real exposure.
Recommendation — Triage vulnerabilities by reachable exposure so remediation capacity goes to the highest-risk issues first.

Practitioner Guidance

What to verify: Treat a dependency finding as actionable only when you can tie it to a reachable call path, runtime path, or observable execution context in the deployed build. If the path cannot be shown, handle the finding as lower-confidence prioritisation data rather than an urgent fix.

Decision rule: If the same vulnerable package appears in multiple services, prioritise the services that can actually invoke the affected code before scheduling blanket upgrades everywhere. That keeps remediation aligned to blast radius instead of repository count.

Practitioner takeaway: Inventory tells you where risk might exist, reachability tells you where it can matter. Mature SCA programs use both, because prioritisation only works when findings map to executable exposure.

Free weekly newsletter

Subscribe to the NHI & AI Identity Journal

The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.

Bonus 33% off our NHI Course when you subscribe.

NHIMG Editorial Note
Reviewed and updated by the NHIMG editorial team on October 12, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org