TL;DR: SAST and SCA still miss the runtime, ownership, and business context needed to distinguish exploitable issues from noise, even though they catch real flaws and dependency vulnerabilities, according to Apiiro. The practical shift is from coverage-based scanning to contextual risk analysis that correlates signals across tools and prioritizes what attackers can actually reach.
At a glance
What this is: Apiiro says SAST and SCA are necessary but incomplete because they do not connect findings to runtime state, ownership, or business impact.
Why it matters: IAM and security teams need this distinction because prioritisation fails when code, dependency, and access context are analysed in silos rather than as one risk surface.
By the numbers:
- 96% of commercial applications contain open-source components.
- The average codebase includes over 500 dependencies.
- Applying reachability analysis can filter out up to 89% of flagged packages.
Context
SAST and SCA solve different parts of application security, but neither was designed to decide whether a finding is actually exploitable in the environment where software runs. Static analysis sees code structure and dependency inventories, not deployment state, compensating controls, ownership, or the business services a flaw can affect.
That gap matters because modern pipelines produce more findings than teams can triage with confidence. In practice, contextual risk analysis becomes the bridge between code security and operational security, especially where application components, runtime controls, and access paths intersect.
Key questions
Q: How should teams prioritise SAST and SCA findings when scanners disagree?
A: Treat disagreement as a signal that context is missing, not as a reason to trust one scanner over the other. Teams should correlate code, dependency, runtime, and ownership data, then prioritise findings that are reachable, deployed, and tied to sensitive business services. A vulnerable package in an unused path is usually less urgent than a moderate code flaw in an exposed, critical workflow.
Q: Why do SAST and SCA findings still create false confidence in secure development?
A: Because a clean or noisy scan does not prove that the application is either safe or unsafe. SAST misses runtime conditions and cross-file complexity, while SCA reports vulnerable packages even when the risky code never executes. Security teams need contextual evidence about exposure, control coverage, and business impact before concluding that the pipeline is working.
Q: What are the signs that application security testing is not covering real-world risk?
A: Weak coverage usually shows up as recurring vulnerabilities in production, excessive false positives that teams ignore, and missed issues in APIs, dependencies, or runtime behavior. If testing focuses only on code or only on deployed systems, important attack paths can be missed. Another warning sign is when security checks are not aligned to the application’s actual architecture and data flows.
Q: How should security teams test whether an exploit is actually usable in production?
A: Security teams should validate exploitability against the live environment, not just against a scan result. The goal is to confirm whether a weakness can be chained with real identities, reachable services, and current privileges before an attacker does. That approach turns security testing into operational risk triage instead of report generation.
Technical breakdown
Why SAST and SCA create fragmented risk views
SAST and SCA are structural scanners, not runtime risk engines. SAST traces source code paths with abstract syntax trees, control flow, and data flow, while SCA matches package inventories against vulnerability data. Each is useful, but neither knows whether a vulnerable function is ever called, whether the service is internet-facing, or whether a compensating control changes exposure. When findings are isolated this way, a critical score can describe theoretical weakness rather than operational risk.
Practical implication: treat scanner output as input to a risk correlation layer, not as the final priority list.
How reachability analysis changes dependency triage
Reachability analysis asks whether vulnerable dependency code is actually executed in the application’s call paths. That is different from simply detecting a vulnerable package in a manifest. SCA often reports every vulnerable library version it can see, including components that are imported but never invoked in the risky code path. By combining static dependency data with execution context, teams can separate exploitable packages from inventory noise and reduce unnecessary patch work.
Practical implication: use call-path evidence before escalating dependency findings into remediation tickets.
Why ownership and business context matter in application security
A finding is only actionable when it can be tied to the right owner and the right business service. Git history shows who last edited code, not who is accountable for the logic, and CVSS does not reveal whether a flaw affects a payment workflow, a test utility, or an internal-only service. Contextual analysis aligns findings with code owners, runtime exposure, and service criticality so remediation follows real risk, not generic severity.
Practical implication: map security findings to service ownership and business criticality before setting fix priorities.
NHI Mgmt Group analysis
Context, not coverage, is the missing control plane in application security. SAST and SCA can both be accurate and still leave teams blind to exploitability because they do not model runtime exposure, ownership, or compensating controls. The real governance failure is treating scanner breadth as a substitute for risk judgement. Practitioners should move toward correlation layers that explain which findings matter, not just which findings exist.
Reachability analysis is the difference between inventory and risk. A vulnerable dependency sitting in a manifest is not the same as a dependency that executes in a live request path. Apiiro’s framing is directionally right for application governance because it exposes the structural gap between code discovery and code use. Security teams should prioritise evidence of execution before assigning remediation effort.
Business impact must sit alongside technical severity in AppSec triage. Severity scores alone cannot tell a team whether a flaw threatens customer data, regulated workflows, or low-value internal code. That is why contextual analysis is increasingly the governance layer that connects engineering effort to enterprise risk appetite. Practitioners should weight findings by service criticality and data sensitivity.
Ownership mapping is an AppSec control, not just an operational convenience. When the wrong team receives the finding, remediation slows and risk persists. In large codebases and shared libraries, the gap is often not detection but accountability. Teams should route findings to true code owners and maintain that mapping as part of secure SDLC governance.
Composite risk is now the more useful unit of analysis than isolated findings. A separate SAST issue and SCA issue can be low priority alone but materially worse when they combine along the same runtime path. This is the kind of cross-tool correlation that static scanners cannot do by themselves. Practitioners should assess joined-up exploit paths, not just individual alerts.
What this signals
Application security now needs a correlation layer, not just better scanners. SAST and SCA will continue to matter, but their output only becomes decision-grade when it is joined to deployment state, ownership, and service criticality. For practitioners, the governance question is no longer whether a finding exists but whether it can reach production impact.
Reachability is the practical filter that separates inventory from exposure. If a vulnerable dependency is never called, the triage burden belongs much lower in the queue. Teams that move reachability into their AppSec workflow will usually reduce noise faster than teams that keep tuning thresholds on disconnected tools.
Contextual risk analysis shifts AppSec toward business-aligned prioritisation. That matters because development speed keeps outrunning manual review, and the old assumption that static coverage equals risk coverage no longer holds. Security programmes should connect findings to the services, owners, and data that actually drive enterprise exposure.
For practitioners
- Correlate scanner results across tools Join SAST, SCA, and runtime signals into one triage view so teams can see when separate findings converge on the same deployed service.
- Apply reachability before prioritising dependencies Confirm whether vulnerable libraries are actually invoked in production call paths before creating high-priority remediation work.
- Map findings to service owners Route each issue to the team accountable for the code or dependency, not to whoever last touched the file.
- Weight findings by business criticality Prioritise issues in customer-facing, revenue-generating, or regulated services ahead of low-impact internal utilities.
- Review compensating controls in triage Check whether WAF rules, authentication layers, or network exposure change the practical exploitability of a flagged issue.
Key takeaways
- SAST and SCA remain essential, but they do not resolve whether a finding is actually exploitable in the deployed environment.
- High finding volumes can mask risk when teams lack reachability, runtime, and ownership context.
- The most effective response is to correlate scanner output with runtime exposure and business impact, then prioritise the issues that attackers can reach.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP API Security Top 10 addresses the attack and risk surface, while NIST CSF 2.0, NIST SP 800-53 Rev 5 and CIS Controls v8 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| NIST CSF 2.0 | PR.AA-05 — Access Permissions, Entitlements and Authorizations | Runtime exposure and access context determine whether code findings are actually reachable. |
| Recommendation — Map exposed services and entitlement paths before escalating static findings into remediation. | ||
| NIST SP 800-53 Rev 5 | RA-5 — Vulnerability Monitoring and Scanning | The article is about why scanning output needs context to become actionable risk. |
| Recommendation — Augment vulnerability scanning with reachability and deployment context before triage. | ||
| CIS Controls v8 | CIS-7 — Continuous Vulnerability Management | The piece addresses how organisations should prioritise and manage vulnerabilities continuously. |
| Recommendation — Prioritise continuously by combining scanner output with exploitability and asset criticality. | ||
| OWASP API Security Top 10 | API8 — Security Misconfiguration | Runtime exposure and compensating controls often determine whether application weaknesses are exploitable. |
| Recommendation — Check API exposure and runtime configuration before treating static findings as high risk. | ||
Key terms
- Contextualized Risk Analysis: Contextualized risk analysis is the process of ranking cloud findings based on their real operational impact, not just their technical severity. It weighs asset criticality, exposure, and compliance obligations so security teams can focus on the misconfigurations most likely to cause business disruption or data loss.
- Reachability analysis: Reachability analysis checks whether a vulnerability can actually be exploited in the application’s real code paths and dependency graph. It helps teams distinguish theoretical findings from issues that an attacker can reach, which makes prioritisation far more accurate for both AppSec and identity risk management.
- Compensating Control: A compensating control is a measure that reduces risk when the ideal fix, such as immediate patching or redesign, is not possible. In OT, compensating controls often include session recording, access restriction, and tighter monitoring. They do not eliminate the underlying issue, but they narrow exposure until safer remediation can happen.
- Identity Security Posture Management: Identity security posture management is the continuous assessment of identity configuration, privilege, and exposure across an environment. It focuses on drift, overprivilege, and control gaps so teams can see where IAM, PAM, and NHI governance are failing before those gaps become incidents.
Deepen your knowledge
The NHI Foundation Level course, the industry's only accredited NHI security programme, covers NHI governance, IAM, and secrets management. It helps practitioners connect identity controls to the broader security decisions their programmes depend on.
Published by the NHIMG editorial team on August 18, 2026.
Updated on October 12, 2026.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org