漏洞知识库
点击放大

An 8-stage agent, driven by your **Claude Pro / Max
subscription** through the official Claude Code Agent SDK. Many narrow agents,
deliberate disagreement, and an explicit reachability gate.
MIT-licensed. No API key needed if you already use claude login.
This project is a from-scratch reimplementation of the pipeline described in
Cloudflare's Project Glasswing
post, which tested Anthropic's Mythos preview LLM against Cloudflare's own
codebase. The blog argues that real-world discovery does not
come from asking one big model "find bugs here" — it comes from:
1. Many narrow agents working in parallel on tightly-scoped questions
("Look for command injection in this specific function, with this trust
boundary above it") rather than one exhausti.
2. Deliberate disagreement — a second agent, on a different model, that
tries to *disprove* the first agent's findings.
3. A reachability trace as the gating step — most "is this code buggy?"
findings are noise unless an attacker-controlled input can actually reach
the sink from outside the system.
4. A feedback loop so reachable bugs in one place automatically seed
hunts for the same pattern elsewhere.
This repo packages that pipeline into a runnable agent. The Cloudflare post
showed the architecture; this codebase ships the prompts, schemas, state
store, and orchestrator.
! discovery harness — 8 stages
<sub>Diagram from Cloudflare's Project Glasswing post, reproduced here for reference.</sub>
| # | Stage | Default model | Purpose |
|---|----------|---------------|---------|
| 1 | Recon | Opus 4.7 | Map the repo, emit narrowly-scoped Hunt tasks |
| 2 | Hunt | Sonnet 4.6 | One attack class per agent; compile/run PoCs |
| 3 | | Opus 4.7 | Ad re-read; tries to disprove (different model from Hunt) |
| 4 | Gapfill | Sonnet 4.6 | Re-queue under-covered areas |
| 5 | Dedupe | Sonnet 4.6 | Cluster findings by root cause |
| 6 | Trace | Opus 4.7 | Pro input reaches the sink |
| 7 | Feedback | Sonnet 4.6 | Turn reachable traces into new Hunt tasks |
| 8 | Report | Sonnet 4.6 | Schema- structured report |
Each stage is one markdown prompt in prompts/ + one JSON Schema inschemas/. The orchestrator passes the schema into the system prompt so
every output is shape-stable on the first try.
By default the agent uses subscription billing via your Claude.ai
login — it does not call the metered Anthropic API. The on-disk auth
module scrubs ANTHROPIC_API_KEY from the en so it can't
silently route around the OAuth flow.
The auth module picks one of three modes, in this order:
1. LLM gateway (OpenRouter, custom proxy, etc.) — when
ANTHROPIC_BASE_URL points away from anthropic.com AND
ANTHROPIC_AUTH_TOKEN is set. The gateway env is left intact;
only ANTHROPIC_API_KEY is scrubbed (it would otherwise outrank the
gateway token).
2. Subscription OAuth (headless) — CLAUDE_CODE_OAUTH_TOKEN from
claude setup-token. Best for CI.
3. Subscription OAuth (interactive) — ~/.claude/.credentials.json
from claude login. Best for local dev.
OpenRouter exposes Claude-compatible Anthropic-API endpoints behind its
own credit system; that lets you spend OpenRouter credits instead of an
Anthropic subscription, and gives you access to Sonnet/Opus *and* other
models through the same SDK path. See OpenRouter's Agent SDK guide.
Caveats:
config/stages.yaml are model namesclaude-opus-4-7); OpenRouter accepts slash-prefixed forms likeanthropic/claude-opus-4-7. Edit the YAML if you want differentANTHROPIC_MODEL forces every stageSame recipe — anything that exposes the Anthropic Messages API at a URL
+ a bearer token works:
For Amazon Bedrock / Google / Microsoft Foundry, Claude Code has
first-class env- (CLAUDE_CODE_USE_BEDROCK=1 etc.) that
outrank e else. See the Claude Code auth docs.
A real production codebase can produce 15-50 Hunt tasks and 25+ findings to
. At default concurrency this gets expensi to keep it sane:
The budget guard fires between *and* within stages — a per-task check in
Hunt cooperatively aborts rather than running 30 more tasks past the cap.
If the target has a running deployment, point the agents at it. Hunt now
reproduces each finding against the li instead of compiling
a local PoC, rejects findings that don't reproduce, and Trace
confirms reachability with real HTTP round-trips. The static path
remains a — these flags are opt-in.
Rules the agents follow when --target-url is set:
127.0.0.1. No other externalTargets often hay-design surfaces that aren't bugs
(e.g. plaintext API keys when that's a feature, test-only Mailpit endpoints,
anonymous-analytics ingest). Drop them in a text file and pass it in — the
notes are appended to every stage's user_input, and Recon / Hunt /
honor exclusions you list.
Example target_scope.md:
Recon greps the git history for past security patches
(CVE, sec:, fix.*auth, sanitize, …) — patched files are hardened,
but sibling files with the same idiom often aren't. Findings get seeded
against the unpatched copies. Adds zero cost on repos without that pattern;
catches real cross-component bugs on repos that have it.
The pipeline's default is one-attack-class-per-task (the Cloudflare paper's
narrow-scope rule). Recon can also emit logic_chain tasks for high-impact
multi-component paths (auth-bypass + IDOR + path-tra that compose into
RCE, etc.) — one chain per task, with the scope_hint naming the specific
chain. This is the one allowed exception to single-attack-class scoping.
Hunt agents have Bash and run inside per-task scratch dirs. They are not
sandboxed at the OS level. Run the audit inside a disposable VM or container
when you don't trust the target source — a target with malicious build
scripts could otherwise execute on your host during PoC compilation.
The agent reads e you --add-dir, including any .env orsecrets/ directories in the target. Outputs land in results/<run-id>/
which is .gitignored but not scrubbed of those reads.
MIT. Reuse freely. No warranty.
开发语言:Python
Star 数:866
该项目属于漏洞知识库方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕An 8-stage vulnerability-discovery agent.展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | audit - An 8-stage vulnerability-discovery agent. |
| 所属分类 | 漏洞知识库 |
| 发布作者 | admin |
| 发布时间 | 2026-10-06 01:05:15 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 182 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |