| name | finding-verifier |
| description | Verify vulnerability findings using independent replay, confounder control, and strict acceptance criteria. |
Finding Verifier
Purpose
Ensure reported findings are accurate, reproducible, and correctly classified.
Inputs
finding_report
evidence_bundle
environment_notes
Verification Workflow
Phase 1: Evidence Integrity
- Verify artifact completeness and timestamps.
- Verify request-response pairing and context consistency.
Phase 2: Independent Replay
- Reproduce with original method.
- Reproduce with alternate method when possible.
- Compare behavior consistency.
Phase 3: Confounder Analysis
- Caching and stale session effects.
- Timing and infrastructure noise.
- Seed-data drift and race artifacts.
Phase 4: Final Status
confirmed if replayable with clear impact.
disputed if strong counter-evidence exists.
inconclusive if unresolved blockers remain.
Acceptance Criteria by Class
| Class | Confirmed Requires |
|---|
| Injection | parser/engine effect + attacker control |
| XSS | controlled script execution in target context |
| Authz | unauthorized action/object access proven |
| SSRF | outbound request influence or protected target reach |
Output Contract
{
"verification_status": [],
"replay_results": [],
"confounder_notes": [],
"required_follow_up": []
}
Constraints
- Do not confirm from single unstable run.
- Do not dispute on intuition alone.
Quality Checklist
Detailed Operator Notes
Consistency Rules
- Normalize terminology before scoring or chaining.
- Separate prerequisite uncertainty from exploit uncertainty.
- Treat environmental blockers independently from mitigation strength.
Risk Scoring Inputs
- attacker starting privilege
- required chain length
- probability of reliable execution
- blast radius if successful
Prioritization Output
immediate: low-effort high-impact chains/findings.
next: moderate effort with clear payoff.
watch: plausible but currently low confidence.
Reporting Rules
- Include one-line executive summary per chain/finding.
- Include exact blocker needed to move an inconclusive item forward.
- Include confidence rationale in plain technical language.
Quick Scenarios
Scenario A: Access Check Placement
- Trace data fetch point.
- Trace policy check point.
- Determine whether check occurs before use.
- Identify alternate path without check.
Scenario B: Sanitization Mismatch
- Map sink execution context.
- Map sanitizer type and location.
- Validate context compatibility.
- Find branch that bypasses sanitizer.
Scenario C: Adjacent Pattern Sweep
- Identify sibling handlers/sinks.
- Compare guard and validation parity.
- Flag inconsistent control patterns.
- Prioritize high-impact siblings.
Conditional Decision Matrix
| Condition | Action | Evidence Requirement |
|---|
| Finding signal unstable | downgrade confidence and add retest plan | repeated run variance log |
| Chain link missing prerequisite | split chain and mark dependency blocker | prerequisite graph |
| Impact appears low in isolation | evaluate chain amplification paths | chain-level impact narrative |
| Mitigation claim is partial | verify alternate path and state variants | mitigation bypass check |
| Environment blocker dominates | classify inconclusive with unblock requests | blocker evidence |
Advanced Coverage Extensions
- Add attack-path branching for multiple privilege starting points.
- Add defender-detection assumptions and likely monitoring signals.
- Add rollback/cleanup verification after proof steps.
- Add business-impact mapping to concrete assets and workflows.
- Add reproducibility score based on run-to-run consistency.