Visa Vulnerability Agentic Harness (VVAH)
VVAH (vvaharness) is Visa's open-source Python harness for autonomous vulnerability discovery, remediation, and validation using frontier AI models (Apache 2.0, v1.1.0). Built on learnings from Anthropic's Project Glasswing, it runs as a four-phase, eleven-stage pipeline from code ingest to validated fix, with SQLite checkpointing for resume.
The four phases: Discovery & Modeling (agentic repo exploration, STRIDE threat modeling, prioritized task decomposition); Deep Dive & Verification (per-chunk analysis with optional majority voting, deterministic pre-filtering, adversarial verification where a fresh agent tries to prove each finding wrong); Synthesis & Reporting (two-pass dedup, exploit-chain construction, SARIF 2.1.0 export); and Remediation & Validation (per-finding fix proposals with CWE/language-specific playbooks, and an adversarial validation panel of security-architect, penetration-tester, and cross-repo-analyzer agents).
The pipeline's central philosophy is "the LLM proposes, the pipeline verifies."
Every LLM output is gated by deterministic checks — the file inventory comes
from rglob(), agent-emitted call graphs are validated and supplemented with
regex scans, and adversarial verification explicitly instructs a fresh agent to
refute each finding. Multi-backend abstraction supports Claude CLI, Anthropic
SDK, and OpenAI-compatible endpoints, with per-role model routing.
Notable design choices: the default profile edits source code in fix mode (targeting Mean Time to Adapt as the primary metric); Claude CLI is the default backend (no API key needed, but no temperature control so majority voting is disabled); checkpoint state lives outside the scanned repo as a defense-in-depth measure; symlink containment is unconditional; config from inside the target directory is refused; and S11 validation is Anthropic-only (Claude Agent SDK's permission sandbox).
Compared to deterministic CI/CD scanners (Snyk, CodeQL), VVAH reasons about novel exploit chains. Compared to general coding agents, it wraps the same models in a disciplined, checkpointed pipeline with structured output contracts. Uniquely, it integrates remediation and validation as pipeline stages rather than stopping at detection.