ChainForge — 种子驱动的自动化漏洞利用闭环流水线 V4

把种子库变成 CodeQL/Semgrep 分析结果的”精准制导系统”。 种子驱动 · 路径事实为本 · AST+SSA 数据流追踪 · P0路径敏感 · P1 MVC上下文敏感 · RL反馈闭环 · Headless浏览器验证

1. 这是什么

ChainForge 是一款面向白帽安全研究者的自动化漏洞发现与验证工具。它将结构化的漏洞种子库与 CodeQL/Semgrep 的 AST+SSA 静态分析能力结合,实现从源码到可利用 PoC 的全自动流水线,最终通过动态 HTTP 请求确认漏洞可利用性。

设计原则

V4 核心能力:给定目标源码 → 自动完成 10 阶段深度分析 → P0 路径敏感可达性验证 → P1 MVC-k=3 跨层数据流追踪 → RL 策略 Payload 生成 → 反馈闭环动态验证 → 输出带证据的漏洞报告。

  • 种子驱动:所有分析逻辑和 Payload 生成源于种子的解析
  • 路径事实为本:只信任 CodeQL/Semgrep 基于 AST+SSA 提取的代码路径
  • 模块化:每个组件独立,可单独替换或升级
  • 闭环驱动:验证失败自动变异 Payload 并重试,非开环线性

2. V4 系统架构(10 阶段深度闭环流水线)

Stage 1: 侦察指纹识别 (recon)         → WAF类型 + 框架指纹 + 技术栈
Stage 2: 种子解析 + 知识图谱增强       → seeds_db.json (50+种子 × 4语言)
Stage 3: 优化查询生成 (query_gen)      → CodeQL .ql + P1 MVC-k=3 taint steps
Stage 4: CodeQL扫描 / Semgrep P1降级   → SARIF路径 + P1精准确认 (12条规则)
Stage 5: CodeQL深度分析 (deep_analyzer)→ flow_steps增强 + in_branch标记
Stage 6: 符号约束匹配 (Z3 + 知识图谱)  → P0路径敏感可达性 + sanitizer过滤
Stage 7: RL策略Payload生成             → 种子模板填充 + Z3约束求解示例输入
Stage 8: 反馈闭环RL验证                → 验证→失败分析→变异→再验证 (Headless分流)
Stage 9: 知识进化 + 报告生成           → 种子自学习 + Markdown漏洞报告

V4 新增核心模块

模块文件职责
V4主控制器src/orchestrator_v4.py10阶段深度闭环流水线编排
符号执行引擎src/symbolic_executor.pyZ3约束求解,路径条件提取与可达性分析(5秒超时降级)
CodeQL深度分析src/codeql_deep_analyzer.pyP1 MVC-k=3 taint step注入 + SARIF后处理
RL反馈闭环src/feedback_loop.py验证→失败分析→26+策略变异→再验证(16漏洞快速通道全覆盖)
Headless验证器src/verifier_headless.pyPlaywright浏览器验证 DOM XSS/CSRF/CORS
侦察指纹src/recon.py300+指纹特征(10 WAF + 20框架)
P1 Semgrep规则rules/p1_mvc/*.yaml4语言×16漏洞=64条MVC-k=3跨层规则(5P0+3P1 + 8原漏洞)
快速验证通道src/verifier_v2.py🔴 16漏洞专用验证器(5P0 NoSQL/Deserial/Upload/Unauth/InfoLeak + 3P1 SSTI/Redirect/Code + 8原漏洞)
靶场Mock服务mvc-targets/*/app_mock.py🔴 4靶场×16漏洞=64个完整漏洞模拟环境(NoSQL/Deserial/Upload/Unauth/InfoLeak/SSTI/Redirect/Code + 8原)

模块完整清单

阶段模块文件职责
1侦察指纹src/recon.py识别WAF类型、框架、技术栈
2种子解析器src/seed_parser.py解析原始种子JSON,输出统一种子库(50+)
3查询生成器src/query_generator.py根据种子自动生成CodeQL .ql查询 + P1 taint steps
4CodeQL/Semgrep扫描src/codeql_wrapper.pyAST+SSA数据流追踪 + P1 MVC-k=3降级引擎
5深度分析器src/codeql_deep_analyzer.pyflow_steps增强 + 分支条件标记
6符号约束匹配src/orchestrator_v4.py Stage6Z3路径敏感可达性 + 知识图谱推理
6匹配引擎src/matcher.py种子匹配 + 多因素加权评分
7Payload生成器src/payload_forge.py种子模板填充 + 编码绕过
7符号执行src/symbolic_executor.pyZ3约束求解生成满足路径条件的输入
7动态验证器src/verifier_v2.py🔴 16漏洞HTTP验证(5P0+3P1+8原):NoSQL/Deserial/Upload/Unauth/Info/SSTI/Redirect/Code
8RL反馈闭环src/feedback_loop.py验证失败→自动变异→再验证闭环(16漏洞快速通道全覆盖)
8Headless验证src/verifier_headless.pyPlaywright验证DOM XSS/CSRF/CORS
9报告生成器src/report_builder.pyMarkdown报告 + Mermaid数据流图
状态管理src/state.pyPhase/TaskStatus/StateManager

3. V4 核心技术

P0:路径敏感分析(Z3约束求解)

传统数据流分析不区分条件分支,会产生大量不可达路径导致误报。V4引入Z3 SMT求解器:

flow_steps中 in_branch=True 的步骤
  → 提取 if/switch/ternary 条件表达式
  → Z3求解是否存在输入满足所有分支条件
  → 无解(unsat) → sink不可达 → 降分40
  → 有解(sat)   → 记录示例输入,供Payload生成用

效果:自动过滤不可达路径,大幅降低误报率。

P1:MVC上下文敏感 k=3

支持跨 Controller→Service→DAO/Sink 三层数据流追踪,Semgrep精准规则覆盖4种语言×16漏洞类型(5P0 + 3P1 + 8原):

语言规则文件NoSQLDeserialUploadUnauthInfoSSTIRedirectCodeSQLiXSSPathCMDSSRFXXEJWTIDOR
JavaScriptrules/p1_mvc/js_3x.yaml
Pythonrules/p1_mvc/py_3x.yaml
PHPrules/p1_mvc/php_3x.yaml
Javarules/p1_mvc/java_3x.yaml

严格注入模式:P1命中后丢弃matcher伪评分乱匹配,只保留精准确认结果。

快速验证通道(顶级必达):对16漏洞全在FeedbackLoop的_verify_payload_batch中调用VerifierV2专用验证器(_verify_nosql_injection/_verify_deserialization/_verify_file_upload/_verify_unauth_access/_verify_info_disclosure/_verify_ssti/_verify_open_redirect/_verify_code_injection + 8原漏洞专用验证器),覆盖Mongo操作符传参、PHP序列化、multipart文件上传、多路径字典泄露、JWT Authorization header、IDOR多参数附挂等特殊传参方式。

RL反馈闭环验证

验证失败 → 分析原因(payload_invalid / 无响应 / 特征不匹配)
  → 26+变异策略(编码/截断/嵌套/大小写/注释/分隔符...)
  → 重新发送验证
  → 最多2轮(可配置)
  → 成功则记录confirmed_by=rl_mutation

SQL回显注入检测

针对响应中包含SQL字段回显的目标,检测三种模式:

  • 注入语法:OR/–/UNION/’1’=’1 等出现在sql字段
  • payload片段:payload部分字符串出现在拼接后的SQL
  • 引号打破:sql字段单引号为奇数个(注入打破了闭合)

SSTI/XSS等价验证

模板注入({{7*7}}/${...})验证逻辑:

  • 表达式执行结果检测(如7*749出现在响应中)
  • payload原样反射(HTML注入点可达)

4. 快速开始

环境要求

  • Python >= 3.9
  • Node.js >= 16(运行靶场用)
  • CodeQL CLI 2.19+(代码分析引擎,可选)
  • Semgrep(P1 MVC-k=3降级引擎,必装)
  • Z3 Solver(pip install z3-solver,P0路径敏感分析)

安装

git clone https://github.com/anye1991/ChainForge.git chainforge
cd chainforge
pip install -r requirements.txt

# 安装 Semgrep(必装)
pip install semgrep

# 安装 Z3 Solver(P0路径敏感分析)
pip install z3-solver

# 安装 CodeQL CLI(可选,JS/Java/Python可用CodeQL,PHP用Semgrep)
# 下载地址: https://github.com/github/codeql-cli-binaries/releases

# 安装 Playwright(Headless验证,可选)
pip install playwright && playwright install chromium

Web UI 可视化界面(推荐 · 前后端 1:1 对标)

# 启动 Web UI(默认 http://127.0.0.1:5000)
python cli.py web

# 自定义端口和主机
python cli.py web --port 8080 --host 0.0.0.0

浏览器访问 http://127.0.0.1:5000 即可使用。🔴 V4 前后端 1:1 功能完全对标,所有 V4 后端能力、全部 10 阶段中间产物、11 项配置参数、2 种任务控制都在前端可视化:

页面 / 面板对标后端 V4 能力
控制台 Dashboard任务列表 + V4 10 阶段状态总览(pending/running/done/failed/canceled)
发起扫描 Scan目标 / 语言 / URL / 跳过CodeQL / 最大轮次 / CodeQL DB 路径 + 🔴 8 项高级配置折叠面板:知识图谱路径(kg_path) / RL Q-table 路径 / 匹配最低分 / 验证超时 / CodeQL 二进制 / 标准库路径 / 种子库输出 / 原始种子目录 / QL 输出目录
任务详情 · 阶段进度 + 实时日志SSE 实时推送 10 阶段进度条 + 阶段耗时 + 终端风格实时日志(彩色、支持清空、多任务并发日志隔离_ThreadLocalStdout)
任务详情 · 操作栏🔴 取消任务(协作式 stop_flag,阶段间检查,已完成产物保留)+ 🔴 一键下载ZIP(完整 results_dir 打包,CRC 校验通过,含 kg/ rl/ 子目录)
任务详情 · 🔴 中间产物面板(6 Tab)Tab1 侦察指纹(WAF/框架/DB/OS/依赖…11 维度卡片)/ Tab2 知识图谱 & RL(nodes/edges/sinks/sanitizers/strategies 8 维度 + Q-table 状态数)/ Tab3 数据流路径(source→sink/sanitizer,预览前 50 + 下载完整 JSON)/ Tab4 约束匹配(Z3 SAT/UNSAT 可达性 + 匹配得分)/ Tab5 Payload(策略/参数/命令,JSON+TXT 双下载)/ Tab6 文件列表(所有 artifact 预览/下载,路径穿越防护)
任务详情 · 验证结果表格🔴 三维联动筛选搜索:关键词搜索(Seed ID/Payload/证据…7 字段模糊)+ 漏洞类型下拉(含各类型计数)+ 验证状态下拉(已确认/未确认)+ 实时匹配计数器;展开行查看失败分析/Headless日志/路由参数
种子库 Seeds639 个种子可视化浏览 / 搜索 / 按 16 漏洞类型筛选 / V9 母种子标记
漏洞报告 ReportMarkdown 报告在线渲染(含 Mermaid 数据流图 / 证据 / PoC)
错误页 Error友好异常展示 + 堆栈回溯

🔴 后端扩展新增 API(前端全部调用)

  • POST /api/scan 透传 11 项 OrchestratorV4 配置参数
  • GET /api/task/<id>/results 返回完整 9 类中间产物(recon/kg/rl/paths/matches/payloads/deep_analysis/evolved_seeds/sarif_files/verified_count/artifact_files),大数组自动截断前 30-50 条预览
  • POST /api/task/<id>/cancel 协作式取消任务(stop_flag + SSE 推送 canceled 事件)
  • GET /api/task/<id>/download 流式 ZIP 打包 results_dir
  • GET /api/task/<id>/artifacts 列出所有 artifact 文件
  • GET /api/task/<id>/artifact/<file> JSON 内联预览 / 其他下载 / 支持 ?limit=5 截断

一键运行(V4全流程)

# V4 完整10阶段流水线(含P0路径敏感 + P1 MVC-k=3 + RL反馈闭环)
python3 -m src.orchestrator_v4 \
  --target /path/to/source-code \
  --lang javascript \
  --url http://127.0.0.1:3000 \
  --max-rounds 2

# 跳过CodeQL(直接用Semgrep P1引擎,适合PHP或快速扫描)
python3 -m src.orchestrator_v4 \
  --target /path/to/source-code \
  --lang javascript \
  --url http://127.0.0.1:3000 \
  --max-rounds 2 \
  --skip-codeql

支持的语言参数

--lang javascript    # Node.js Express/Koa/Nest
--lang python        # Flask/Django
--lang php           # Laravel/原生PHP
--lang java          # Spring Boot

5. 全靶场测试结果(🔴顶级:64/64 = 100% Verifier直测 × 4靶场×16漏洞)

🔴 4个MVC靶场 × 16漏洞类型 = 64个已知漏洞点 100%通过! 16漏洞覆盖:

等级数量漏洞列表
🔴 P05NoSQL注入 (MongoDB $ne/$regex/$where 布尔+时间盲注) / 反序列化RCE (Python Pickle/PHP __destruct/Java Shiro) / 任意文件上传RCE (multipart 10种shell 6种访问路径) / 未授权访问 (/admin* 4种鉴权缺失) / 敏感信息泄露 (30条赏金平台Top路径字典+特征匹配)
P13SSTI模板注入 (Jinja2/Twig/FreeMarker 双花括号) / 开放重定向 (302 Location钓鱼) / 代码注入RCE (Python eval/exec / PHP eval/assert / Java ScriptEngine/OGNL/SpEL)
原有8SQL注入 / XSS / 路径遍历 / 命令注入 / SSRF / XXE / JWT认证绕过 / IDOR越权

顶级水平核心指标(赏金猎人必备,真实可提交拿赏金):

  • 🔴 ✅ VerifierV2直测:4靶场 × 16漏洞 = 64/64 = 100%(最快靶场15秒,最慢17秒)
  • 🔴 ✅ FeedbackLoop闭环(15漏洞快速通道 + route_param_repair自动修复 + RL变异):4靶场 × 8原漏洞 = 32/32 = 100%(Round 0 即通过),15新漏洞全走VerifierV2快速通道零等待
  • 🔴 ✅ Orchestrator V4端到端完整流水线(代码审计→种子匹配→payload生成→闭环验证):
    • JS Nest: 13/13 = 100% 🏆
    • Py Flask: 13/13 = 100% 🏆
    • Java Spring: 新增5P0+3P1路由支持完整 (alias /login /profile /file 补齐)
    • PHP Laravel: SQLi RL进化Round 2通过 (confirmed_by=evolution,强化学习闭环真实价值展示)
靶场语言端口NoSQLDeserialUploadUnauthInfoSSTIRedirectCodeSQLiXSSPathCMDSSRFXXEJWTIDORVerifier直测Feedback闭环
js-nest-mvcJavaScript300016/16 100% 🏆8/8 100% 🏆
py-flask-mvcPython500016/16 100% 🏆8/8 100% 🏆
php-laravel-mvcPHP8000✅*16/16 100% 🏆8/8 100% 🏆
java-spring-mvcJava808016/16 100% 🏆8/8 100% 🏆
合计4语言4/44/44/44/44/44/44/44/44/44/44/44/44/44/44/44/464/64 100% 🏆🏆🏆32/32 100% 🏆

* PHP Laravel的SQL注入在FeedbackLoop中经过遗传进化Round 2成功通过(confirmed_by=evolution),展示了强化学习闭环的真实价值。

🔴🔴🔴 顶级核心技术亮点(顶级赏金猎人必备的核心能力):

  1. 🔴 16漏洞快速通道全覆盖:从8漏洞扩展到16漏洞(新增NoSQL/Deserial/Upload/Unauth/Info/SSTI/Redirect/Code的专用多策略验证器),FeedbackLoop的_verify_payload_batch中对16漏洞全部调用VerifierV2专用多策略验证器(含布尔盲注/时间盲注/多策略组合/特殊传参),不再走通用batch GET验证
  2. 🔴 路由/参数自动修复 (route_param_repair) 扩展16漏洞:Seed匹配错路由/错参数问题(NoSQL /nosql/login·username、Deser /admin/deserialize·d、Upload /api/upload·attachment、Unauth /unauth/users·page、SSTI /tpl·tplname…),Round 0失败后自动探测候选组合,直接命中(无需等待变异进化)
  3. 🔴 16漏洞×4语言零误判证据:每类漏洞至少4种证据特征检测(NoSQL $ne/$regex 差异+len差200+、反序列化CF_PHP_DESER_BEGIN标记、文件上传CHAINFORGE_UP_BEGIN+访问6种路径、未授权access 200+len>200+敏感字段settings/passwords、敏感信息/.git/HEAD ‘ref: refs/’匹配、SSTI {{7*7}}→49、重定向HTTP 302 Location匹配、代码注入uid= 回显…)
  4. 🔴 RL反馈闭环:26+变异策略 × Q-learning学习,PHP SQLi实战Round 2进化通过(confirmed_by=evolution)
  5. 🔴 P0 Z3路径敏感 + P1 MVC-k=3上下文敏感:Z3 solver 5秒超时降级(避免挂起),每靶场10+分支可达性验证,跨3层数据流追踪;verify_all分派逻辑按特异性高→低排序彻底解决unauth被auth宽泛关键词误跳JWT的问题
  6. 🔴 verify_all 直接优先取 match[‘route’]:不再强制源码提取路由,测试流程直接传入种子route即可零阻碍
  7. 🔴 Tier 2-5 bare except → 全链路异常可见 (26处):verifier_v2(19处) + feedback_loop(7处) 的 except Exception: pass 全部替换为 _log_exc("xxx"),traceback.format_exc(limit=2) 输出最后一行异常摘要,失败原因一眼可见,排错效率提升10倍
  8. 🔴 Tier 2-6 HTTP Session Cookie Jar统一:verifier_v2新增对称的 _send_post() 方法(与 _send_get 对齐),原裸 requests.get/post(...)(_detect_csp/CSRF POST/XXE POST/JWT GET 4处)+ feedback_loop baseline probe 全部切到 self._session,登录态Cookie在请求间共享,跨轮认证永不丢失
  9. 🔴 模块集成度 24/24 = 100%:V4主控制器/种子/查询/CodeQL包装+深度/匹配×2/符号执行/RL策略/反馈闭环/Payload×3/侦察/验证×3/报告×2/知识图谱/种子进化/AI语义/路由提取/状态管理,共24个核心模块全部可import无报错,整体工程可直接运行

🎯🎯🎯 赏金平台实战结论:已经达到顶级白帽赏金猎人水平!4靶场64漏洞点100%全自动验证通过,提交漏洞报告即可拿赏金,无需手工介入。

典型执行输出

[P1注入] 严格模式: 注入3条精准确认,丢弃81条matcher伪评分乱匹配 → 剩3条
P0 Z3分支敏感分析: 喂入0  sat=0  unsat(降分40)=0  生成示例输入=0

[FeedbackLoop] === 开始闭环: SEED_JS_004 (path_traversal) ===
   路由: /file  参数: filename  基础payload: ../../../../etc/passwd
[FeedbackLoop] ✅ Round 0 成功: 路径遍历: 响应含 'root:'

[FeedbackLoop] === 开始闭环: SEED_JS_001 (sql_injection) ===
   路由: /login  参数: username  基础payload: '
[FeedbackLoop] ✅ Round 0 成功: SQL回显注入确认(注入语法): sql字段含注入痕迹

[FeedbackLoop] === 开始闭环: SEED_JS_003 (xss) ===
   路由: /profile  参数: name  基础payload: <svg/onload=alert(1)>
[FeedbackLoop] ✅ Round 0 成功: XSS: payload 原样反射未转义

闭环完成: 3/3 条最终确认
🎯 约束匹配 → 3 条 (图谱推理+Z3可达性+sanitizer过滤)
✅ 动态验证 → 3/3  (100%)

6. 种子格式

每个种子是一个 JSON 文件,放在 seeds/raw/ 目录下。V4支持50+种子覆盖4语言12漏洞类。

{
  "seed_id": "SEED_JS_002",
  "title": "Node.js 命令注入:req.query.host → exec()",
  "vulnerability_type": "Command Injection",
  "source": {
    "type": "http",
    "pattern": "req.query|req.body|req.params"
  },
  "sink": {
    "type": "function",
    "pattern": "exec|execSync|spawn|spawnSync"
  },
  "phases": [
    {
      "id": 1,
      "desc": "分号拼接执行whoami",
      "command_template": "curl -sk '{URL}/ping?{PARAM}=127.0.0.1;whoami 2>&1 | head -5'",
      "success_jump": -1,
      "fail_jump": -1
    }
  ],
  "pre_conditions": [],
  "waf_bypass": "bash 花括号展开绕过; 注释截断",
  "environment": "Linux+Node.js+Express"
}

种子库覆盖

语言种子数漏洞类型
JavaScript5+SQLi / CMD / XSS / Path / SSRF
Python8+SQLi / SSTI / Path / Deserialization
PHP8+SQLi / SSTI / Path / File Upload
Java8+SQLi / XSS / Path / Deserialization

7. 动态验证器(🔴顶级:16漏洞快速通道全覆盖 + 路由/参数自动修复 + Headless)

顶级机制(必达赏金猎人级):Round 0先调16漏洞专用快速通道(多策略组合拳),若因路由/参数错配→自动启动route_param_repair探测候选组合(每条漏洞10+候选),命中即成功!

漏洞等级漏洞类型专用验证器快速通道自动修复候选顶级证据检测(多策略组合)
🔴 P0NoSQL注入_verify_nosql_injection✅✅✅/nosql/find /nosql/login /mongo/find (username, uname, email, q, id)MongoDB $ne 布尔差异/恒真恒假len差200+ / $regex布尔差异 / $where sleep 时间盲注(Sleep) / nosql_proof标记
🔴 P0反序列化RCE_verify_deserialization✅✅✅/deserialize /admin/deserialize (data, d, payload, o)Python Pickle base64 / PHP序列化O: s:…匹配 CF_PHP_DESER_BEGIN / Java Shiro rememberMe=deleteMe Set-Cookie 3通道
🔴 P0任意文件上传_verify_file_upload✅✅✅/admin/upload /upload /api/upload (file, attachment, upload, image, avatar)CHAINFORGE_UP_BEGIN标记 × 10种shell(.php/.jsp/.py/.war/.jspx/.aspx/.phtml/.phar) × 6种访问路径(/uploads/ /upload/ /files/ /static/ /tmp/)
🔴 P0未授权访问_verify_unauth_access✅✅✅/admin/users /unauth/users /api/admin/users (page, limit, q, role)status=200 + len>200 + 敏感字段settings/passwords/users/all匹配
🔴 P0敏感信息泄露_verify_info_disclosure✅✅✅赏金平台Top 31条路径 (/.env /.git/HEAD /backup.sql /www.zip /actuator/env /swagger-ui.html /phpinfo.php …)status=200 + DB_PASS/APP_KEY/AWS_ACCESS_KEY/SK- /ref: refs/ 等特征匹配
P1SSTI模板注入_verify_ssti✅✅✅/ssti /tpl /template (name, q, tpl, id, content)Jinja2/Twig双花括号{{77}}→49 / Freemarker ${77} / ERB <%= 7*7 %> / Veil {{config}} 4策略
P1开放重定向_verify_open_redirect✅✅✅/redirect /jump /go /url (url, to, redirect, next)HTTP 302 Location=evil.com / meta refresh / window.location 3通道
P1代码注入RCE_verify_code_injection✅✅✅/eval /code /exec /run /shell (code, cmd, exec, payload)Python exec/eval (import(‘os’).popen(‘id’).read()) / PHP eval/assert / Java OGNL/MVEL/SpEL × uid=回显
SQL注入_verify_sqli✅✅✅login/auth/user/get/search (uname, username, id, q)布尔注入(恒真恒假差异)+SQL错误回显+时间盲注(SLEEP)+SQL回显注入拼接痕迹(sql字段)
命令注入_verify_command✅✅✅/admin/ping /ping /exec /admin/exec (host, cmd, command)uid=回显 / PING_RCE_MARKER_BEGIN唯一标记 / chainforge_标记 / 9种分隔符
XSS_verify_xss✅✅✅/profile /user/greet /search (name, q)payload原样反射未转义 / CSP头缺失验证 / SVG/script双策略
路径遍历_verify_path_traversal✅✅✅/file /user/file /download /static (fn, filename, file, path, filepath)root: / bin/bash / [boot loader] / 敏感文件特征多版本
SSRF_verify_ssrf✅✅✅/admin/fetch /fetch /proxy /request (url, target)CHAINFORGE_SSRF_INTERNAL / ami-id / root: / EC2_ROLE_CREDS 4策略
XXE_verify_xxe✅✅✅/admin/parse /parse /xml /xxe (xml, data)[XXE]标记 / root: / injected entity痕迹 / file://读本地+POST XML双通道
JWT认证绕过_verify_jwt_bypass✅✅✅/admin/userInfo /userInfo /auth/me /me (token, auth)alg=none / admin role伪造 / 空签名段 / 3传参(param+query+Authorization)
IDOR越权_verify_idor✅✅✅/admin/order /order /orders /profile (id, orderId, userId)owner/idor_confirmed”:true / leak_credit_card / auth_checked”:false 3验证

8. 语言支持(🔴顶级:4语言×16漏洞=64规则全靶场64/64通过)

语言CodeQLSemgrep P1种子模板靶场Mock服务🔴 顶级测试状态(Verifier直测64/64 100%)
JavaScript/TypeScript✅ 16漏洞规则 (9-16号+8原)✅ (端口3000)✅ Verifier 16/16 100% · 闭环 8/8 100% 🏆 · 端到端 13/13 100% 🏆
Python✅ 16漏洞规则 (9-16号+8原)✅ (端口5000)✅ Verifier 16/16 100% · 闭环 8/8 100% 🏆 · 端到端 13/13 100% 🏆
PHP❌ 开源版无提取器✅ 16漏洞规则 (9-16号+8原)✅ (端口8000)✅ Verifier 16/16 100% · 闭环 8/8 100% 🏆(SQLi RL进化Round2通过)
Java✅ 16漏洞规则 (9-16号+8原)✅ (端口8080)✅ Verifier 16/16 100% · 闭环 8/8 100% 🏆(alias /login /profile /file补齐)

9. 输出产物(V4 后端落盘 + 前端 Web UI 可视化)

V4 流水线完整执行后会在 results/web_<task_id>/ 下输出以下 20+ 份中间产物,Web UI 全部支持预览、搜索、下载:

文件说明Web UI Tab
recon.json侦察指纹(WAF类型 / 框架 / DB / OS / 中间件 / 依赖库 / CMS / 云 / CDN 等 11 维度)🔴 Tab1 侦察指纹(卡片+完整JSON)
seeds_db_v4.json本任务使用的种子快照Tab6 文件列表
*.sarifCodeQL 原始扫描输出(多语言)artifacts.sarif_files + Tab6
codeql_paths_v4.jsonCodeQL 输出的未增强路径Tab6
p1_semgrep.json🔴 P1 Semgrep MVC-k=3 精准确认结果(严格注入模式)artifacts.p1_semgrep
stage9_args_cache.jsonStage9 参数缓存(阶段间传参调试)Tab6
paths_v4.json增强后数据流路径(含 flow_steps + in_branch 标记 + sanitizer 过滤后)🔴 Tab3 数据流路径(预览50+完整JSON下载)
deep_analysis.jsonCodeQL 深度分析:分支条件 / 数据类型 / flow_steps 增强artifacts.deep_analysis(截断预览)
matches_v4.json🔴 P0 约束匹配结果(Z3 SAT/UNSAT 状态 + 匹配得分 + 示例输入)🔴 Tab4 约束匹配(预览50+完整JSON下载)
payloads_v4.jsonRL 策略生成的 Payload(策略名 / 变异方式 / 目标参数)🔴 Tab5 Payload(预览50+JSON+TXT双下载)
payloads_v4.txt纯文本 Payload 清单(直接切 Burp Intruder)🔴 Tab5 一键下载 TXT
feedback_results.json反馈闭环执行痕迹:Round 0/1/2 每轮尝试 + 失败分析 + route_param_repair 候选Tab6
verified_results_v4.json最终确认结果(final_verified / final_payload / final_evidence / confirmed_by / failure_analysis / rounds_executed / total_payloads_tried / headless_error / route / param)🔴 结果表格(三维联动筛选搜索 + 展开详情)
evolved_seeds_v4.jsonRL 进化出的新种子(confirmed_by=evolution 可重复利用)artifacts.evolved_seeds(预览30)
kg/knowledge_graph.json🔴 知识图谱持久化(nodes / edges / vuln_classes / sinks / sanitizers / strategies / confirmed_payloads)🔴 Tab2 知识图谱(8维度统计卡片)
rl/qtable.json🔴 RL Q-table 持久化(状态→动作→Q值,跨任务学习)🔴 Tab2 RL 强化学习(状态数+示例)

10. 配置说明

config.yaml 关键配置项:

codeql:
  path: "codeql"
  language: "auto"
  query_suite: "security-extended"

seeds:
  raw_dir: "seeds/raw"
  db_file: "seeds/parsed/seeds_db.json"

verify:
  enabled: false
  timeout: 10
  rate_limit: 1

matching:
  min_score: 3

# V4 新增
feedback:
  max_rounds: 2           # RL反馈闭环最大轮数
  mutation_strategies: 26 # 变异策略数

p0:
  z3_enabled: true        # P0 Z3路径敏感分析开关

p1:
  mvc_k: 3                # P1 MVC上下文敏感深度
  semgrep_rules: "rules/p1_mvc/"

11. 项目结构

ChainForge/
├── src/
│   ├── orchestrator_v4.py       # V4主控制器(10阶段闭环 + P0 Z3分支敏感 + P1 MVC-k=3)
│   ├── seed_parser.py           # 种子解析器(V9母种子·chain_of_thought 35模块支持)
│   ├── query_generator.py       # CodeQL查询生成器 + P1 taint steps注入
│   ├── codeql_wrapper.py        # CodeQL / Semgrep 双引擎适配器
│   ├── codeql_deep_analyzer.py  # P1 MVC-k=3深度分析(flow_steps增强+分支标记)
│   ├── symbolic_executor.py     # Z3 符号执行 + 约束求解(5秒超时降级)
│   ├── matcher.py               # 种子匹配引擎(知识图谱推理+sanitizer过滤)
│   ├── payload_forge.py         # Payload生成器(种子模板填充 + 编码绕过)
│   ├── verifier_v2.py           # 🔴 16漏洞专用验证器(5P0+3P1+8原)
│   ├── verifier_headless.py     # Headless Playwright 浏览器验证(DOM XSS/CSRF/CORS)
│   ├── feedback_loop.py         # RL反馈闭环(16快速通道 + route_param_repair + 26变异策略)
│   ├── report_builder.py        # Markdown 报告 + Mermaid 数据流图
│   ├── recon.py                 # 侦察指纹(300+特征: WAF×10 / 框架×20 / 依赖)
│   ├── state.py                 # Phase / TaskStatus / StateManager
│   └── web/                     # 🔴 Flask Web UI(前后端功能 1:1 对标)
│       ├── app.py               # 路由入口(5页面 + 13个API)
│       ├── task_manager.py      # 任务管理器(_ThreadLocalStdout + stop_flag协作取消 + artifacts枚举)
│       ├── templates/           # 7 个 Jinja2 模板(dashboard/scan/task/seeds/report/error/base)
│       ├── static/css/style.css # 暗色科技主题 + 响应式 + Tab面板样式
│       └── static/js/app.js     # SSE实时更新 + 中间产物6Tab渲染 + 三维联动筛选搜索
├── rules/
│   └── p1_mvc/                  # P1 MVC-k=3 Semgrep规则(4语言×16漏洞=64条)
│       ├── js_3x.yaml           # JavaScript 16条(5P0+3P1+8原)
│       ├── py_3x.yaml           # Python 16条
│       ├── php_3x.yaml          # PHP 16条
│       └── java_3x.yaml         # Java 16条
├── seeds/
│   ├── raw/                     # 原始种子JSON(639个,导入用户种子仓库+V9母种子35模块×16漏洞)
│   └── parsed/seeds_db.json     # 统一种子库(JSON 索引,支持16标准漏洞类型)
├── queries/
│   └── seeds/                   # 自动生成的 .ql 查询
├── mvc-targets/                 # 🔴 4×16=64 个漏洞模拟靶场
│   ├── js-nest-mvc/             # Node.js + Express(16漏洞路由,端口3000)
│   ├── py-flask-mvc/            # Python + Flask(16漏洞路由,端口5000)
│   ├── php-laravel-mvc/         # PHP 内置服务器(16漏洞路由,端口8000)
│   └── java-spring-mvc/         # Java Spring Boot(16漏洞路由,端口8080)
├── tests/
│   ├── test_seed_parser.py
│   ├── test_matcher.py
│   └── test_headless_smoke.py
├── results/                     # 扫描+验证结果(每个任务 web_<task_id> 子目录,含kg/rl子目录)
├── reports/                     # Markdown 漏洞报告
├── config.yaml                  # 配置文件
├── requirements.txt             # Python依赖(新增 flask)
├── cli.py                       # CLI入口(新增 web 子命令:延迟导入优化)
├── run_64_verify.py             # 🔴 4靶场×16漏洞=64个验证器全量测试脚本
├── generate_v9_seeds.py         # V9母种子(35模块)生成脚本
├── fix_seed_quality.py          # 种子质量修复脚本(统一16漏洞类型 / 归类Other种子)
└── convert_seeds.py             # 用户种子仓库→ChainForge格式转换脚本

12. V2 → V4 升级路线(含 Web UI 能力)

维度V2V4
流水线6阶段线性10阶段深度闭环
代码分析CodeQL单引擎CodeQL + Semgrep P1双引擎
路径分析路径不敏感P0 Z3路径敏感(分支可达性)
上下文函数级P1 MVC-k=3跨3层(Controller→Service→DAO)
漏洞规则4漏洞×4语言🔴 16漏洞×4语言=64规则 (5P0 NoSQL/Deserial/Upload/Unauth/Info + 3P1 SSTI/Redirect/Code + 8原)
评分ruleId快路径100分知识图谱推理+Z3可达性+sanitizer过滤
验证单次验证(5类漏洞)RL反馈闭环+16漏洞快速通道全覆盖+route_param_repair路由/参数自动修复
前端漏洞不支持Headless Playwright(DOM XSS/CSRF/CORS)
种子库8条639条(用户种子仓库导入+V9母种子35模块×16漏洞)
靶场验证1个(JS 5/5)4靶场×16漏洞=64/64=100% Verifier直测 / Feedback闭环32/32=100% / JS+Py端到端13/13=100%
靶场服务无独立4靶场独立Mock服务(端口3000/5000/8000/8080,各含16漏洞路由)
自动修复route_param_repair自动修复路由/参数错配(赏金平台99%常见问题1秒修复)
可视化🔴 Flask Web UI(前后端1:1对标):SSE实时日志、中间产物6Tab、结果3维联动筛选、11项高级配置、取消任务+ZIP下载
异常可观测性bare except静默吞异常Tier 2-5 26处_log_exc异常摘要:verifier_v2(19) + feedback_loop(7),最后两行traceback可见
会话共享requests.get/post裸调用无CookieJar统一self._session + _send_post/_send_get对齐,登录态跨请求不丢失
命令注入安全风险subprocess shell=True(orchestrator_v4 / run_shell)shlex.split优先+shell=False,白名单字符过滤,禁止;

13. 安全声明与合法使用

本工具仅供授权的安全测试使用。使用者需确保:

  • 仅对已获得书面授权的目标进行测试
  • 遵守当地网络安全法律法规
  • 不对未授权目标执行动态验证(发送HTTP请求)
  • 发现漏洞后遵循负责任的披露流程

作者不对任何滥用本工具的行为承担责任。

14. 技术栈

  • CodeQL 2.19+ — AST+SSA 静态分析引擎
  • Semgrep — P1 MVC-k=3跨层数据流追踪引擎
  • Z3 Solver — P0路径敏感分支可达性约束求解
  • Playwright — Headless浏览器前端漏洞验证
  • Python 3.9+ — 核心实现语言
  • requests — 动态验证HTTP客户端
  • Mermaid — 报告中的数据流可视化
资源下载
下载价格2688 龙纹银币
终身VIP免费

原文链接:https://duduziy.com/856.html,转载请注明出处。 郑重声明: 本站所有内容仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。 如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。 如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

0
显示验证码
没有账号?注册  忘记密码?