Join our Newsletter — 33% off our NHI Course

What breaks when SCA teams rely only on severity scores?

Severity-only triage breaks because it treats every high score as equally urgent, even when the vulnerable code is never called or the exploit conditions do not exist in the real application. Teams waste developer time on noise, while genuinely reachable flaws stay open. Reachability and exploitability should be the first filter before any remediation work is assigned.

Why This Matters for Security Teams

Severity scores are useful, but they are not a decision-making model on their own. A high score from SCA often reflects a theoretical worst case, not whether the vulnerable package is actually loaded, invoked, or exposed in the running environment. For security teams, the real risk is operational misallocation: engineering time is spent closing noisy findings while reachable weaknesses remain unaddressed. That pattern conflicts with the prioritisation logic in the NIST Cybersecurity Framework 2.0, which expects risk treatment to reflect business context, not just technical labels.

Practitioners also underestimate how often exploitability depends on runtime conditions, network exposure, authentication state, and whether a vulnerable path is even present in the deployed build. Severity-only workflows tend to flatten those differences. Current guidance across AppSec and software supply chain practice suggests that remediation should be driven first by reachability, exploitability, and asset criticality, then by raw score.

In practice, many security teams encounter this failure only after developers have already burned cycles on non-actionable findings while an actually reachable flaw has been sitting in production.

How It Works in Practice

Good SCA triage starts by asking whether the vulnerable component is present in the shipped artefact, whether the vulnerable function is reachable from application code, and whether a realistic exploit path exists in the current deployment. Severity can remain part of the picture, but it should sit behind those questions rather than in front of them. That means combining package metadata, call graph or dependency path analysis, runtime signals, and exposure context.

A practical workflow often looks like this:

  • Confirm the vulnerable package is actually included in the build or container image.
  • Check whether the affected function, module, or execution path is invoked by the application.
  • Assess exploit preconditions such as authentication, network access, user interaction, or feature flags.
  • Prioritise by runtime exposure and business impact, not CVSS alone.
  • Use compensating controls, such as isolation or virtual patching, only when immediate code fix is not realistic.

This is where SCA becomes more operationally useful when paired with broader control thinking from source integrity and dependency governance. The OWASP Software Supply Chain guidance and related secure build practices are strongest when they force teams to distinguish “vulnerable in inventory” from “dangerous in production.” For an authoritative control lens, the NIST Cybersecurity Framework 2.0 also reinforces the need to identify, protect, detect, and respond based on actual risk conditions rather than static scores alone.

When an SCA tool can enrich findings with exploit maturity, reachable path evidence, and environment context, triage becomes more defensible and less political. These controls tend to break down when the application is heavily dynamic, uses runtime code loading, or relies on opaque third-party services because static analysis cannot reliably prove real execution paths.

Common Variations and Edge Cases

Tighter triage often increases analysis overhead, requiring organisations to balance faster ticket generation against better risk decisions. That tradeoff is real, especially for large estates with thousands of dependencies and limited engineering capacity. Best practice is evolving here, and there is no universal standard for how much evidence is enough before a finding is downgraded or deferred.

Some environments make severity-only scoring especially misleading. Microservices with aggressive feature flagging may contain vulnerable code that is deployed but never reachable in a given tenant. Monorepos may show the same package across many services, but only a subset actually invoke the affected function. Containerised applications may inherit vulnerable libraries from base images while compensating network restrictions make exploitation unlikely. In each case, the score can stay high while the practical risk differs materially.

There is also an identity intersection that matters when the vulnerable path is gated by secrets, service accounts, or privileged tokens. A dependency vulnerability that looks severe on paper may be far less urgent if the exposed path is not reachable without strong authentication, yet the same flaw becomes far more serious if weak credential controls or overprivileged non-human identities widen access. For teams looking to anchor remediation in governance, the NIST Cybersecurity Framework 2.0 is still the best starting point for mapping technical findings to operational response.

Where programmes fail is not in lacking scores, but in treating scores as the final answer instead of one input among exposure, reachability, and exploitability.

Standards & Framework Alignment

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

MITRE ATT&CK address the attack and risk surface, while NIST CSF 2.0, CIS-Controls and NIST AI RMF set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
NIST CSF 2.0 ID.RA-1 Risk analysis should reflect actual exploitability, not only scanner scores.
MITRE ATT&CK T1190 Exploit public-facing application paths is relevant when reachable flaws are exposed.
CIS-Controls 7.4 Automated vulnerability management needs prioritisation beyond raw severity.
NIST AI RMF Risk management principles help separate theoretical from operational impact.

Map reachable application flaws to likely attack paths and validate detection coverage.