3.0 KiB
3.0 KiB
Surface-Aware Reachability Analysis with Confidence Tiers
Module
Scanner
Status
IMPLEMENTED
Description
Reachability analysis that factors in attack surface boundaries (HTTP, gRPC, internal) and classifies findings into confidence tiers (Confirmed, Likely, Present, Unreachable), providing structured boundary proof extraction from multiple sources (rich graph, gateway config, K8s network policies, IaC).
Implementation Details
- Surface-Aware Analyzer:
src/Scanner/__Libraries/StellaOps.Scanner.Reachability/Surfaces/SurfaceAwareReachabilityAnalyzer.cs-SurfaceAwareReachabilityAnalyzercombining reachability analysis with attack surface boundary information for confidence-tiered classificationsrc/Scanner/__Libraries/StellaOps.Scanner.Reachability/Surfaces/ReachabilityConfidenceTier.cs-ReachabilityConfidenceTierenum (Confirmed, Likely, Present, Unreachable)
- Boundary Proof Extractors:
src/Scanner/__Libraries/StellaOps.Scanner.Reachability/Boundary/IBoundaryProofExtractor.cs- Interface for extracting boundary proofs from different sourcessrc/Scanner/__Libraries/StellaOps.Scanner.Reachability/Boundary/CompositeBoundaryExtractor.cs-CompositeBoundaryExtractoraggregating proofs from multiple boundary sourcessrc/Scanner/__Libraries/StellaOps.Scanner.Reachability/Boundary/RichGraphBoundaryExtractor.cs-RichGraphBoundaryExtractorextracting boundaries from rich dependency graphssrc/Scanner/__Libraries/StellaOps.Scanner.Reachability/Boundary/GatewayBoundaryExtractor.cs-GatewayBoundaryExtractorextracting boundaries from API gateway configurationssrc/Scanner/__Libraries/StellaOps.Scanner.Reachability/Boundary/K8sBoundaryExtractor.cs-K8sBoundaryExtractorextracting boundaries from Kubernetes NetworkPolicy resourcessrc/Scanner/__Libraries/StellaOps.Scanner.Reachability/Boundary/IacBoundaryExtractor.cs-IacBoundaryExtractorextracting boundaries from Infrastructure-as-Code definitions
- Semantic Extensions:
src/Scanner/__Libraries/StellaOps.Scanner.Reachability/RichGraphSemanticExtensions.cs- Semantic extension methods for rich graph boundary analysis
- DI Registration:
src/Scanner/__Libraries/StellaOps.Scanner.Reachability/Boundary/BoundaryServiceCollectionExtensions.cs- DI registration for boundary extractors
E2E Test Plan
- Analyze a vulnerability with function-level reachability and HTTP boundary exposure and verify it is classified as "Confirmed" confidence tier
- Verify a vulnerability reachable in code but behind an API gateway with authentication is classified as "Likely" rather than "Confirmed"
- Verify a vulnerability present in the SBOM but not reachable in the call graph is classified as "Present"
- Verify boundary proofs from Kubernetes NetworkPolicy correctly restrict the attack surface assessment
- Verify the
CompositeBoundaryExtractoraggregates proofs from rich graph, gateway, K8s, and IaC sources into a unified boundary assessment - Verify confidence tier classification is deterministic for the same inputs