--- name: pentest-report description: 按照标准格式生成渗透测试报告,包含项目信息表、漏洞发现清单、漏洞详情(含属性表、描述、复现步骤、证据截图、修复建议)、附录(风险等级定义、CVSS说明、词汇表)。当用户要求生成渗透测试报告、安全测试报告、漏洞报告时使用此技能。严格遵循项目模板目录中的标准格式。 --- # 渗透测试报告生成技能 ## 授权声明 **本 Skill 仅用于生成授权渗透测试的报告。使用前请确保:** - 测试已获得目标系统所有者的明确书面授权 - 所有漏洞发现均来自合法授权的测试活动 - 报告仅发送给授权人员 - 遵守当地法律法规和数据保护要求 **未经授权的渗透测试是非法行为。** --- ## 技能用途 在以下情况下使用此技能: - 用户要求生成渗透测试报告 - 用户要求输出安全测试结果 - 用户需要总结漏洞发现 - 用户明确提到"按格式生成报告"或"按照模板" --- ## 报告格式要求 ### 必需章节 所有报告必须包含以下章节,按顺序排列: 1. **标题和项目信息表** - 格式:`# 渗透测试报告:[目标系统名称/项目名称]` - 包含 4 字段表格:测试目标、测试时间、测试人员、报告日期 2. **漏洞发现清单 (Vulnerability Summary)** - 表格形式,包含列:ID、漏洞标题、风险等级、状态 - ID 格式:VL-001, VL-002, VL-003... - 风险等级图标:🔴严重、🟠高危、🟡中危、🔵低危、⚪信息 3. **漏洞详情 (Detailed Findings)** - 每个漏洞一个独立章节 - 章节标题:`### [VL-XXX] 漏洞标题` - 必须包含 4 个子章节: - `#### 2.1 漏洞描述` - `#### 2.2 复现步骤 (Proof of Concept)` - `#### 2.3 证据截图` - `#### 2.4 修复建议` 4. **附录 (Appendix)** - `### 3.1 风险等级定义` - 风险等级表格 - `### 3.2 CVSS 评分说明` - CVSS v3.1 说明 - `### 3.3 泄露凭证列表`(如有) - `### 3.4 测试工具参考` - 工具表格 - `### 3.5 词汇表` - `### 3.6 参考文档` 5. **报告签署** - 测试人员信息 - 免责声明 ### 漏洞详情章节格式 每个漏洞章节必须以属性表格开始: ```markdown | 属性 | 详情 | | :--- | :--- | | **风险等级** | 🔴 **严重 (Critical)** / 🟠 **高危 (High)** / 🟡 **中危 (Medium)** / 🔵 **低危 (Low)** | | **CVSS 评分** | 0.0 - 10.0 | | **漏洞类型** | [漏洞类型] | | **受影响URL** | `[完整URL]` | | **参数** | `[参数名]`(如有)| ``` ### 代码块格式 - HTTP 请求使用 `http` 语言标识 ```http POST /api/login HTTP/1.1 Host: example.com Content-Type: application/json {"username":"admin","password":"123456"} ``` - Bash 命令使用 `bash` 语言标识 ```bash sqlmap -u "http://target.com" --dbs ``` - PHP 代码使用 `php` 语言标识 ```php $stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$id]); ``` --- ## 工作流程 生成渗透测试报告时遵循以下步骤: ### 步骤 1: 收集信息 从用户获取以下信息: - 测试目标(URL 或系统名称) - 测试日期范围 - 测试人员信息 - 发现的漏洞列表 - 每个漏洞的详细信息(类型、影响、证据、PoC) ### 步骤 2: 确定漏洞 ID 为每个漏洞分配 ID: - 第一个漏洞:VL-001 - 第二个漏洞:VL-002 - 以此类推 ### 步骤 3: 评估风险等级 根据 CVSS 评分确定风险等级: | CVSS 范围 | 风险等级 | 图标 | |----------|----------|------| | 9.0 - 10.0 | 严重 (Critical) | 🔴 | | 7.0 - 8.9 | 高危 (High) | 🟠 | | 4.0 - 6.9 | 中危 (Medium) | 🟡 | | 0.1 - 3.9 | 低危 (Low) | 🔵 | | 0.0 | 信息 (Info) | ⚪ | ### 步骤 4: 生成报告主体 **按以下顺序生成**: 1. **项目信息表** - 填充 4 个必需字段 2. **漏洞发现清单** - 创建表格,包含所有漏洞的摘要信息 3. **漏洞详情** - 为每个漏洞创建独立章节: - 属性表格(风险等级、CVSS、类型、URL、参数) - 2.1 漏洞描述(2-3 段,说明原理、影响、危害) - 2.2 复现步骤(详细的步骤,包含 HTTP 请求和命令) - 2.3 证据截图(占位符或描述) - 2.4 修复建议(包含错误和正确代码示例) 4. **附录** - 按模板包含所有必需子章节 ### 步骤 5: 验证格式 生成报告后检查: - [ ] 标题格式正确 - [ ] 项目信息表包含 4 个字段 - [ ] 漏洞发现清单包含 ID、标题、风险等级、状态 - [ ] 每个漏洞有属性表格 - [ ] 每个漏洞有 4 个子章节(2.1-2.4) - [ ] 附录包含所有必需子章节 - [ ] 风险等级使用正确的图标 - [ ] 代码块使用正确的语言标识 ### 步骤 6: 输出报告 将生成的报告保存到用户的 reports 目录: ``` /Users/huimingliao/Documents/code/pentest-skills/reports/ ``` 文件命名格式: ``` pentest_report_[目标系统]_[日期].md ``` --- ## 重要注意事项 ### 必须遵守的格式规则 1. **表格格式**:所有表格必须包含表头分隔行 `| :--- | :--- |` 2. **风险等级图标**:必须使用指定的 emoji 图标 3. **章节编号**:严格遵守 2.1、2.2、2.3、2.4 的子章节编号 4. **代码语言**:所有代码块必须指定语言标识 5. **ID 格式**:漏洞 ID 必须是 VL-XXX 格式,3 位数字 ### 避免常见错误 ❌ 不要省略附录章节 ❌ 不要混合使用不同的风险等级表示方式 ❌ 不要在属性表中缺少必需字段 ❌ 不要在复现步骤中省略 HTTP 请求示例 ❌ 不要在修复建议中只提供文字说明(必须包含代码示例) ✅ 每个漏洞必须包含完整的 4 个子章节 ✅ 修复建议必须包含代码对比(错误 vs 正确) ✅ 所有表格必须有正确的 Markdown 格式 ✅ 必须包含免责声明 --- ## 模板资源位置 - **报告模板**:`/Users/huimingliao/Documents/code/pentest-skills/templates/pentest_report_template.md` - **参考报告**:`/Users/huimingliao/Documents/code/pentest-skills/reports/pentest_report_localhost_9999_v2.md` - **报告目录**:`/Users/huimingliao/Documents/code/pentest-skills/reports/`