# Pentest Report

> 按照标准格式生成渗透测试报告，包含项目信息表、漏洞发现清单、漏洞详情（含属性表、描述、复现步骤、证据截图、修复建议）、附录（风险等级定义、CVSS说明、词汇表）。当用户要求生成渗透测试报告、安全测试报告、漏洞报告时使用此技能。严格遵循项目模板目录中的标准格式。

- Skill: `crazymarky/pentest-report` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add crazymarky/pentest-report`
- Raw SKILL.md: https://api.skillmd.com/api/skills/crazymarky/pentest-report/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: crazymarky (https://skillmd.com/u/crazymarky)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/crazymarky/pentest-report

---


# 渗透测试报告生成技能

## 授权声明

**本 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/`

