What is Reachability Analysis?
Reachability analysis is a technique used to determine whether it is possible to move from one state or point in a system to another, given a defined set of rules or constraints. In cybersecurity and systems engineering, this often means evaluating whether an attacker or a specific data flow can reach sensitive resources or critical components.
The approach is widely used in network security, application security, and cloud infrastructure. By modeling systems as graphs or state machines, reachability analysis can identify potential vulnerabilities, misconfigurations, or unintended access routes that could be exploited.
In software environments, reachability analysis is used to evaluate the risk of software vulnerabilities by determining whether vulnerable code can be accessed and exploited in a running application. It helps security and developer teams prioritize fixes by separating easily exploitable risks from unactionable false positives.
How it works:
- Starting point identification: Defines the source of access, such as an external attacker, internal user, application, or network location.
- Target definition: Identifies the resource, system, service, or code path being evaluated for accessibility.
- System modeling: Maps components, connections, permissions, and controls as a graph, state machine, or architecture model.
- Path analysis: Examines possible routes between the starting point and target while accounting for controls and constraints.
- Risk prioritization: Ranks reachable assets or vulnerabilities based on exploitability, exposure, and potential business impact.
Types of analysis:
- Network reachability analysis: Evaluates whether hosts, services, or devices can communicate across network infrastructure and security controls.
- Cloud security reachability analysis: Assesses access to cloud resources based on IAM permissions, security groups, routing, and cloud configurations.
- Application and code reachability analysis: Determines whether vulnerable functions, libraries, or code paths can be accessed and executed.
- Configuration reachability analysis: Analyzes how firewall rules, access controls, and infrastructure settings affect exposure.
- Symbolic reachability analysis: Uses mathematical models to determine whether specific system states or transitions can be reached.
In this article:
- Benefits of Reachability Analysis
- How Reachability Analysis Works
- Reachability Analysis vs. Related Concepts
- Reachability Analysis in Different Environments
- Reachability Analysis Methods and Their Pros and Cons
- Best Practices for Effective Reachability Analysis
Benefits of Reachability Analysis
Reachability analysis helps security teams understand how systems can actually be accessed and exploited in real environments. Instead of relying only on static configurations or isolated vulnerability scans, it evaluates how components interact across networks, applications, identities, and cloud environments.
Key benefits include:
- Improved attack path visibility: Reachability analysis maps how attackers could move through a system or network. It identifies possible paths between exposed services, internal systems, and sensitive assets, helping teams understand lateral movement opportunities.
- Noise reduction: Traditional security tools often generate large numbers of alerts and vulnerability findings without context. Reachability analysis filters out issues that are not practically exploitable because they are unreachable under existing network rules, permissions, or segmentation controls. This helps teams focus on risks that matter most.
- Resource optimization: Security teams often have limited time and remediation capacity. Reachability analysis helps prioritize fixes based on actual exposure and exploitability instead of severity scores alone. This allows organizations to allocate resources more effectively and reduce wasted effort.
- Better vulnerability prioritization: Not every vulnerability presents the same level of risk. Reachability analysis determines whether vulnerable systems can actually be reached by attackers, making it easier to identify critical issues that require immediate attention.
- Validation of security controls: The analysis can verify whether firewalls, segmentation policies, identity controls, and access restrictions are working as intended. It helps detect gaps that may allow unintended communication or access.
- Reduced attack surface: By identifying unnecessary connections, open ports, excessive permissions, and exposed services, organizations can remove or restrict access paths that increase risk.
- Faster incident response: During a security incident, reachability analysis helps responders quickly understand what systems may be affected and how an attacker could move through the environment. This improves containment and investigation efforts.
- Support for cloud and hybrid environments: Modern infrastructures are highly dynamic and distributed. Reachability analysis provides visibility across cloud platforms, containers, on-premise systems, and hybrid architectures where traditional perimeter-based analysis is often insufficient.
- Compliance and risk management support: Organizations can use reachability analysis to demonstrate network segmentation, access control enforcement, and exposure management as part of security audits and compliance requirements.
How Reachability Analysis Works
Let’s review the typical workflow of a security-focused reachability analysis.
1. Define the Starting Point
The first step in reachability analysis is to identify the starting point, which is the origin from which access attempts will be modeled. In network security, this might be an external attacker, a compromised device, or an internal user. The starting point sets the context for the analysis and determines which paths and access methods are relevant. Accurate definition of this origin is important for producing meaningful results, as it frames the scope and focus of the analysis.
Selecting a starting point also involves understanding the attack surface and entry vectors relevant to the system. For example, a public-facing web server, a developer workstation, or a specific user account may serve as different starting points with different access possibilities. By defining and documenting the origin, organizations can tailor the analysis to likely or high-impact scenarios.
2. Define the Target
After establishing the starting point, the next step is to specify the target. The target is the resource, system component, or code path that needs to be protected or analyzed for reachability. Common targets include sensitive databases, application secrets, privileged APIs, or critical infrastructure components. Defining the target ensures that the analysis remains focused and avoids unnecessary complexity.
Clear definition of the target also helps set boundaries for the analysis and evaluate whether specific security controls protect the asset. The choice of target is often driven by business priorities, regulatory requirements, or threat models, ensuring alignment with organizational risk management objectives.
3. Model the System
Modeling the system is a key phase in reachability analysis. This involves creating a representation, often a graph, of relevant components, connections, access controls, and transitions between states. The model must capture network topology, system architecture, user roles, authentication mechanisms, and segmentation or isolation controls. The quality and completeness of this model directly affect the accuracy of the analysis.
The system model should reflect changes in infrastructure, software updates, or evolving threats. Automated tools and configuration management data can help maintain an up-to-date model. In cloud environments, this may include mapping VPCs, subnets, IAM policies, and security groups. In application security, it could mean constructing call graphs or data flow diagrams to illustrate how inputs move through the codebase.
4. Analyze Possible Paths
With the system model in place, the next step is to analyze possible paths from the starting point to the target. This involves traversing the graph or system representation and evaluating each node and connection for access controls, vulnerabilities, or misconfigurations that could permit or block movement. Automated algorithms or manual review may be used, depending on the environment.
The goal is to identify direct and indirect routes that might be exploited. For example, an attacker might first compromise a low-privilege account and then escalate through lateral movement. Documenting feasible paths helps organizations understand risk and decide where to strengthen controls or monitor for suspicious activity.
5. Prioritize Findings
After identifying reachable paths, the next step is to prioritize findings based on exploitability and potential impact. Not all paths represent equal risk; some may require unlikely conditions, while others may be straightforward to exploit. Prioritization typically considers ease of exploitation, existing controls, target value, and business or operational impact.
Effective prioritization allows security teams to focus remediation efforts on significant exposures, reducing resource waste and alert fatigue. Integrating reachability findings with vulnerability severity data and business context helps ensure that urgent issues are addressed first.
Reachability Analysis vs. Related Concepts
The following table compares reachability analysis to three related concepts: vulnerability scanning, attack path analysis, and exploitability analysis. Below we explore the differences in more detail.
| Aspect | Reachability Analysis | Vulnerability Scanning | Attack Path Analysis | Exploitability Analysis |
| Primary focus | Accessibility and exposure | Vulnerability discovery | Multi-stage attack progression | Exploitation feasibility |
| Key question | Can access occur? | What vulnerabilities exist? | How can an attacker reach a target? | Can a vulnerability be exploited? |
| Evaluates | Connectivity, permissions, code paths | Known weaknesses and misconfigurations | Attack chains and lateral movement | Exploit conditions and protections |
| Output | Reachable assets or vulnerabilities | List of vulnerabilities | Potential attack scenarios | Exploitable vs. non-exploitable vulnerabilities |
Reachability Analysis vs. Vulnerability Scanning
Vulnerability scanning identifies known weaknesses in systems, applications, or infrastructure. These tools detect missing patches, outdated software versions, exposed services, weak configurations, or insecure dependencies. The goal is broad coverage and rapid identification of potential security issues. However, vulnerability scanners usually evaluate assets in isolation and do not determine whether a vulnerability can be reached or exploited.
Reachability analysis adds context to vulnerability data. Instead of only asking whether a vulnerability exists, it asks whether an attacker can access the vulnerable component from a given starting point. For example, a critical vulnerability on an internal server may present minimal immediate risk if segmentation prevents external access. Reachability analysis helps reduce alert fatigue by filtering out vulnerabilities that are not exploitable under current conditions.
The two approaches are complementary. Vulnerability scanning provides an inventory of weaknesses, while reachability analysis prioritizes those weaknesses based on exposure and attack feasibility.
Reachability Analysis vs. Attack Path Analysis
Attack path analysis identifies sequences of actions an attacker could take to move through an environment and compromise specific targets. It models multi-stage attacks involving privilege escalation, credential abuse, lateral movement, or chained vulnerabilities.
Reachability analysis focuses on whether access between systems, services, identities, or code paths is possible. It evaluates connectivity and accessibility under existing controls such as firewalls, IAM permissions, routing rules, or application logic. While attack path analysis often includes reachability data, it also incorporates attacker behavior and post-compromise techniques.
In practice, reachability analysis often serves as a foundation for attack path analysis. If a target is unreachable, many attack paths are invalid. Reachability analysis answers “Can access occur?” while attack path analysis answers “What can happen after access is gained?”
Reachability Analysis vs. Exploitability Analysis
Exploitability analysis evaluates whether a specific vulnerability can be exploited under real-world conditions. This includes assessing attack complexity, required privileges, exploit availability, environmental protections, and technical conditions needed for compromise.
Reachability analysis focuses on accessibility rather than exploitation mechanics. It determines whether an attacker can reach the vulnerable system, service, or code path. A vulnerability may be exploitable in theory, but if the affected component is isolated and unreachable, the immediate risk may be low. Conversely, a moderately severe vulnerability exposed to the internet may require urgent attention because it is reachable.
In practice, the two work as a progression rather than alternatives. Reachability is a prerequisite check. If the vulnerable code can’t be reached, the finding can be deprioritized. But reachable doesn’t mean exploitable. Exploitability analysis then tests the remaining conditions, such as whether an attacker controls the input, whether the vulnerable configuration is set, whether the component survives the build and exists at runtime, and what compensating controls stand in the way. Reachability narrows the list, and exploitability validation delivers the verdict.
Reachability Analysis in Different Environments
Let’s see how reachability analysis works in common enterprise environments: networks, cloud infrastructure, and application code.
Network Reachability Analysis
Network reachability analysis focuses on which hosts, devices, or services are accessible from specific network locations. This analysis maps firewalls, routers, switches, and other network components to determine whether traffic can flow from a source to a destination. It identifies exposed services, open ports, and misconfigurations that could allow unauthorized access.
By evaluating network paths, organizations can identify weaknesses before they are exploited. Automated tools can scan network configurations and simulate attack scenarios. This type of analysis is important in large or dynamic environments where manual review is impractical.
Cloud Security Reachability Analysis
Cloud security reachability analysis examines the accessibility of cloud resources, such as virtual machines, storage buckets, or APIs, within public or private cloud environments. Cloud infrastructures introduce challenges, including dynamic resource allocation, complex identity and access management (IAM) policies, and multi-tenant architectures. This analysis maps how permissions, security groups, and network configurations interact to expose or protect resources.
By analyzing cloud reachability, organizations can detect overly permissive IAM roles, misconfigured storage permissions, or unintended public exposure. Continuous analysis is important to keep pace with changes and reveal the exposure of sensitive cloud assets.
Application Security and Code Reachability Analysis
Application security and code reachability analysis determine whether specific functions, methods, or code paths in an application can be accessed through user input or external interfaces. This analysis is crucial for identifying exploitable vulnerabilities, such as those reachable by untrusted input or user actions. Techniques like static and dynamic analysis are used to map call graphs, data flows, and execution paths within the application.
Understanding code reachability allows developers and security teams to prioritize vulnerabilities that are exposed, rather than those that exist only in theory. In modern development workflows, integrating reachability analysis into CI/CD pipelines supports continuous security validation as code evolves.
Reachability Analysis Methods and Their Pros and Cons
1. Graph-Based Reachability Analysis
Graph-based reachability analysis models systems as networks of nodes and edges. Nodes represent assets such as users, devices, applications, or cloud resources, while edges represent relationships or communication paths. Security teams analyze these graphs to determine whether a path exists between a source and a target and to uncover exposure across complex environments.
Pros:
- Provides clear visualization of relationships and attack paths
- Scales well across large and complex environments
- Identifies lateral movement opportunities and hidden dependencies
- Supports attack path and exposure analysis
- Useful for cloud, network, and identity security assessments
Cons:
- Requires accurate and continuously updated system data
- Large graphs can become difficult to manage and interpret
- May not fully account for dynamic runtime behavior
- Analysis quality depends on the completeness of the graph model
2. Static Reachability Analysis
Static reachability analysis evaluates systems, applications, or code without executing them. It analyzes source code, binaries, dependencies, and infrastructure definitions to determine which functions, resources, or components can potentially be reached. Because it does not require a live environment, it is commonly used during development and testing.
Pros:
- Can be performed before deployment or production use
- Supports early vulnerability detection and remediation
- Does not require access to live environments
- Enables analysis of large codebases and infrastructure definitions
- Integrates easily into CI/CD pipelines
Cons:
- May generate false positives
- Cannot fully account for runtime conditions
- Limited visibility into dynamic dependencies and behaviors
- Accuracy depends on code and configuration quality
- Most static tools stop at the first hop, checking only whether application code calls the vulnerable function directly and missing multi-hop call chains
- Rule-based parsers often fail on dynamic calls and lose the path entirely
3. Dynamic Reachability Analysis
Dynamic reachability analysis evaluates accessibility while systems are actively running. It relies on runtime observation, including network monitoring, execution tracing, and application telemetry, to identify actual execution paths and communication flows. This provides a realistic view of how systems behave in production environments.
Pros:
- Provides visibility into real runtime behavior
- Reduces false positives compared to static analysis
- Identifies active dependencies and communication paths
- Reflects actual permissions and system states
- Helps validate theoretical attack paths
Cons:
- Requires access to running environments
- May not cover all possible execution scenarios
- Can consume significant resources during monitoring
- Results may vary depending on observed activity
4. Configuration Reachability Analysis
Configuration reachability analysis examines how infrastructure and security settings affect access between systems and resources. It evaluates controls such as firewall rules, IAM policies, security groups, routing tables, and access control lists. The goal is to identify exposure created by configuration decisions rather than software flaws.
Pros:
- Detects exposure caused by misconfigurations
- Validates network and access control policies
- Well suited for cloud and hybrid environments
- Helps enforce least-privilege principles
- Supports continuous security monitoring
Cons:
- Requires comprehensive visibility into configuration data
- Frequent infrastructure changes can affect accuracy
- May overlook runtime behaviors not reflected in configurations
- Complex environments can generate large volumes of findings
5. Symbolic Reachability Analysis
Symbolic reachability analysis uses mathematical representations of variables and conditions instead of evaluating every possible state individually. By applying logical reasoning to symbolic inputs, it determines whether specific states or transitions can be reached. This technique is commonly used in formal verification and advanced software security research.
Pros:
- Handles very large and complex state spaces
- Supports formal verification and mathematical validation
- Identifies edge cases that conventional testing may miss
- Useful for high-assurance and safety-critical systems
- Can provide strong guarantees about system behavior
Cons:
- Computationally intensive for large environments
- Difficult to scale in highly complex systems
- Requires specialized expertise and tooling
- May be challenging to interpret and validate results
Best Practices for Effective Reachability Analysis
1. Prioritize Exploitable Risk Over Raw Severity
Security teams often rely on severity scores such as CVSS when prioritizing vulnerabilities. While severity ratings provide useful technical information, they do not always reflect real-world exposure. A critical vulnerability may present little immediate danger if the affected system is isolated or inaccessible. Reachability analysis helps organizations focus on vulnerabilities that attackers can access.
Prioritizing exploitable risk allows teams to allocate remediation resources efficiently. Instead of attempting to patch every high-severity finding immediately, organizations can concentrate on vulnerabilities that are reachable from external networks, compromised accounts, or other realistic entry points.
2. Combine Code, Cloud, and Runtime Context
Reachability analysis is most useful when it incorporates multiple layers of context. Modern environments include interconnected applications, cloud services, APIs, identities, containers, and runtime workloads that cannot be analyzed accurately in isolation. Combining code analysis, infrastructure configuration data, and runtime activity provides a clearer understanding of exposure.
For example, a vulnerable function in application code may become dangerous only if it is exposed through an API endpoint and reachable from external users. Integrating multiple data sources helps security teams identify realistic attack paths and avoid blind spots.
3. Use Reachability to Reduce False Positives
Many security tools generate findings without considering whether affected systems or code paths are accessible. This often leads to large volumes of alerts that do not represent meaningful risk. Reachability analysis helps reduce false positives by filtering out vulnerabilities, services, or code paths that cannot be reached under existing conditions.
Reducing false positives allows analysts to focus on issues that increase exposure and helps teams avoid unnecessary remediation work.
4. Map Reachable Vulnerabilities to Attack Paths
Reachable vulnerabilities become more dangerous when they can be chained into broader attack paths. Organizations should map reachable assets and weaknesses into potential attacker workflows. This helps identify how an initial compromise could lead to privilege escalation, lateral movement, or access to sensitive systems.
Mapping these connections supports more effective prioritization by highlighting vulnerabilities that enable high-impact attack chains.
5. Integrate Reachability Into the Security Lifecycle
Reachability analysis should be integrated into ongoing security operations rather than treated as a one-time assessment. Modern environments change constantly due to software deployments, cloud updates, infrastructure modifications, and evolving user permissions. Continuous reachability analysis helps organizations detect newly exposed assets and emerging attack paths.
Integrating reachability into development pipelines, cloud security monitoring, vulnerability management, and incident response processes improves overall security visibility. In CI/CD environments, reachability checks can validate whether new code or infrastructure changes unintentionally expose sensitive systems.
Cut Through Vulnerability Noise with Reachability Analysis from Maze
Proving Exploitability with Maze Code
Maze Code uses AI agents to investigate every vulnerability in your dependencies (AI-SCA) and the code your team writes (AI-SAST). Maze treats reachability as the first qualifying signal, not the final answer. Its AI-built call graphs trace the full call chain however many hops deep the vulnerability sits, including the dynamic calls rules-based parsers give up on, then weigh build and runtime context to prove what’s actually exploitable in your environment.
Key capabilities of Maze Code include
- Full call-chain reachability. AI-built call graphs go beyond first-hop checks, tracing every path from entry point to vulnerable function, even through dynamic calls that break traditional parsers.
- Exploitability, not just reachability. Maze checks whether an attacker controls the input, whether the vulnerable configuration is set, and whether the package survives the build. Findings that are reachable but can’t be exploited are closed before they reach your team.
- Code and cloud context combined. Running on the same platform as Maze Cloud, findings are judged by how the code actually runs in production, including exposure, runtime, and asset criticality.
- Evidence with every verdict. Every finding, exploitable or not, comes with the technical evidence behind the decision.
Fixes routed to the owner. When a vulnerability is exploitable, agents trace the root cause and ship a fix as a pull request to the developer who owns the code. When no fix exists, they recommend a mitigation.
Learn how Maze Code goes beyond reachability to prove real risk. Explore Maze Code.
