LezNato/Redan

GitHub: LezNato/Redan

Redan 是一个运行于 Claude Code 内的多 Agent Web 渗透测试工具包,通过独立的验证与 QA 门槛机制确保每一项漏洞发现都经过交叉确认后才输出报告。

Stars: 0 | Forks: 0

Redan

一个专为 Claude Code 打造的多 Agent Web 渗透测试工具包 —— 每一项发现都会经过独立验证和 QA 门槛拦截。

License: MIT Python 3.10+ Core: stdlib-only

Redan 以 Agent 团队的形式运行黑盒 Web/API 安全评估:`recon` / `web-tester` / `auth-tester` / `cloud-iam`(发现者) → 独立的 **verifier** (试图反驳每一个候选发现) → **exploiter**(将确认的问题串联成攻击路径) → **reporter** → **QA gate**。它最终生成一份包含 CVSS 评分的报告,其中每一项 发现都可溯源至具体的复现步骤。它在 [Claude Code](https://docs.claude.com/en/docs/claude-code/overview) 内部运行;这 62 个 确定性工具使用纯标准库 Python 编写(Playwright 是可选的,仅用于浏览器通道)。 与盲目信任自身输出的扫描器不同,Redan 会验证自己的发现:在一个发现被正式计入之前, 会有一个独立的 Agent 试图反驳它,并且会有一个独立的 QA 门槛拦截报告,直到其通过测试。 大多数工具只是产生命中;而本工具产出的是经过验证的漏洞发现。 ## 快速开始 1. **在 [Claude Code](https://docs.claude.com/en/docs/claude-code/overview) 中打开此代码库** —— Agent、技能和 Hook 会自动注册。 2. `/pentest-init ` —— 构建 `engagements//` 目录骨架(包含 `scope.yaml` + `authorization.md`)。在记录已签署的授权依据之前,不会进行任何主动测试。 3. `cp engagements//scope.yaml scope.yaml` —— 激活本次测试任务。 4. `/pentest ` —— recon(侦察) → 主动发现者(并行执行) → `verifier` → (可选)`exploiter` → `reporter`。 5. `/pentest-report` —— 将 `findings.json` 转换为 `report.md` + 独立 HTML + PDF。 6. `/pentest-qa` —— 在 QA 门槛返回 `PASS` 之前,报告都不算最终定稿。 ## 前置条件 - **[Claude Code](https://docs.claude.com/en/docs/claude-code/overview)** (即 CLI)。 - **Python 3.10+** —— 这 62 个工具仅依赖标准库。 - **Playwright** *(仅用于浏览器通道的 Agent + `browser_probe.py`;标准库工具无需此项即可运行)*: pip install playwright && playwright install chromium
可选的深度测试工具 - **nuclei** —— 包含数以千计的漏洞模板;运行 `python tools/external/bootstrap.py`。 - **sqlmap** —— 用于确认 SQLi;运行 `bootstrap.py --sqlmap`。 - **Tor** (`socks5://127.0.0.1:9050`) —— 针对基于 IP 被加入灰名单的边缘节点;详见 [`methodology.md`](.claude/rules/methodology.md) → "Edge-WAF channel routing"。
## 包含内容 ``` scope.yaml -> /pentest -> recon · web-tester · auth-tester · cloud-iam -> verifier -> exploiter -> reporter -> qa-auditor -> report gate sonnet finders (parallel) opus refute opus chains PASS/BLOCK ``` - **8 个 Agent** (`.claude/agents/`) —— 发现者 → `verifier` (反驳) → `exploiter` (攻击链) → `reporter` → `qa-auditor`。混合模型架构:`sonnet` 作为发现者,`opus` 负责逻辑研判。 - **62 个确定性工具** (`tools/checks/`,仅依赖标准库,JSON 格式输出) —— 涵盖 recon(侦察)、主动测试(injection、XSS、SSRF、访问控制、request smuggling 等)、已认证测试以及报告生成。完整目录详见 [`tools/checks/README.md`](tools/checks/README.md)。 - **攻击链利用** —— `exploiter` 将确认的问题组合成完整的攻击链(如 JWT 伪造→账户接管、SSRF→内部元数据访问、大规模 IDOR 利用)。 - **报告生成** —— `findings.json` → `report.md` + 独立 HTML(内联 CSS 和证据 —— 单个文件,无散落的附件) + PDF。每项发现均映射 OWASP/WSTG/ATT&CK + CVSS/CWE。支持导出至 SARIF / Jira / DefectDojo。 - **QA 门槛** —— 机械式预检 (`finding_schema` + `redact`) → 5 维度审查面板 → `PASS`/`BLOCK`。
发现示例 —— 报告中已确认漏洞的呈现样式
## 门槛 —— `scope.yaml` 这是授权的唯一真实来源:包含 `in_scope`、`out_of_scope`(+ 匹配模式,强制拒绝访问)、`rules_of_engagement`、`mutation_testing`、`production`。scope-gate Hook (PreToolUse) 会强制拒绝任何试图访问范围外主机的主动工具调用。**它是一道防护栏,而非沙箱** —— 真正的管控在于仅测试您被授权测试的目标。 ### 已认证测试(可选) 当配置了测试账户时,凭据会保留在**代码库之外**的 `$PENTEST_AUTH_HOME`(默认为 `~/.redan/auth//`)中。`auth-tester` 从该位置读取角色信息 —— 绝不会从代码库目录树中读取。默认为只读模式(除非设置 `mutation_testing: approved`,否则 mutation-gate 将拒绝在已认证状态下的写入操作)。 ## 定位 专为真实的安全评估场景构建 —— 自有资产、Bug Bounty、CTF/实验室环境或签署了协议的客户项目。其测试方法论映射至 OWASP WSTG/ASVS、OWASP API Top 10、PTES、NIST SP 800-115、CWE/CVSS、MITRE ATT&CK。这是一个严肃的工具,但并非全能:**有意排除某些范围**(网络层 / Active Directory / 移动端 / 白盒 SAST),而且黑盒测试必然存在盲区 —— 详见“诚实的覆盖率”。 ## 诚实的覆盖率 黑盒测试只能证明它*发现了什么*,而不能证明*不存在漏洞*。真正的攻击者一旦发现应用本身防护严密,就会将矛头转向外围边界(网络钓鱼、共享主机 CVE、供应链)。Redan 会将这些层面的情况以及已认证攻击面如实报告为已知的覆盖盲区,绝不会谎称它们是“安全的”。详见 [`methodology.md`](.claude/rules/methodology.md)(“黑盒天花板”部分)。 ## 目录结构 ``` .claude/{agents,rules,skills,workflows,hooks}/ the ensemble + doctrine + orchestration tools/checks/ 62 deterministic tools (stdlib-only, JSON) tools/report-render/ findings.json -> report.md/html + SARIF/Jira/DefectDojo tools/external/ nuclei + sqlmap binaries (gitignored, bootstrapped) engagements/_template/ per-engagement scaffold (copied by /pentest-init) scope.yaml active engagement (gitignored — switch per engagement) CLAUDE.md full project instructions ``` `engagements//`(真实目标数据)默认被 gitignore 忽略,模板文件除外。 ## 文档 - **[CLAUDE.md](CLAUDE.md)** —— 架构、规范约定和当前状态。 - **[.claude/rules/](.claude/rules/)** —— 核心准则:技术手艺、证据标准、测试方法论、常见陷阱、QA 门槛、交战规则。 - **[tools/checks/README.md](tools/checks/README.md)** —— 62 个工具的完整目录。 ## 在其他兼容 Anthropic 的后端上运行 Redan 可以在任何兼容 Anthropic 的 endpoint 上运行 —— 只需设置下方的环境变量,然后启动 `claude` 即可。无供应商锁定;自带您专属的 endpoint。
环境变量示例 ``` export ANTHROPIC_BASE_URL= export ANTHROPIC_AUTH_TOKEN= # or ANTHROPIC_API_KEY export ANTHROPIC_DEFAULT_OPUS_MODEL= export ANTHROPIC_DEFAULT_SONNET_MODEL= export ANTHROPIC_DEFAULT_HAIKU_MODEL= claude ```
## 许可证 MIT —— 详见 [LICENSE](LICENSE)。仅供授权使用。
标签:AI智能体, CISA项目, Python, Web安全, 密码管理, 无后门, 特征检测, 蓝队分析