Build your own vulnerability harness
19:59 · June 18, 2026 · Cloudflare AI Blog

We break down the technical architecture behind our multi-stage vulnerability discovery harness and automated triage loop. Learn how we manage state controls, squash false positives through adversarial review, and route around LLM context limits.
Summary
Cloudflare has developed a model-agnostic Vulnerability Discovery Harness (VDH) and Vulnerability Validation System (VVS) to turn an initial single-repository security-audit skill into a continuous, fleet-wide scanning pipeline. The approach treats large language models as interchangeable components rather than fixed dependencies, allowing different models to handle discovery and validation so that each finding is evaluated by distinct logic and training data. This design addresses the limits of standalone agents, which lose state when context windows fill and cannot maintain persistence or cross-reference findings across runs.
The VDH performs the core discovery work through a sequence of focused stages stored in a database and coordinated by an orchestrator. Reconnaissance agents first map architecture and threat vectors, after which hunter agents execute per-class attacks. Subsequent stages handle gap filling for under-tested code areas, dependency tracing across repositories, and feedback loops that rewrite prompts based on prior misses. State is externalized so each agent remains stateless, keeping context usage below 25 percent of the window and enabling resumability after interruptions. Cross-repo tracing follows the dependency graph to spawn tasks in consumer repositories, surfacing vulnerabilities at interfaces that single-repo scans miss.
Findings then move into the VVS, which runs on a separate model to perform deduplication, adversarial judgment, and mechanical validation before any report is generated. A validator agent attempts to disprove each candidate, while deterministic checks confirm schema adherence and line references. Surviving items proceed to automated triage and patching workflows. The separation of models provides an independent stress test that reduces false positives, and the overall pipeline collapses thousands of raw candidates into a small queue of actionable fixes.
Practical rollout began with a roughly 450-line skill that codified attacker scenarios and bug classes, then lifted each phase into dedicated agents with database-backed state. Metrics track real-world velocity through coverage across attack classes and repositories, as well as the ratio of validated findings that reach human review. The architecture remains language-agnostic because it operates on higher-level logic rather than syntax-specific parsers, allowing the same harness to scan Rust, Go, TypeScript, and other codebases without per-language customization.
Why it matters
Directly actionable for Dutch security teams building or adapting AI security pipelines; addresses core security risks of AI agents in vulnerability discovery and offers concrete mitigation patterns relevant under EU contexts.








