anthonyonazure/pen-test-reporter
GitHub: anthonyonazure/pen-test-reporter
基于 LangGraph 的智能代理,将 Nuclei、Nmap、Burp 等扫描器的原始输出自动转化为结构清晰、含修复建议和审计校验的专业渗透测试 PDF 报告。
Stars: 0 | Forks: 0
# pen-test-reporter
[](https://github.com/anthonyonazure/pen-test-reporter/actions/workflows/tests.yml)
[](https://www.python.org/)
[](LICENSE)
LangGraph agent,用于将原始扫描器输出(nuclei、nmap、burp 风格的 JSON)转换为精美的渗透测试报告 PDF。**根据 template-id 去重**,将受影响的主机按行分组,生成针对每个发现的修复建议,按严重程度对索引进行排序,并生成用于审计追踪的 SHA-256 校验文件。
## 它解决了什么问题
渗透测试人员通常要花费半个周五的时间,将 800 行 `nuclei` 输出和 `nmap` XML 转换为一份 30 页的 Word 文档,内容仅仅是“是的,你的 12 台主机上存在相同的问题。”而本工具将这一切浓缩为一条命令。
## 架构
```
parse (multi-scanner) ──► dedup (group by template_id × severity) ──►
narratives (exec summary + per-finding remediation, parallel) ──►
pdf (cover, exec summary, index, full detail with evidence)
```
### 示例报告
来自 `nuclei.jsonl` + `nmap.xml` 的 19 个原始发现被去重为 14 个独立问题,涵盖 critical / high / medium / low / info 级别。每个发现都会在行内列出所有受影响的主机,并提供单独的修复建议段落。
-pentest-report.pdf
└── -pentest-report.sha256
out/
└── .json # machine-readable run trace
```
## 支持的扫描器
| 扫描器 | 输入格式 | 严重性启发式 |
|---|---|---|
| **nuclei** | JSONL(每行一个发现) | 直接使用扫描器的严重性级别 |
| **nmap** | XML | 暴露的高风险服务(RDP/SMB/MySQL/MongoDB/Redis 等)被判定为 `high`;根据最低安全版本检查过期的产品 |
| **burp 风格 JSON** | JSON 数组 | 在内部转换为 JSONL |
添加新的扫描器只需编写一个解析器函数,输出标准化的 Finding 结构。后续将应用相同的去重和渲染流程。
## 目录结构
```
samples/
├── nuclei.jsonl # 12-finding demo input
└── nmap.xml # 7-port demo input
src/pentest/
├── parsers.py # nuclei + nmap → Finding[]
├── dedup.py # group by (template_id, severity); host count + samples
├── narrative.py # exec summary + per-finding remediation (LLM + stub)
├── state.py / graph.py / nodes.py # LangGraph: parse → dedup → narratives → pdf
└── cli.py # `pentest run `
templates/report.html # WeasyPrint report template
```
## 为什么这难以伪造
1. **严重性由扫描器决定,而非 LLM。** 我们直接原样使用 nuclei 的严重性级别;nmap 的启发式规则是带有版本比较的确定性 Python 代码。审计人员可以信任它。
2. **每个发现都引用了源扫描器和 template id。** 审阅人员可以重新运行扫描器进行验证。
3. **PDF 的 SHA-256 会写入校验文件。** 审计人员可以验证报告在生成后是否被篡改。
标签:AI安全工具, Burp Suite, C2, DLL 劫持, Google, GPT, LangGraph, Nmap, Nuclei, PDF生成, Python, SHA-256校验, 大语言模型, 安全合规, 安全工具链, 密码管理, 插件系统, 数据去重, 无后门, 无线安全, 漏洞管理, 网络代理, 网络安全, 网络安全审计, 自动化报告, 虚拟驱动器, 隐私保护