Design Partner Program
Home/Blog/Exploitability validation
HAYROK LABS RESEARCH NOTE HL-RN-2026-01

How to validate whether a vulnerability is actually exploitable

Your scanner says it is there. That is not the same as an attacker being able to use it. Here is a five-gate test that tells the two apart, with evidence you can hand to engineering.

Nov 2, 2026 @Melly 9 min read
ABSTRACT

A vulnerability scanner answers one question: is a vulnerable version present? Attackers answer a different one: can I reach it, trigger it and get something for it?

In this note we treat exploitability as a chain of five conditions that all have to hold in your environment, then walk through a governed way to test each one and land on a verdict backed by evidence. The payoff: you stop ranking findings by theoretical severity and start ranking them by proven reachability and impact.

Key findings

INITIAL ACCESS BY EXPLOIT
31%
Exploitation is now the leading way breaches begin, up from 20% a year earlier and ahead of stolen credentials for the first time.
KEV FULLY REMEDIATED, 2025
26%
Down from 38%. Median time to full resolution rose from 32 to 43 days.
EXPLOITED SHARE OF CVES
~1.4%
495 newly exploited vulnerabilities in 1H 2026. CVE volume grew 45%, exploited CVEs only 10%.
EXPLOITED ON OR BEFORE DAY 0
23.43%
Of exploited vulnerabilities showed exploitation on or before the day the CVE was published.

Put those numbers side by side and you get an awkward paradox. Most findings will never be exploited, yet the few that are get exploited fast. A team that treats every critical as urgent drowns. A team that waits for a KEV listing is often too late.

The way out? Prove exploitability in your own environment, and do it quickly.

Why present is not exploitable

Here is the catch. Every common severity signal leaves out the one thing that actually decides exploitability: your environment.

CVSS base score
Describes the worst case for the vulnerable component in isolation. It does not know whether the component is internet facing, behind authentication or never loaded.
EPSS
Estimates the probability a CVE will be exploited somewhere in the next 30 days. A strong population signal. It cannot say whether exploitation would succeed against your build, configuration and controls.
KEV listing
Confirms that someone, somewhere, was exploited. It arrives after the fact and says nothing about your reachability.
SBOM and image scans
Report what is packaged. Packaged code is often never executed. A vulnerable class the application never loads is inventory, not exposure.

So you end up with a backlog that measures what is installed, not what is attackable. Every time an "urgent" ticket turns out to be unreachable, security loses a little credibility with engineering. Engineering learns to discount the next one, including the one that matters.

The five-gate exploitability test

Think of it as a run of locked doors. Each gate either passes the finding through or ends the test with a named verdict. Only a finding that clears all five earns a fix-now ticket.

SCANNER FINDING IN, VERDICT OUT
G1
Presence at runtime
Is the vulnerable code loaded and executed?
FAIL →Not exploitable here
G2
Reachability
Can attacker input travel from an entry point to the vulnerable function?
FAIL →Not exploitable here
G3
Preconditions
Does the configuration the exploit needs actually hold?
FAIL →Not exploitable here
G4
Safe trigger
Does a non-destructive payload prove the flawed behavior?
FAIL →Not exploitable here
G5
Control survival and reach
Does it survive every control, and what does it reach next?
HELD →Exploitable but contained
ALL FIVE PASS Exploitable with reach. Fix now, then validate the fix.
Evidence incomplete at any gate: Undetermined. Escalate for manual testing rather than guessing.

The method: run the five gates in order

Order matters. A finding is exploitable only when all five gates pass, and the first gate that fails ends the test. That is a feature, not a shortcut: the reason it failed becomes part of the record.

01

Presence at runtime

Confirm the vulnerable code is loaded and executed, not just packaged. Compare the image or package manifest with the running process, its loaded libraries and its observed call traces.
02

Reachability

Confirm attacker-controlled input can travel from a realistic entry point to the vulnerable function. Trace three paths: the network path, the authentication boundary and the code path from input to sink.
03

Preconditions

Check the configuration the exploit depends on: feature flags, deployment mode, protocol options and required privileges. Many critical CVEs need a non-default setting. Record the setting either way, because a later change can reopen the gate.
04

Safe trigger

Prove the flawed behavior with a non-destructive payload inside an approved scope. Good proofs include an out-of-band callback, a version-specific response or the read of a planted canary value. No production data is touched and nothing persists.
05

Control survival and reach

Repeat the trigger with every control in the path, such as the WAF, EDR, segmentation and identity policy. Then measure what a successful trigger would reach next: identities, data stores and adjacent hosts.

Four verdicts, not two

"Vulnerable or not" sounds tidy, but it hides the decisions engineering actually has to make. So the method gives you four verdicts instead.

Exploitable with reach
All gates pass and the trigger opens a path toward something valuable. Fix now and validate the fix.
Exploitable but contained
The trigger works but a control stops the next step. Fix on standard SLA and revalidate whenever that control changes.
Not exploitable here
A named gate failed, with evidence attached. Suppress the ticket and attach a revalidation trigger to the gate that failed.
Undetermined
Evidence is incomplete. Escalate for manual testing rather than guessing.

Guardrails that make validation safe

Let us be plain about it: exploitability testing is offensive activity. It deserves the same governance as any production change.

Written scope

Named assets, an approval window and an owner.

Non-destructive payloads only

With a kill switch and a full action log.

Execution from inside

An isolated runner inside the network, so no traffic leaves your perimeter.

Tamper-evident evidence

Stored in a record an auditor can replay.

How to measure the outcome

How do you know it is paying off? Track these five metrics, and break each one down by scanner source so you can see which feeds generate the most noise.

Validated exploitability rate
The share of critical and high findings that pass all five gates.
Time to verdict
Hours from a new finding to a verdict. Aim to beat the exploitation window, starting with KEV-listed CVEs.
False urgency rate
The share of findings escalated as critical that later close as not exploitable.
Fix verification rate
The share of fixes proven closed by rerunning the same trigger.
Time to remediate validated findings
Compare it with your overall median. It should be far shorter.

How Hayrok approaches exploitability validation

Hayrok runs the five-gate test as governed adversarial exposure validation (GAEV). Findings from the scanners you already own are the input.

GATES 1 + 2
CodeFabrics supplies runtime reachability for application code.
GATES 3 + 4
Genesis plans and executes safe triggers through a Private Runner inside your network.
GATE 5
AGIE, the Attack Graph Intelligence Engine, places each confirmed finding in the attack graph.
EVERY STEP
Writes to the Evidence Fabric under an Evidence Contract, which defines in advance what counts as proof.
RANKING
The Hayrok Risk Engine ranks the backlog by validated reach rather than base score.

The point is not more findings. It is fewer, better ones that engineering actually trusts. For the workflow that turns these verdicts into tickets, read How to Prove a Security Finding Is Exploitable Before Remediation.

FAQ

What is the difference between a vulnerability and an exploitable vulnerability?

A vulnerability is a flaw in code or configuration. It is exploitable only when the flawed code runs, attacker input can reach it, its preconditions hold, it can be triggered and no control stops it in your environment.

Does a high CVSS score prove a vulnerability is exploitable?

No. CVSS base scores describe the component in isolation. They do not know whether the code is loaded, exposed or protected in your environment.

Can EPSS replace exploitability validation?

No. EPSS predicts the chance of exploitation somewhere in the next 30 days. It is a useful filter for what to validate first, not a verdict about your systems.

Is it safe to validate exploitability in production?

Yes, when the test is governed. Use approved scope, non-destructive payloads, a kill switch, internal execution and a full action log.

How often should exploitability be revalidated?

Revalidate on change: a new deployment, a configuration change, a control change or a new exploit technique. Add a scheduled pass for everything marked contained.

Does exploitability validation replace patching?

No. It decides the order of patching and proves that each patch actually closed the exposure.

See a verdict on your own findings

Bring one critical finding from your current backlog. We will run the five gates with you and show the evidence behind the verdict.

At Hayrok Labs we question everything and Validate what matters.

KEEP READING