DerScanner > Blog > Reachability Analysis (SCA)
Web and SaaS applications have become essential components of modern businesses. From small startups to large enterprises, organizations rely on these applications to deliver products, services, and customer experiences. However, this dependence comes with risks. The increasing sophistication of cyberthreats, coupled with the growing complexity of application ecosystems, has made robust application security more important than ever.
One critical strategy in fortifying application security is SCA (Software Composition Analysis) reachability analysis. By focusing on the potential exploitability of vulnerabilities, it adds a new layer of prioritization that helps organizations address their most pressing security challenges without unnecessary distractions.
This blog will demystify SCA reachability analysis, explaining its purpose, practical applications, and how it strengthens application security. By the end of this post, you’ll have a comprehensive understanding of how reachability analysis can be integrated into your workflows to better protect your systems.
Before we break down reachability analysis, it’s essential to understand SCA. Software Composition Analysis is a method used to identify vulnerabilities in the open-source libraries and third-party dependencies that modern applications often rely on. While these components speed up development and reduce costs, they also introduce potential risks—if any component has a vulnerability, attackers may exploit it to compromise the application.
This is where reachability analysis comes into play. Not every vulnerability detected in an application is exploitable. Reachability analysis evaluates whether a detected vulnerability is actually “reachable” via code paths in the software. This means determining if the application’s execution flow makes use of the vulnerable code in a way attackers can exploit.
For example, imagine a popular library used in your software has a vulnerability. Instead of urgently prioritizing this issue, reachability analysis evaluates whether that vulnerable path of the library is actively used by your application at runtime. If the analysis determines that the affected code is isolated and never called, the vulnerability becomes less critical. This distinction is a game-changer for organizations overwhelmed by high volumes of vulnerability alerts, enabling them to focus their efforts on real, exploitable risks.
The idea of reachability isn’t new—it has its roots in control theory, a branch of engineering used to analyze systems and predict outcomes. Reachability analysis in this context answers the question, "Can a system transition from an initial state to a targeted state under given conditions?"
This principle translates naturally to cybersecurity. Instead of analyzing physical systems, application security employs reachability analysis to examine whether a specific vulnerability can actually be accessed or exploited based on its context in the software.
For instance, control theory may focus on whether a mechanical robot can move through various positions to reach a desired endpoint. Similarly, reachability analysis in software scans the paths of code execution to determine which lines or modules (including potentially vulnerable ones) are invoked from start to finish. This ensures that security teams focus only on what can cause harm, eliminating speculative threats that waste resources and create unnecessary “noise” in vulnerability reports.
Code reachability takes the principles discussed above and applies them specifically to the realm of application security testing. Code reachability evaluates whether vulnerabilities in specific code paths are actively executed during an application’s operation. It shifts the focus from simply identifying vulnerabilities to understanding if and how they can be exploited.
For example, consider an ecommerce platform that integrates various open-source libraries. A vulnerability might exist in a payment processing library, but if that library is only invoked during a rarely used workflow (like an outdated payment method), the risk is much lower than if it were part of the primary checkout process.
Reachability analysis helps security teams sort through thousands of alerts and identify which ones actually matter. Without code reachability insights, organizations can fall into a pattern of "patch everything, everywhere," which is time-consuming and costly. On the other hand, by leveraging actionable insights provided by reachability analysis, they can boost their risk mitigation efforts while saving time and resources.
To illustrate, consider the analysis of the Pillow library, a popular Python library used for image processing. This example underscores the significance of reachability:
A developer downloads the Pillow library version 9.4 to include image processing functionalities in an application. Upon running a security scan, a vulnerability is flagged in the library. The identified issue resides in the eval
function of the ImageMath
module, making it exploitable under very specific circumstances. However, despite Pillow containing 30 different modules and numerous functions, only the eval
function in ImageMath
holds potential for exploitation. The remaining functions, while theoretically vulnerable, are not achievable in this instance.
This highlights a common trend in SCA reachability analysis. Out of a sample of 87 flagged vulnerabilities, further scrutiny revealed that only 33 were achievable, translating to about 37% reachability. Interestingly, even among the 33 achievable vulnerabilities, only a fraction are likely exploitable. For this reason, many vulnerabilities—over 60% in this case—are ultimately deemed false positives from an operational perspective. They simply cannot be called within the code, rendering them irrelevant in real-world terms.
Without reachability analysis, development teams might spend hours investigating these false positives or, worse, implementing unnecessary patches. By determining which vulnerabilities are both reachable and exploitable, teams can focus their energy on resolving the two or three critical issues that truly require attention.
Software Composition Analysis (SCA) operates within a broader landscape of application security tools, often overlapping with methods like SAST (Static Application Security Testing). While SAST reviews an application’s source code for vulnerabilities, SCA focuses on analyzing third-party components for known issues. These two methods complement each other but serve slightly different purposes.
There’s often confusion around specific tools, such as the question, “Is SonarQube SCA or SAST?” The answer depends on how the tool is used. SonarQube primarily functions as a SAST tool, scanning source code, though some might pair it with plugins or other tooling to include aspects of SCA. The key thing to remember is that SCA excels at analyzing third-party libraries and determining their risk level, especially through reachability analysis.
Furthermore, SCA stands out by offering prioritization capabilities that many other tools lack. For example, if a vulnerability is detected in an old library that’s not invoked by the active code, reachability analysis will assign it a lower priority. This avoids overwhelming developers with unnecessary fixes, allowing them to focus on higher-priority threats.
The practical importance of SCA reachability analysis comes to life when examining real-world use cases. Consider the following example:
A financial services company may have hundreds of open-source dependencies embedded in their web application. During a routine scan, several vulnerabilities are flagged, including an issue in a cryptographic library that has the potential to leak sensitive customer data. Initial alarm bells go off, but upon further examination using reachability analysis, the security team discovers that the vulnerable code doesn’t fit into any real-world data flow. The discovery dramatically lowers its urgency compared to a separate issue flagged in a workflow directly tied to customer login processes.
Through SCA reachability analysis, this company can take an approach rooted in efficiency while still maintaining high levels of security. It also ensures faster resolution times for truly critical vulnerabilities, reducing delays in DevOps and minimizing exposure to threats.
Another major benefit is the ability to integrate SCA tools into DevSecOps workflows. Modern tools, such as SonarQube or similar market leaders, offer automated reachability analysis that continuously monitors your CI/CD pipelines. This integration not only ensures that vulnerabilities don’t reach production environments but also empowers developers to fix issues early, during the development stage.
Reachability analysis in DerScanner SCA is designed to help teams prioritize vulnerabilities by identifying which ones are genuinely impactful and exploitable within their specific application. This method reduces the noise often associated with traditional software composition analysis (SCA) by focusing on actionable risks.
DerScanner leverages a hybrid approach that combines static analysis and software composition analysis to provide deeper insights into vulnerabilities. This combination ensures that merely identifying Common Vulnerabilities and Exposures (CVEs) isn’t enough; it goes a step further to verify whether these vulnerabilities are actually reachable and exploitable in the context of the application’s source code.
Static analysis examines the application at the code level, scanning for instances where dependencies or vulnerable functions are actively imported or called. At the same time, SCA identifies the open-source components and associated CVEs. By merging the results from both analyses, DerScanner accurately pinpoints reachable vulnerabilities rather than flagging every CVE in third-party components.
By providing transparent insights into how vulnerabilities function within the application, DerScanner's reachability analysis equips organizations with the tools to make smarter, more informed decisions about their security efforts. It cuts through the noise and ensures developers focus on what truly matters for application safety.
Getting the most out of reachability analysis begins with a structured approach. Here are several best practices to follow:
The effort invested in adopting SCA reachability analysis yields impressive returns. Companies that leverage this approach enjoy a host of benefits:
Statistical insights further highlight the impact. According to industry data, organizations that implement effective reachability analysis reduce their average remediation effort by up to 30%, significantly lowering time-to-resolution and freeing up resources for innovation.
SCA reachability analysis represents a breakthrough in application security, transforming how businesses assess and manage risks. By distinguishing between vulnerabilities that are theoretically present and those that are genuinely exploitable, it allows organizations to operate with precision, confidence, and efficiency.
If your team hasn’t yet begun implementing reachability analysis, now is the time to start. Begin by conducting a thorough review of your application dependencies, explore leading SCA tools, and take actionable steps to integrate reachability insights into your workflows.
Take the next step in fortifying your application security. Sign up for a free demo of a top-tier SCA tool or explore additional resources that guide you through strengthening your security strategies. Together, we can ensure that your applications remain secure and resilient against evolving threats.