| name | deep-verify |
| description | 漏洞深度验证。对 trace-sink 和 trace-preauth 发现的调用链进行二次验证,确认调用链完整性和漏洞成立条件,生成 HTTP PoC,按利用效果和前置条件进行漏洞评分。用于:漏洞确认、PoC 生成、漏洞评级。触发词:deep verify、深度验证、漏洞验证、PoC 生成、Phase 6。 |
漏洞深度验证 (Phase 6)
适用场景
- 对 Phase 4/5 发现的潜在漏洞进行二次验证
- 生成可用的 HTTP PoC
- 作为
java-audit Phase 6 被调度执行
不适用场景
- 还没有追踪报告 → 先执行
trace-sink 和 trace-preauth
- 仅需搜索 Sink → 使用
find-sink
前置条件
- Serena MCP 已连接,目标项目已激活
.audit/trace-sink.md 已存在
.audit/trace-preauth.md 已存在
.audit/auth-analysis.md 已存在
反幻觉铁律
1. 每个调用链跳必须用 jet_brains_find_symbol(include_body=true) 重新确认代码
2. PoC 中的路径和参数必须与实际路由注解匹配
3. 无法完全确认的漏洞标记为 [Hypothesis],不得标记为 [Confirmed]
工作流程
Step 1: 收集待验证链路
读取 .audit/trace-sink.md 和 .audit/trace-preauth.md,提取所有标记为可利用的调用链。
Step 2: 调用链完整性验证
对每条调用链:
- 代码确认 — 每一跳用
jet_brains_find_symbol(include_body=true) 重新读取代码
- 签名匹配 — 确认方法签名和参数类型一致
- 调用关系确认 — 确认调用者方法体中确实调用了下一跳方法
- 参数传递确认 — 确认参数在每一跳中的传递路径与之前分析一致
Step 3: 漏洞成立条件判断
-
防护措施分析
- 检查是否有全局过滤器(XSS Filter、SQL Filter、WAF 等)
- 检查方法参数上是否有
@Valid、@Validated、自定义 Validator
- 检查调用链中是否有安全中间件
-
环境依赖分析
- 是否需要特定配置(如 Fastjson autoType 开启)
- 是否需要特定依赖版本
- 是否需要特定运行环境
-
权限依赖分析
- Preauth / Postauth 状态
- 需要什么角色或权限
-
参数约束分析
- 参数类型限制(String 可注入,Long/Integer 受限)
- 长度限制
- 格式校验(正则、白名单等)
Step 4: PoC 生成
对成立的漏洞链路,构造 HTTP 请求 PoC:
HTTP方法 完整URL路径
Content-Type: (如需)
Authorization: (如需 postauth)
其他必要请求头
请求体 (如需)
说明:
- 标注每个参数的含义和注入位置
- 标注预期结果(如:返回 /etc/passwd 内容、执行 id 命令等)
- 标注 PoC 是否需要额外条件(如特定 Cookie、Session 等)
Step 5: 漏洞评分
使用以下评分体系对每个已确认漏洞评分:
| 维度 | 权重 | 评分标准 |
|---|
| 利用效果 | 40% | RCE=10, 任意文件写入=9, 文件读取=8, SQL注入(数据泄露)=7, SSRF=6, 信息泄露=5 |
| 前置条件 | 30% | Preauth=10, 低权限用户=7, 高权限用户=4, 需特殊配置=2 |
| 参数可控性 | 20% | 完全可控=10, 部分可控=6, 需绕过=3 |
| 防护绕过 | 10% | 无防护=10, 有防护可绕过=6, 有防护难绕过=2 |
最终评分 = 利用效果×0.4 + 前置条件×0.3 + 参数可控性×0.2 + 防护绕过×0.1
分级:
- 严重 (Critical): 评分 ≥ 8
- 高危 (High): 评分 ≥ 6
- 中危 (Medium): 评分 ≥ 4
- 低危 (Low): 评分 < 4
Step 6: 输出结果
输出文件 1: .audit/deep-verify.md
包含每个漏洞的完整验证过程、PoC、评分详情的 Markdown 报告。
输出文件 2: .audit/vulnerabilities.json
{
"vulnerabilities": [
{
"id": "VULN-001",
"title": "漏洞标题",
"severity": "critical | high | medium | low",
"score": 9.2,
"vuln_type": "漏洞类型标识",
"status": "Confirmed | Hypothesis",
"entry_point": "HTTP方法 路由路径",
"sink": "Sink 描述",
"call_chain": "简化的调用链描述",
"auth_required": false,
"poc": {
"method": "GET | POST | ...",
"url": "完整 URL 含 payload",
"headers": {},
"body": null,
"expected_result": "预期结果描述"
},
"score_breakdown": {
"impact": 0,
"precondition": 0,
"controllability": 0,
"defense_bypass": 0
},
"remediation": "修复建议"
}
]
}