Visa 漏洞代理利用工具
VVAH is Visa's open-source harness for autonomous vulnerability discovery, remediation, and validation using large language models, built on learnings from Project Glasswing (Anthropic's initiative for AI-assisted vulnerability research).
VVAH supports a four-phase pipeline: an S0 static seed followed by detection
and reporting (S1–S9), with optional remediation and validation (S10–S11).
The shipped default.yaml and full.yaml profiles derive that seed from the
model; taint.yaml uses rules mode, which needs operator-supplied source/sink
YAML. The four phases:
Three design choices drive finding quality: threat modeling before analysis focuses the attack surface; multi-agent deterministic voting reduces false positives; and structured triage artifacts compress the lifecycle from AI-discovered weakness to actionable finding. The bottleneck in AI-assisted vulnerability management is triage speed, not discovery. VVAH is designed around that constraint. The primary effectiveness metric is Mean Time to Adapt (MTTA): elapsed time from AI-discovered exploitability to a validated fix in production.
Multi-model by design. Every model-driven role — S0 through S11 — can be pointed at its own model and provider:
No single provider is a hard dependency. Detection and remediation/validation draw on the same set; see docs/models.md for the per-role matrix.
For setup, see docs/SETUP_GUIDE.md. GitHub Issues are
open for bug, documentation, setup, and feature-request reports — see
Reporting issues. This repository is not currently
accepting external code contributions; see
CONTRIBUTING.md for details.
Authorized use only. Run scans only against code you own or have explicit permission to test. Findings and fixes are LLM-generated triage candidates that require human review — see Limitations.
Data egress warning. Any role routed to
via: cli,via: sdk,via: openai, orvia: deepagentssends prompt data to that model provider endpoint (Anthropic/OpenAI or your configured gateway). Use only approved endpoints and scan targets you are authorized to process.
Docs: docs/ — full documentation index · SETUP_GUIDE.md — install & configuration · USER_GUIDE.md — commands & options · models.md — model/backend selection · remediation.md · validation.md · Project Glasswing white paper — technical background.
EV_API_COLLECTION is set — see
Exploit verification below for
the full safety constraints.vvaharness ev-replay — regression-test your fix with the exploit that
found the bug. After you patch and redeploy, replay re-runs the confirmed
attack against the target and tells you whether it still lands — a regression
test derived from the attack itself, not from a guess about it. We are not
aware of another open-source harness that closes that loop.--stop-after ev — validate a collection and target with no model spendEV_AUTH_* environment variables, never from a profile or a CLI flag, and
a collection may name the auth scheme but never a value. Other secrets can
still reach the target on the wire: a token saved inside the collection's own
requests, the client-key passphrase EV_TARGET_CLIENT_KEY_PASSPHRASE, and any
hardcoded credential the attacker agent finds in the repo and replays.ev-replay re-runs that same exploit
after you ship the fix. Off unless you arm it; see
Exploit verification.cli, sdk, openai, or deepagents routes, configured per role.--s6-progress-file artifact.See docs/features.md for the full capability reference, including backend and stage details, specialist lenses, taint analysis, and limitations.
ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, or ANTHROPIC_SDK_API_KEY.
Claude Code CLI auth (run claude, then /login; or claude setup-token)
is optional and needed only for a role you configure with via: cli; no
shipped profile does.Credential and profile details are in docs/SETUP_GUIDE.md and docs/models.md.
git clone https://github.com/visa/visa-vulnerability-agentic-harness VisaVulnerabilityAgenticHarness
cd VisaVulnerabilityAgenticHarness
macOS / Linux
python3 -m venv .venv
source .venv/bin/activate
pip install .
Windows PowerShell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install .
cp .env.example .env
$EDITOR .env # set an Anthropic credential
claude # optional: only for via: cli roles — /login in the REPL (or: claude setup-token)
pipx install . is an alternative. For platform-specific setup, TLS/proxy notes, editable installs, and profile selection, use docs/SETUP_GUIDE.md.
vvaharness --version
vvaharness setup # readiness check; no model spend
vvaharness doctor # live backend check; spends model tokens
For the full configuration reference, see docs/configuration.md and docs/models.md.
Step 1 — Detection only, no code edits. Always start here:
vvaharness scan --repo /path/to/your/repo --stop-after s9
Step 2 — Review the Markdown report and SARIF output in
/path/to/your/repo/security-scan/.
Step 3 (optional) — When ready, explicitly enable remediation in a scan. This can edit source files:
vvaharness scan --repo /path/to/your/repo --remediate
The packaged default sets step_remediate.enabled: false and
step_validate.enabled: false. --remediate enables S10 only, not S11; run
standalone validate afterward to grade the fixes. In-scan S11 requires
step_validate.enabled: true in the effective config (no scan --validate
flag). Other configs or a local overlay can change these defaults; keep
--stop-after s9 to explicitly skip S10/S11 with any profile.
Alternatively, after a detection-only run, remediate and validate independently:
vvaharness remediate --repo /path/to/your/repo --mode report-only # propose only
vvaharness remediate --repo /path/to/your/repo # applies fixes
vvaharness validate --repo /path/to/your/repo # validate fixes
For command flags and troubleshooting, see USER_GUIDE.md.
vvaharness setup --install-agents
This writes AGENTS.md (cross-tool) and .github/copilot-instructions.md
(Copilot) unconditionally; when the claude CLI is detected it also writes
CLAUDE.md + a Claude skill in ~/.claude/skills/ (Claude Code), and when the
gemini CLI is detected it writes GEMINI.md (Gemini CLI). Existing files are
left untouched. See docs/SKILLS.md for the analysis capabilities.
VVAH implements an S0 static seed plus an eleven-stage workflow. The common
operator path is detection through S9. The shipped default profile disables
S10 remediation and S11 validation; sdk and full still enable both, while
taint also leaves them off. These stages remain available by explicit opt-in
or standalone commands.
| Stage group | Stages | Purpose |
|---|---|---|
| Static seed (optional) | S0 | Source/sink callgraph seed for taint-first scanning |
| Discovery & Modeling | S1–S3 | Attack surface mapping, threat modeling, hunting plan |
| Deep Dive & Verification | S4–S6 | Multi-lens research, policy gates, adversarial verification |
| Synthesis, Chaining & Reporting | S7–S9 | Deduplication, chain construction, SARIF emission |
| Remediation & Validation | S10–S11 | Candidate fixes and adversarial fix validation |
For stage-by-stage internals, see docs/architecture.md. For every command and flag, see docs/USER_GUIDE.md.
The pipeline combines stage prompts, language-specific lenses, specialist security lenses, remediation playbooks, and validation personas. See docs/SKILLS.md for the full capability inventory, and docs/features.md for how those capabilities are selected by configuration.
What you get. Exploit verification pro
暂无开放 Issues,或尚未同步最近议题。