Research21 min read

Open Finding State Staleness Economics: Pricing the Carrying Cost Per State

An open vulnerability finding is not a static cost line. It is a state machine, and each state in that machine carries a different per-day cost, a different staleness signature, and a different intervention path. Programmes that report only open versus closed lose the state distribution that drives most of the carrying-cost variance. Programmes that price staleness per state catch the bottleneck before it accumulates into a management-letter finding at audit time.3,4,5,6,7,9

This research reads carrying cost from inside the engagement record across six common open-finding states: open and untriaged, triaged but unowned, owned but unstarted, in progress, awaiting verification, and awaiting administrative closure. It names the per-state cost stack, the dominant cost component each state produces, the relationship between state-resident time and finding age, the six paired metrics that survive audit scrutiny, the framework citations that pin the floor (PCI DSS 6.3.3 and 11.3, ISO 27001 A.8.8, SOC 2 CC7.1 and CC7.4, NIST SP 800-53 RA-5 and SI-2, NIST CSF 2.0 ID.RA and PR.PS and RS.MI, CIS Controls v8.1 7.7, DORA Articles 5 and 28, HIPAA 164.308), and the live-record discipline that keeps per-state staleness reporting reproducible across reporting cycles.1,3,4,5,6,7,9,10,16

Why staleness is not the same as age

Most enterprise vulnerability programmes report finding age (elapsed wall-clock time since the finding was opened) and produce SLA dashboards against the age figure. The age figure is operationally useful for high-level reporting but conceals the state distribution that drives most of the per-finding carrying cost. Staleness is not the same as age. Staleness is the elapsed time the finding has spent in its current state without progress. A finding can be old but not stale (a confirmed exception sitting on its renewal cadence), and a finding can be young but stale (a 7-day finding that has been in awaiting-verification for 6 days because the retest queue is blocked).

Reading staleness as a state-resident time rather than as wall-clock age produces a more accurate read of where the carrying cost is concentrated. Two findings with identical wall-clock age can have radically different cost shapes if one is sitting in triage and the other is sitting in awaiting-closure; the interventions that lower the cost are different in each case. Reading both signals together (age plus per-state resident time) lets the programme answer two distinct questions: how long the finding has been in the system, and where in the system it is currently stuck.12,15

Context on the wall-clock-age side of the picture is covered in the aging pentest findings research (which reads the age decay shape on pentest-archetype findings specifically) and in the SLA breach aging distribution research (which reads the age distribution across SLA bands). This research reads the orthogonal dimension: the per-state cost shape that age figures do not surface. The per-severity-band axis (how the band composition of the open portfolio shifts across reporting moments and which of the four drivers (remediation throughput, reclassification, exception expiry, fresh ingest) moved the mix) lives on the severity mix shift economics research; reading per-state alongside per-band closes the decomposition that single-number reporting collapses.30

The six common open finding states

Six states cover the bulk of the open finding lifecycle in enterprise programmes. The exact names vary by programme, but the underlying transitions are stable. Each state has its own actors, its own unblockers, and its own per-day carrying cost; the state machine is the structural picture that open-count reporting collapses into one number.8,11,12

StateWhat it meansResponsible function
1. Open and untriagedFinding captured but not yet validated for severity, scope, or duplicate status.Triage analyst, AppSec engineer, or security operations.
2. Triaged but unownedFinding validated but no engineer or team assigned for remediation.Routing rule, team management, or escalation function.
3. Owned but unstartedOwnership has landed but remediation work has not begun.Named owner; capacity planning, change windows, blockers.
4. In progressActive engineering: design, implementation, review, testing, deployment.Engineering team and the deployment pipeline.
5. Awaiting verificationFix has shipped; retest has not yet confirmed closure.Verification function (security testing, scan operations, retest queue).
6. Awaiting administrative closureRetest passed; closure record has not been signed off.Programme owner, GRC, or compliance closure function.

Each state produces its own cost stack signature. The next six sections walk each state through its dominant cost components, the operational shape of the work that lives in it, and the intervention path that lowers the cost without compromising the closure record. The states are not strictly linear in every programme; some programmes loop findings back to triage after an investigation reveals scope changes, and some programmes hold a separate exception state outside the open lifecycle. The frame is robust to these variations because the per-state cost shape is a property of what the state contains, not of where it sits in the graph.

State 1: open and untriaged

Open and untriaged findings carry a carrying-cost stack dominated by context-loss cost, false-positive risk cost, and audit-defensibility cost. The finding has been captured (from a scanner run, a pentest report, a bug-bounty submission, a self-attestation, a threat-intel feed, or a supply-chain advisory) but no triage analyst has yet validated severity, ruled out duplicates, or confirmed scope. The carrying cost compounds per day the finding sits in this state.3,4,6,12

Cost componentHow it compoundsIntervention path
Context-loss costScanner version, target version, authentication context, pentest narrative degrade in clarity over time.Triage SLA tied to inflow rate; intake hygiene rules that capture context at the point of capture.
False-positive risk costUnvalidated finding consumes triage capacity each time it surfaces on a dashboard or report.Severity calibration at intake; duplicate suppression rules; false-positive override discipline.
Audit-defensibility costUntriaged findings older than the programme-defined triage window show up at audit as intake hygiene gaps.Documented triage SLA; named triage analyst role; activity log on triage decisions.

The dominant intervention on this state is to fund triage capacity that matches inflow rather than treat triage as overhead. Programmes that under-fund triage absorb the cost as accumulating untriaged backlog that compounds over time, and pay it back at audit fieldwork when the auditor reconstructs the intake chain. The vulnerability finding intake use case covers the operational discipline that holds the intake state aligned to the live engagement record.

State 2: triaged but unowned

Triaged but unowned findings carry a carrying-cost stack dominated by routing-failure cost and exposure-window cost. The finding has been validated (severity confirmed, scope confirmed, duplicate check passed) but no engineer or team has been assigned for remediation. This state is often invisible in open-count reporting because the finding has technically passed triage; reading it as a separate state with its own staleness signature surfaces a workflow-design gap that aggregate metrics conceal.7,11,12

Cost componentHow it compoundsIntervention path
Routing-failure costValidated finding without a named owner; repeated triage meetings re-debate the same finding.Routing rules that produce a named owner at triage; unowned-queue surfaced as a separate metric.
Exposure-window costUnderlying technical exposure persists while ownership is debated; highest on critical and high severities.Triage-to-ownership SLA that closes the routing gap; escalation path to security leadership.
Escalation costRepeated routing debates consume security leadership capacity instead of remediation capacity.Documented escalation tree; named tie-breaker; routing rules that catch ambiguous assets at intake.

The dominant intervention on this state is to surface unowned-queue length as a board-level metric and to close routing ambiguity at triage time rather than after. Programmes that report unowned-queue length tend to drive it toward zero quickly because the metric exposes the workflow-design gap directly. Context on the ownership decay side of the picture is covered in the security finding ownership decay research.29

State 3: owned but unstarted

Owned but unstarted findings carry a carrying-cost stack dominated by scheduling-conflict cost and dependency-blocker cost. The named owner has the finding on the backlog but cannot start because of a named blocker: a competing engineering commitment, a change-window restriction, an upstream dependency, a vendor patch awaiting release, or an architectural decision pending. The cost shape here is a capacity-planning question more than a workflow question.7,8

Cost componentHow it compoundsIntervention path
Scheduling-conflict costNamed owner has the finding but is committed to other engineering work; the finding waits for capacity.Capacity planning against remediation SLA; ringfenced remediation hours per team per cycle.
Dependency-blocker costUpstream dependency (change window, vendor patch, coordinated release) must land before work can begin.Named blocker on the finding; dependency-tracked unblock dates; explicit hold-state distinct from unowned.
Architecture-decision costRemediation requires an architectural call that sits outside the named owner's authority.Documented escalation to security architecture; decision-by date on the finding record.

The dominant intervention on this state is to surface the unstarted queue with the named blocker attached, so the programme reads whether the bottleneck is engineering capacity or external coordination. Programmes that report unstarted-queue length without the named blocker conflate two distinct problems and apply uniform interventions that do not lower the right cost. The security engineering handoff latency research covers the handoff segment between ownership and start that absorbs much of the unstarted-state latency.33

State 4: in progress

In-progress findings carry a carrying-cost stack dominated by work-in-progress cost and stage-cycle-time cost. The named owner is actively working the finding: designing the fix, implementing it, running it through code review, validating it in test environments, and shipping it to production. Work-in-progress cost is the inventory analogue from manufacturing where capacity is tied up on unshipped work; in engineering programmes this is real because engineer-hours on unshipped fixes cannot be deployed against other work.8,12

Cost componentHow it compoundsIntervention path
Work-in-progress costEngineer capacity tied up on an unshipped fix; capacity unavailable for other work until shipped.In-progress SLA per severity band; surfaced WIP limits; engineer-level WIP visibility.
Stage-cycle-time costPer-day cost of the fix sitting in design, review, test, staging, or deployment without crossing the line.Stage-level cycle-time reporting; identification of lock-step bottlenecks (single reviewer, flaky test, deployment gate).
Context-switch costLong in-progress periods force engineers to re-load context each time they pick the work back up.Smaller fix scope; explicit pause-state distinct from in-progress; named hand-back rule when work pauses.

The dominant intervention on this state is to surface stage-cycle-time per finding (design, review, test, staging, production) rather than reporting only in-progress count. Programmes that adopt stage-cycle-time reporting tend to catch lock-step bottlenecks (a single reviewer becoming the system bottleneck, a flaky test suite becoming a deployment gate) before they accumulate into pipeline-wide cycle-time inflation. Context on the cycle-time stages that shape this state is covered in the vulnerability remediation throughput research.26

State 5: awaiting verification

Awaiting-verification findings carry a carrying-cost stack dominated by retest-queue cost and unverified-closure cost. The fix has shipped to production (or to the relevant deployment surface) but retest has not confirmed that the original exploit path or detection vector is now blocked. This state is a frequent hidden bottleneck because the engineering team has moved on to other work and the verification queue is owned by a separate function. Findings sit here until a verification cycle runs.3,4,5,22

Cost componentHow it compoundsIntervention path
Retest-queue costDeployed fix sits in the verification queue without being confirmed closed; verification capacity is a separate constraint.Awaiting-verification surfaced as a separate metric; verification capacity paired to remediation capacity.
Unverified-closure costAudit-defensibility risk of carrying findings as administratively or partially closed without retest evidence.No closure without retest evidence rule; retest evidence captured on the finding record; framework citation on verification.
Re-emergence risk costFindings closed without verification re-appear on later scans or pentests, inflating the apparent reopen rate.Retest tied to the same engagement record; closure evidence linked to the original finding identity.

The dominant intervention on this state is to surface awaiting-verification queue length as a separate operational metric and to pair verification capacity with remediation capacity so the verification queue does not become a hidden bottleneck. The retest cost decomposition research covers the verification-cycle cost shape that compounds per day in this state, and the vulnerability fix verification fidelity research covers the proof-of-fix patterns that make verification durable rather than ceremonial.28

State 6: awaiting administrative closure

Awaiting-closure findings carry a carrying-cost stack dominated by administrative-tail cost and reporting-distortion cost. The finding is technically remediated, technically verified, and waiting for the closure record to be signed off (typically by the programme owner, the GRC function, or a compliance closure function). This state is overlooked in many programmes because the technical work is done and attention has moved on; the cost shows up in distorted leadership dashboards and inflated open counts.3,4,5,7

Cost componentHow it compoundsIntervention path
Administrative-tail costFinding remediated and verified but not signed off; consumes administrative capacity each reporting cycle.Administrative closure SLA; automated closure trigger when retest passes; closure-batch cadence aligned to reporting cycle.
Reporting-distortion costFunctionally-closed findings carried as open inflate open count, drag median age, and produce a worse remediation picture than warranted.Awaiting-closure surfaced as a distinct queue; leadership dashboards exclude awaiting-closure from open count.
Compliance lag costFrameworks expect timely closure documentation; deferred administrative closure can read as deferred remediation at audit.Closure evidence and timestamp captured at retest pass; administrative sign-off as a documented but bounded step.

The dominant intervention on this state is to define an administrative-closure SLA that pulls findings off the open queue once retest passes, and to surface awaiting-closure queue length as a separate metric. Programmes that batch administrative closure into quarterly clean-ups under-report remediation throughput in the intervening period and produce leadership dashboards that the technical state does not warrant.

How state distribution shifts as programmes mature

State distribution shifts predictably as remediation programmes mature. Reading the state distribution alongside the programme maturity stage produces a more accurate read of where to invest than reading open-count alone. The mature programme is not the one with zero open findings; it is the one whose state distribution moves predictably from intake through closure without bunching in any single state.7,12

Programme stageDominant concentrationBinding constraint
Early stageOpen and untriaged; intake outpaces triage capacity.Triage capacity; intake hygiene rules.
Building triageTriaged but unowned; triage clears but routing lags.Routing rules; ownership model; team management.
Building routingOwned but unstarted; ownership lands but capacity is the binding constraint.Capacity planning; ringfenced remediation hours; dependency tracking.
Building capacityIn progress; work begins promptly but pipeline cycle time is long.Stage-level cycle-time discipline; smaller fix scope; pipeline unblockers.
Building deliveryAwaiting verification; fixes ship but verification queue is the bottleneck.Verification capacity; retest tied to deployment; closure-evidence rule.
Building verificationAwaiting administrative closure; verification clears but closure sign-off lags.Administrative-closure SLA; automated closure trigger; reporting-cycle alignment.
MatureEven distribution; no single state bunches; cycle time predictable per state.Continuous capacity-vs-inflow calibration; per-state SLA monitoring.

The maturity model surfaces the diagnostic value of per-state staleness reporting. The same programme with the same open-count number can sit at any stage on this ladder depending on where the concentration is. Programmes that report open-count alone do not see which stage they are at; programmes that report per-state resident time read the stage directly from the data. Context on the broader programme maturity dimensions is covered in the vulnerability management programme maturity model research.

Six paired metrics for state-aware reporting

Six paired metrics outperform open-count-only reporting and survive audit scrutiny. The metrics work because they read the cost shape against the operational outcomes the cost is buying; each metric surfaces a different facet of the per-state staleness picture and the six together produce a state-aware operational read that a single open-count debate cannot replicate.1,3,4,7,9,11,12

MetricWhat it readsDiagnostic value
Per-state median resident timeHow long the typical finding sits in each state.Surfaces the headline per-state cadence; baseline read.
Per-state P90 resident timeThe tail behaviour in each state; how long the slowest 10 percent take.Surfaces outliers concentrated in one state; exposes the binding bottleneck.
Per-state inflow versus outflow rateHow fast findings enter versus leave each state per period.Surfaces converging or diverging states; flags growing per-state backlogs early.
Per-state SLA breach ratePercent of findings that exceed the per-state SLA target.Surfaces whether the per-state cadence the programme committed to is being met.
Per-state exception rateShare of findings that exit a state via exception rather than progression.Surfaces where risk acceptance is absorbing the variance state by state.
Per-state reopen rateFindings closed via this state that re-open within 90 days.Surfaces durability of closures per state; flags shallow remediation paths.

The six paired metrics read the cost shape against the operational outcomes the cost is buying. Programmes that adopt the frame replace the single open-count debate with a state-aware operational picture that the audit chain reads against state by state rather than as an undifferentiated population.

Framework citations on state-level documentation

Most enterprise frameworks expect documented progression through state-specific stages of vulnerability handling rather than only open-versus-closed status. The framework citations pin the floor on state-level documentation. Per-state staleness reporting does not replace the citations; it surfaces where the programme is funding the documentation discipline the citations expect, state by state.3,4,5,6,7,9,10,16

FrameworkCitationState-relevant expectation
PCI DSS v4.0Requirement 6.3.3 and 11.3Timely remediation with documented progression; retest evidence of resolved high-risk vulnerabilities.
ISO 27001:2022Annex A 8.8Management of technical vulnerabilities including identification, evaluation, remediation, and verification phases.
SOC 2CC7.1 and CC7.4Identification and remediation of security events with documented evidence; incident response and recovery procedures.
NIST SP 800-53 Rev 5RA-5 and SI-2Vulnerability monitoring with documented remediation; flaw remediation with documented status across stages.
NIST CSF 2.0ID.RA, PR.PS, RS.MIRisk assessment across identified vulnerabilities; platform security including patching; incident mitigation across the lifecycle.
CIS Controls v8.1Safeguard 7.7Remediation of detected vulnerabilities with documented closure across the remediation cycle.
DORAArticles 5 and 28ICT risk management with documented stages; ICT third-party risk management with documented progression.
HIPAA164.308(a)(1)(ii)(B)Risk management including documented verification of risk treatment across each phase.

The pattern is consistent: each framework expects the closure record to read as a documented progression across stages rather than as a binary open-or-closed status. Programmes whose finding records read state-by-state can answer the audit question (which state the finding was in, when it transitioned, who owned it, what evidence supports the transition) from one record. Programmes whose finding records collapse state history into a generic remediation status pay the cost back at audit fieldwork when the auditor reconstructs state-specific evidence at a higher rate per closure than the original capture would have cost.

For vulnerability management, AppSec, internal security, and security engineering teams

The per-state staleness frame has different operating implications across the audience layers that read against the same finding population.

  • Record finding state explicitly on the engagement record alongside severity, owner, evidence, and status, so per-state resident time is reproducible from the live record rather than reconstructed from spreadsheets.
  • Report per-state resident time alongside finding age; the two signals answer different questions and the difference is diagnostically valuable.
  • Budget triage capacity against scanner-archetype inflow; the open-and-untriaged state absorbs intake hygiene cost faster than any other state.
  • Budget routing rules against the triaged-but-unowned state; ownership ambiguity at triage produces routing-failure cost that compounds quickly.
  • Budget capacity planning against the owned-but-unstarted state; surface named blockers on the finding so the unstarted queue reads against the constraint rather than against the queue length.
  • Budget verification capacity against the awaiting-verification state; this state is a frequent hidden bottleneck because the verification queue is owned by a separate function.
  • Define administrative-closure SLA against the awaiting-closure state; pull findings off the open queue once retest passes rather than batching closures into quarterly clean-ups.
  • Pair every finding to the same engagement record regardless of source so per-state cost decomposition is reproducible at any moment.

For vulnerability management teams, AppSec teams, internal security teams, product security teams, and security engineering teams, the operating commitment is to keep the state field, the state-transition history, the actor, the timestamp, and the closure evidence on the same engagement record across the lifecycle. The remediation tracking use case covers the operational discipline that holds each transition aligned to the live record, and the vulnerability SLA management use case covers the SLA-per-state reporting pattern that pairs to per-state staleness.

For security leadership and audit committees

Security leaders and audit committees read remediation through the defensibility lens. The leadership question is not how many findings are open; it is which state those findings are concentrated in and whether the per-state cadence the programme committed to is being met. Per-state staleness reporting is the operational discipline that surfaces this picture before it accumulates into a management-letter finding at audit time.

  • Read per-state median and P90 resident time, per-state inflow versus outflow, per-state SLA breach, per-state exception rate, and per-state reopen rate together as one state-aware programme picture rather than as separate operational metrics.
  • Investigate state concentrations that mismatch the programme maturity stage; the concentration is usually a constraint the programme has not yet built capacity against.
  • Pair the per-state staleness report with the framework citations the audit chain reads against; the cost frame surfaces where the documentation discipline is funded state by state.
  • Tie per-state reporting to the same engagement record the audit evidence comes from so the leadership read and the audit read are the same record rather than two reports.

The leadership-side platform discipline that supports this is covered on SecPortal for CISOs and security leaders, which describes how findings, remediation, exceptions, and reporting hold the defensible read of programme health state by state rather than only at quarterly review week.

How SecPortal supports per-state staleness reporting

SecPortal pairs every finding to the same engagement record where state, severity, owner, evidence, and status sit together. The state field, the state-transition history, the actor, and the timestamp are captured on the finding model and exposed through the activity log so per-state resident time is reproducible from the live record rather than reconstructed from spreadsheets.17,23

  • Findings management records the finding state alongside CVSS 3.1 vector, severity band, owner, evidence, and remediation status so per-state staleness reads against the actual record.
  • Bulk finding import accepts Nessus (.nessus), Burp Suite (.xml), and CSV with custom column mapping so imported findings enter the same state machine workspace-native findings traverse.
  • Authenticated scanning, external scanning, and code scanning produce findings that enter the same lifecycle and traverse it the same way as manually added findings.
  • Retesting workflows hold the awaiting-verification state as a first-class state and carry closure evidence through to administrative closure rather than collapsing verification into the closure decision.
  • Activity log captures every state change with named actor, timestamp, and entity reference and exports to CSV so per-state resident time is reproducible.
  • Finding overrides (false positive, accepted risk, severity adjustment, category revision) sit as captured decisions on the finding so the per-state staleness picture reads against the actual operating record rather than against an inferred trail.
  • Compliance tracking across framework templates carries the state-transition mapping so the audit chain reads against the live state history.

The platform does not pick the per-state SLA targets for the programme, does not auto-classify states into categories, and does not push to ticketing systems. It keeps every finding on one live engagement record so per-state staleness reporting is reproducible at any moment between reporting cycles, and the audit fieldwork reads against the live record rather than against a reconstructed state-by-state trail.

Conclusion

An open vulnerability finding is a state machine, not a static cost line. The six common states (open and untriaged, triaged but unowned, owned but unstarted, in progress, awaiting verification, awaiting administrative closure) carry six different cost shapes, six different staleness signatures, and six different intervention paths. Reading staleness as state-resident time rather than as wall-clock age produces a more accurate read of where the carrying cost is concentrated and which constraint is binding at the current programme maturity stage.

Treating per-state staleness as the operating discipline rather than treating open-count as the headline metric is the highest-leverage move for defensible vulnerability state reporting and audit-ready closure records. The platform you use does not have to set the per-state SLA targets for the programme. It does have to keep the state field, the state-transition history, the actor, the timestamp, the closure evidence, and the framework mapping on one engagement record so per-state staleness is reproducible at any moment between reporting cycles and the audit fieldwork reads against the live record rather than against a reconstructed state-by-state trail.

Frequently Asked Questions

Sources

  1. CISA, Binding Operational Directive 22-01: Reducing the Significant Risk of Known Exploited Vulnerabilities
  2. CISA, Known Exploited Vulnerabilities Catalog
  3. PCI Security Standards Council, PCI DSS v4.0 (Requirement 6.3.3 and 11.3)
  4. ISO/IEC 27001:2022 Annex A 8.8 Management of Technical Vulnerabilities
  5. AICPA, SOC 2 Trust Services Criteria (CC7.1 and CC7.4)
  6. NIST, SP 800-53 Revision 5 (RA-5, SI-2)
  7. NIST, Cybersecurity Framework (CSF) 2.0 (ID.RA, PR.PS, RS.MI)
  8. NIST, SP 800-40 Rev. 4 Guide to Enterprise Patch Management Planning
  9. CIS, Critical Security Controls v8.1 (Safeguard 7.7)
  10. European Union, Digital Operational Resilience Act (DORA) Articles 5 and 28
  11. NCSC, Vulnerability Management Guidance
  12. OWASP, Vulnerability Management Guide
  13. FIRST, Common Vulnerability Scoring System (CVSS) Specification
  14. FIRST, Exploit Prediction Scoring System (EPSS)
  15. CMU SEI, Stakeholder-Specific Vulnerability Categorization (SSVC)
  16. HHS, HIPAA Security Rule Risk Management 164.308(a)(1)(ii)(B)
  17. SecPortal, Findings Management
  18. SecPortal, Bulk Finding Import
  19. SecPortal, Authenticated Scanning
  20. SecPortal, External Scanning
  21. SecPortal, Code Scanning
  22. SecPortal, Retesting Workflows
  23. SecPortal, Activity Log
  24. SecPortal, Compliance Tracking
  25. SecPortal, Finding Overrides
  26. SecPortal Research, Vulnerability Remediation Throughput
  27. SecPortal Research, Remediation Economics by Finding Source Archetype
  28. SecPortal Research, Retest Cost Decomposition
  29. SecPortal Research, Security Finding Ownership Decay
  30. SecPortal Research, SLA Breach Aging Distribution
  31. SecPortal Research, Security Debt Economics
  32. SecPortal Research, Vulnerability Reopen Rate
  33. SecPortal Research, Security Engineering Handoff Latency

Run per-state staleness on the live engagement record

SecPortal pairs every finding to the same engagement record where the state, the transitions, the owner, the evidence, the timestamp, and the framework mapping live together so per-state staleness reporting is reproducible at any moment.