| name | gen-report |
| description | Java 代码审计标准化报告生成。汇总 Phase 0-6 所有中间产物(recon.md、routes.json、auth-analysis.md、sinks.md、trace-sink.md、trace-preauth.md、vulnerabilities.json、deep-verify.md),生成结构化的最终审计报告。用于:审计报告输出、漏洞汇总。触发词:gen report、生成报告、审计报告、report generation、Phase 7。 |
标准化报告生成 (Phase 7)
适用场景
- 所有审计阶段完成后,汇总生成最终审计报告
- 作为
java-audit Phase 7 被调度执行
不适用场景
前置条件
.audit/ 目录下存在以下文件:
recon.md (Phase 0)
routes.json (Phase 1)
auth-analysis.md (Phase 2)
preauth-routes.json (Phase 2)
sinks.md + sinks.json (Phase 3)
trace-sink.md (Phase 4)
trace-preauth.md (Phase 5)
deep-verify.md + vulnerabilities.json (Phase 6)
工作流程
Step 1: 读取所有中间产物
依次读取 .audit/ 下所有文件,提取关键数据。
Step 2: 生成报告
输出 .audit/audit-report.md,结构如下:
# Java 代码安全审计报告
> 生成时间:{ISO8601 时间戳}
## 1. 项目概览
(从 recon.md 提取)
- 项目名称
- 模块结构
- 框架技术栈(Web 框架、安全框架、ORM、序列化库)
## 2. 审计范围
(从 routes.json 提取)
- 路由端点统计(Controller / Servlet / JSP / RPC / WebSocket)
- 代码覆盖范围概述
## 3. 风险摘要
(从 vulnerabilities.json 提取)
### 漏洞统计
| 严重级别 | 数量 |
|----------|------|
| 严重 (Critical) | N |
| 高危 (High) | N |
| 中危 (Medium) | N |
| 低危 (Low) | N |
### 关键发现
- 按评分从高到低列出 Top 5 漏洞的标题、类型、入口、评分
## 4. 鉴权分析
(从 auth-analysis.md 提取)
- Filter/Interceptor 链概览
- 安全框架类型
- Preauth 路由数量和列表
- 鉴权覆盖盲点(如有)
## 5. 漏洞详情
(从 deep-verify.md 和 vulnerabilities.json 提取)
按严重级别分组,每个漏洞包含:
### 5.1 严重 (Critical)
#### VULN-001: {标题}
- **漏洞类型**: {类型}
- **评分**: {分数}
- **入口点**: {HTTP方法 路由路径}
- **鉴权要求**: {Preauth / Postauth(条件)}
- **调用链**:
(从 deep-verify.md 提取完整调用链)
- **PoC**:
```http
{HTTP 请求}
5.2 高危 (High)
...
5.3 中危 (Medium)
...
5.4 低危 (Low)
...
6. Hypothesis 清单
(从 trace-sink.md 和 trace-preauth.md 中提取标记为 [Hypothesis] 的发现)
7. Sink 点统计
(从 sinks.json 提取)
- 各类型 Sink 数量汇总
- 已确认可利用 / 待确认 / 已排除 的比例
8. 审计结论
- 整体安全评估(安全等级)
- 最严重的风险点总结
- 优先修复建议(按严重级别排序)
### Step 3: 验证报告完整性
检查报告是否包含所有章节(1-8),缺失的章节标注"数据不可用"而非留空。
---
## 注意事项
- 报告中引用的代码片段和文件路径必须与前序阶段输出一致,不得新增未验证内容
- 如果某阶段输出文件缺失,在对应章节注明"该阶段未执行"
- 漏洞详情中的调用链和 PoC 直接引用 deep-verify.md 内容,不做额外修改