KonstiJo/pentest-report-skill
GitHub: KonstiJo/pentest-report-skill
将渗透测试原始发现转化为符合多种国际安全标准(BSI、OWASP、PCI-DSS 等)的审计就绪报告的合规性处理工具,支持 Claude 插件和独立 Python 流水线两种使用方式。
Stars: 0 | Forks: 0
# pentest-report
**一个用于渗透测试报告的合规性层。**
将原始发现或扫描器输出转化为审计就绪的报告 —— 支持德语或
英语 —— 并根据您实际需要满足的报告标准进行验证。
[]()
[]()
[](LICENSE)

## 为什么开发此工具
大多数渗透测试工具都处于以下两个极端之一:
- **渲染工具**(SysReptor, Ghostwriter, PwnDoc)能让报告*看起来*很棒,但
不检查内容是否满足监管标准。
- **测试工具**(nmap, Burp, Nuclei, Nessus, BloodHound)能发现问题,但止步于原始输出。
`pentest-report` 填补了介于两者之间的空白:它是一个 **polish 层**,能够产出
BSI 审计员、DiGA 评审员或 OSCP 考官真正会接受的内容。
它**不会**进行任何扫描、漏洞利用或测试 —— 它假设发现结果已经通过
授权的测试存在。
## 功能
- **提取** 原始扫描器输出,并将其规范化为统一的发现 schema。
- **丰富** 发现内容,包含 CVSS(3.1/4.0)、CWE、OWASP Top 10 / WSTG 和 MITRE ATT&CK
交叉引用;跨主机进行去重。
- **合规检查** 对照所选标准 —— 每个必需的章节、发现
字段和映射都会通过 PASS / FAIL / MISSING 检查清单进行验证。
- **渲染** 输出为 Markdown、PDF(WeasyPrint)以及 SysReptor 导入 JSON。
- **双语** 德语 / 英语,一等公民支持 —— 绝非机器翻译。
- **复测 / 差异报告** 对照之前的测试项目。
## 支持的报告标准(配置文件)
| 配置文件 | 标准 | 语言环境 |
|---|---|---|
| `bsi-praxisleitfaden-de` | BSI Praxis-Leitfaden für IS-Penetrationstests | de |
| `bsi-durchfuehrungskonzept-de` | BSI Durchführungskonzept (5-Phasen-Modell) | de |
| `owasp-wstg-en` | OWASP Web Security Testing Guide | en |
| `owasp-asvs-l2-en` | OWASP ASVS Level 2 | en |
| `ptes-en` | Penetration Testing Execution Standard | en |
| `nist-800-115-en` | NIST SP 800-115 | en |
| `pci-dss-v4-en` | PCI-DSS v4 (Req. 11.4) | en |
| `diga-bfarm-de` | DiGA / BfArM (DVPMG) | de |
| `oscp-en` | OffSec OSCP 24h exam format | en |
## 支持的工具解析器
| 输入 | 解析器 | 生成真实内容的命令 |
|---|---|---|
| nmap XML | `nmap_xml.py` | `nmap -sV -oX nmap.xml ` |
| Burp Suite issue export | `burp_xml.py` | Burp → Target → *Report issues* → XML |
| Nuclei JSONL | `nuclei_json.py` | `nuclei -u -jsonl -o out.jsonl` |
| Tenable Nessus | `nessus.py` | Nessus → *Export* → `.nessus` |
| Trivy SARIF | `trivy_sarif.py` | `trivy image --format sarif -o t.sarif ` |
| BloodHound JSON | `bloodhound_json.py` | BloodHound → run query → *Export graph* |
解析器会生成 **draft** 发现(`findings.draft.yaml`)。提升至最终的
`findings.yaml` 是显式的 —— 这样扫描器的误报就永远不会被静默地输出。
## 环境要求
```
pip install pyyaml jinja2 markdown weasyprint
```
`weasyprint` 是可选的 —— 没有它(或其系统库),pipeline 依然
会生成 Markdown 并写入中间的 HTML 而非 PDF,并且永远不会崩溃。
Python 3.8+。
## 快速开始
```
# 1. 根据标准验证发现(PASS/FAIL/MISSING 清单)
python3 scripts/compliance_check.py \
--findings examples/example-findings.yaml \
--profile owasp-wstg-en --profiles-dir profiles
# 2. 编译完整报告(Markdown + compliance.txt,可选 PDF)
python3 scripts/compile_report.py \
--findings examples/example-findings.yaml \
--profile bsi-praxisleitfaden-de --locale de \
--out out/ --pdf
# 3. 导出至 SysReptor
python3 scripts/export_sysreptor.py \
--findings examples/example-findings.yaml -o out/sysreptor-import.json
# 将原始 scanner 输出解析为草稿发现
python3 parsers/nmap_xml.py scan.xml -o findings.draft.yaml
# 运行内置 parser 自测
python3 scripts/selftest.py
```
## Pipeline
```
Ingest ─► Enrich ─► Compliance-check ─► Render
(parsers) (CVSS/CWE/ (profile-driven (Markdown /
ATT&CK, PASS/FAIL/MISSING) PDF / SysReptor)
dedupe)
```
## 仓库布局
```
pentest-report/
├── SKILL.md # Claude skill manifest
├── README.md # this file
├── references/ # finding schema, CVSS guide, voice/style, crosswalk
├── profiles/ # 9 compliance profiles (one per standard)
├── templates/ # Jinja2 report templates + print CSS
├── parsers/ # 6 tool-output parsers (+ samples/ self-test inputs)
├── scripts/ # compile_report, compliance_check, render_pdf, export_sysreptor, selftest
└── examples/ # example-findings.yaml
```
## 它不会做的事情
- 运行扫描、漏洞利用或任何主动探测 —— 由您提供发现结果。
- 虚构发现。如果配置文件要求一个没有数据的章节,它会发出一个 TODO
占位符,而不是捏造内容。
- 自动在德语和英语之间翻译 —— 审计级别的翻译需要人工完成。
- 在未选择配置文件的情况下输出 —— 您必须自觉选择一个标准。
## 安装
**作为 Claude Code 插件(推荐):**
```
/plugin marketplace add KonstiJo/pentest-report-skill
/plugin install pentest-report@pentest-report-skill
```
**作为普通 skill:** 将此目录放入您的 skills 文件夹中(Claude Code:
`~/.claude/skills/`,或您的 Cowork skills 文件夹),或安装打包好的
`pentest-report.skill` 包。
## 作为 Claude / Cowork skill 使用
然后询问,例如:
## 许可证
基于 [MIT 许可证](LICENSE) 发布。
## 免责声明
此工具仅用于对**授权的**安全测试进行报告的格式化和验证。
您有责任确保对于任何您处理其结果的测试项目,均已获得书面授权。
标签:Python, 恶意代码分类, 文档自动化, 无后门, 逆向工具, 防御加固