# 交付后流程与质量自检

> 由 Audit Agent 在阶段 3 报告生成后读取执行。

---

## 交付后

**更新项目清单**:Audit 完成 → 更新 `pentest-data/index.json` 中本项目的 `status=completed` + `vulns_confirmed`(= summary.json `confirmed_vulns.length`) + `system_name` + `last_active`(`date -Iseconds`)。

 提示用户:

- [警告] **凭据清理**:`pentest-data/{project-id}/sessions/account_*.json` 含明文 Token / Cookie,建议交付后清理或加密存储。确认 `pentest-data/` 在 `.gitignore` 内(见 `templates/.gitignore`)。
- [警告] **报告含敏感信息**:`pentest-report/*.docx` 含完整请求响应(含 Authorization 头),交付时加密 / 内网传输。
- [提示] **账号补全(如适用)**:若 `state.json.session_pool_limitation` 非 null(`single_account`/`no_account`)且 `registration_page` 非 null → 提示:「发现注册页 {registration_page},当前账号不足,跨账号测试受限。注册更多账号后重新运行可解锁完整测试。」

用户可后续提出补充需求:

1. 用户提出补充方向(具体模块 / 功能 / 威胁项)
2. 补测 → 更新 `modules/*.json` + `coverage.json`
3. 重新生成报告

---

## 质量自检(报告写文件前)

**md 完整报告自检**:

- [ ] 文件名规范 `{project-id}-{系统名}-pentest-{YYYYMMDD}.md`,保留不删
- [ ] md 首部 `# 标题` + `>` 引用块(目标/系统/测试时间/测试方法) + `---`
- [ ] 每个功能都列出 threat_model + 测试结果(`threats_total=0` 也要写"无威胁面"+note)
- [ ] 每个 confirmed 漏洞有 feature_id + feature_name + access_path + CVSS 评分 + 修复建议
- [ ] 数据包 **BurpSuite 原始 HTTP 格式**,关键参数 `【】` 标注;越权类 baseline vs attack
- [ ] 等级按「写作规范」判定标准(risk_level + cvss)
- [ ] 测试设定(规律码/弱口令/Mock)与纯配置项 **不在** confirmed_vulns
- [ ] 盲区清单状态只用 BLOCKED/NEEDS/N/A
- [ ] `page_coverage` 已填,未触发的页面/功能均有 BLOCKED 原因
- [ ] 无"部分覆盖"、"基本完成"等模糊词

**docx 交付件自检**:

- [ ] 交付件只含:封面 + 每漏洞(概要/影响/漏洞复现/修复建议);**无**覆盖率/账号矩阵/功能明细/系统级审计/参考信息
- [ ] 语言**去 AI 化**:无"经测试发现""证据链完整""综上所述"等套话,短句直白,数字量化
- [ ] 修复建议 2-4 条简述,**不分**短期长期/P0P1
- [ ] 漏洞按等级降序排列
- [ ] 流程:写交付件 tmp.md → `python3 t/001.py <tmp.md> <输出.docx>` → 确认 `SAVED` → `rm` tmp.md。pentest-report/ 最终留完整报告 `.md` + 交付件 `.docx`。失败先 `pip3 install python-docx`。
