Coverage Ratio: The AppSec Metric That Exposes Your Validation Gap
Updated June 2026 — refreshed with a real engagement benchmark and the Validation Gap framing.
In a recent engagement with a global technology manufacturer, Staris validated an application carrying 590 scanner-flagged findings. In 7 hours and 12 minutes, it proved exactly 6 were actually exploitable — and cleared the other 584, with zero false positives. That gap — 590 "findings" your team would triage versus 6 proven-exploitable vulnerabilities that matter — is the Validation Gap, and your Coverage Ratio is how you put a number on it.
What is the Validation Gap?
TL;DR: The Validation Gap is the distance between the code you have shipped and the code you have actually proven to be exploitable or safe. Scanners widen it with unverified findings; point-in-time pentests leave it open for months. Closing it is the job of continuous validation.
Every release ships code faster than anyone validates it, and AI-generated code has pushed that velocity past what point-in-time testing can keep up with. A penetration test is a snapshot — accurate the week it is delivered, stale by the next sprint. A scanner runs constantly but proves nothing: it tells you what might be vulnerable, not what is. Both leave the same gap between "we tested" and "we know."
That gap is what Total Context Product Security is built to close — continuous validation that understands your business context, proves exploitability, and ships a code-level fix, at the pace you actually release.
What is the Coverage Ratio?
TL;DR: Coverage Ratio = Breadth × Frequency × Depth. It measures how much of your attack surface you validate, how often, and how deeply — turning a vague "are we covered?" into a number you can track and defend to your board.
Coverage has three dimensions:
- Breadth — how much of your real attack surface (apps, APIs, services) is tested, not just the flagship app.
- Frequency — how often you validate. Once a year is a number; once per release is a very different number.
- Depth — whether a finding is flagged or proven exploitable. A scanner alert is shallow; a reproduced exploit with steps is deep.
Expressed as a single score, each factor is a ratio between 0 and 1:

It is a product, not a sum. If any one dimension is near zero, the whole ratio is near zero — which is exactly why most programs score worse than they assume. In the engagement above, the scanner's 590 findings carried a Depth near zero until validation proved which 6 mattered.
Why do most programs score near zero?
TL;DR: Most programs max one dimension and ignore the rest. A scanner gives breadth with no depth (unproven findings); an annual pentest gives depth once a year (no frequency). Multiply them out and validated coverage is a rounding error.
Picture the common setup: a scanner across the whole estate (Breadth and Frequency high) — but every finding is unproven, so Depth rounds to zero, and so does the ratio. Or the inverse: a thorough annual pentest (Depth high) that runs once across 52 weeks of releases — Frequency near zero, ratio near zero.
This is why "we scan on every build" and "we pentest annually" can both be true while real coverage is negligible. The distance between findings and proven-exploitable is the part of coverage most dashboards cannot see — and it is where attackers live. Untested or unproven applications are Schrödinger's risk: they likely harbor exploitable vulnerabilities; you just have not observed them yet. And what you have not proven, you have not fixed.
What does a high Coverage Ratio look like?
TL;DR: All three dimensions non-trivial at once — the full attack surface, validated every release, with proof of exploitability for every finding. That is only feasible when validation is automated without losing rigor.
High Breadth means the APIs and secondary services get the same scrutiny as the marquee app. High Frequency means validation runs at release cadence, not on an annual calendar — feasible because Staris produces results in approximately 4 hours versus the ~40 an expert AppSec engineer needs. High Depth means every reported vulnerability arrives with evidence and reproduction steps, and business-logic flaws — the kind a scanner never catches — surface because the platform understands what the application is supposed to do. In one engagement, that depth meant proving 28 exploitable vulnerabilities, including 7 complex logic flaws, across 660,000 lines of code in roughly 24 hours of validation rather than 130+. Zero false positives is what makes the number trustworthy enough to act on.
How do you raise your Coverage Ratio without growing headcount?
TL;DR: Score each dimension honestly, then attack the weakest. For most teams that is Frequency and Depth — and the only way to raise both without hiring is to automate exploitation and verification, not just scanning.
- Measure it this quarter. For one critical app, estimate Breadth (% of surface tested), Frequency (validations per year), and Depth (share of findings actually proven). Multiply. Sit with the number.
- Raise Frequency by moving validation into CI/CD — release-aligned, not a once-a-year event. (More on this in why testing frequency matters.)
- Raise Depth by requiring proof. No finding counts toward coverage until it has been reproduced. "Potential" is not coverage.
- Prioritize by business context so the validation you can afford lands on what actually carries risk.
For consultants and partners, the same automation is what turns a fixed-headcount practice into 40:1 delivery efficiency — more validated coverage per engagement, without more pentesters.
My challenge to CISOs
Pick your most critical application and compute its Coverage Ratio this quarter — Breadth × Frequency × Depth. For most programs the number is uncomfortably small, and that number is your Validation Gap. If you want to see what proof-based coverage looks like across a real codebase — every finding exploit-proven, in hours — bring us your last scanner report or pentest. See how we work with AppSec leaders, or reach the team at sales@staris.tech.
Frequently asked questions
What is a Coverage Ratio in application security?
A Coverage Ratio quantifies how much of your attack surface is under effective security validation. It combines breadth (how much is tested), frequency (how often, relative to releases), and depth (whether findings are merely flagged or proven exploitable). Multiplied together, they yield a single score for your true coverage.
How is Coverage Ratio different from scan coverage?
Scan coverage counts what a tool looked at and flagged. Coverage Ratio counts what you have proven. A scanner can "cover" all of your code and still leave Depth near zero, because an unverified finding is not validated coverage — it is a to-do.
Why do most enterprises only validate a fraction of their apps?
Capacity. Manual penetration testing is slow and expensive, and skilled AppSec engineers are scarce. The fix is not more headcount — it is automating exploitation and verification so validation runs in hours and scales to the whole portfolio.
How does Coverage Ratio relate to the Validation Gap?
The Validation Gap is the unproven space between what you have shipped and what you have validated. Coverage Ratio is the metric that measures it. A low ratio is a wide gap; raising breadth, frequency, and depth closes it.


