AnshumanAtrey/certin-report-maker
GitHub: AnshumanAtrey/certin-report-maker
一款 Claude Code 插件,从 PoC 截图自动生成符合 CERT-In 附件-A 规范的 VAPT 报告,并完成 CWE/CVE/CVSS/EPSS 的自动化验证与溯源。
Stars: 0 | Forks: 0
# certin-report-maker
**从您的 PoC 截图生成 CERT-In 附件-A VAPT 报告。**
适用于参加 CERT-In OLPST 资质认证考试的公司的一款 Claude Code 插件。
[](LICENSE)
[](https://code.claude.com)
[]()
[快速开始](#quick-start) · [用户流程](#user-flow) · [生成内容](#what-it-produces) · [免责声明](DISCLAIMER.md) · [安全性](SECURITY.md)
## 目标用户
正在经历 CERT-In **在线渗透技能实验室 (OLPST)** 资质认证流程的印度信息安全审计公司。考试要求提交一份格式符合 CERT-In 交战规则 **附件-A** 的详细 VAPT 报告,并对每个发现进行 CWE/CVE/CVSS/EPSS 验证。
**您只需提供:** 漏洞利用阶段的 PoC 截图、您公司的品牌详细信息以及目标列表。
**此插件将生成:** 一份完整的 `output/CERT-IN-Report.docx`,其中每个发现都经过验证且具备源码可追溯性。
## 快速开始
```
# 1. Clone
git clone https://github.com/AnshumanAtrey/certin-report-maker.git
cd certin-report-maker
# 2. 作为 Claude Code 插件安装
./install.sh
# 3. 在此目录中打开 Claude Code
claude
```
然后放入您的 PoC,填写 `brand-guidelines.md` 和 `targets.yaml`,并运行 `/certin-build`。
## 用户流程
### 步骤 1 — 放入您的 PoC 截图
文件夹名称将**原样**作为 `name_of_vulnerability` 字段(拼写错误、空格、大小写混合均会保留——以符合附件-A 规则)。
```
poc/
├── web/ ← Web scope PoCs
│ ├── 01_SQL_Injection_Login_Form/
│ │ ├── 1_burp_intercept.png
│ │ ├── 2_payload_response.png
│ │ └── 3_db_extract.png
│ ├── 02_Stored_XSS_Comment_Field/
│ └── 03_Missing_HSTS_Header/
│
└── server/ ← Network / server PoCs
├── 01_Jenkins_Script_Console_RCE/
├── 02_LDAP_Anonymous_Bind/
└── 03_SSH_Weak_Cipher_Suite/
```
有关命名约定以及每张截图应证明的内容,请参阅 [`poc/EXAMPLE.md`](poc/EXAMPLE.md)。
### 步骤 2 — 填写 brand-guidelines.md
关于**您公司**的所有信息都在这里。打开 [`brand-guidelines.md`](brand-guidelines.md) 并填写:
- 公司名称、CIN、完整联系方式(姓名 / 邮箱 / 电话)
- CERT-In 参与代码
- 测试周期
- 团队名单(CISO、审计员、测试人员——姓名 + 职务)
- 采用的标准(OWASP、OSSTMM、SANS-25、CIS、CVSS 3.0)
- 使用的工具(Burp Pro、Nessus、Metasploit 等)
- 攻击方法论(您公司的自有风格)
### 步骤 3 — 填写 targets.yaml
本次测试任务的实验目标:
```
scopes:
- name: Network
host: "
"
ip: ""
services: ["", ""]
- name: Web
host: ""
ip: ""
services: [WebApp]
```
### 步骤 4 — (可选) 放入扫描数据
将自动化扫描输出放入 `scans/` 目录下,Claude 将交叉参考以获取严重程度、CVE 引用和 CVSS 提示:
```
scans/
├── nessus.html # Nessus Pro export
├── burp.xml # Burp Suite Pro export
└── nmap.txt # nmap output
```
### 步骤 5 — 运行
在 Claude Code 中:
```
/certin-build
```
以下是具体执行步骤:
1. **读取输入** — `brand-guidelines.md`、`targets.yaml`,遍历 `poc/web/` 和 `poc/server/`。
2. **澄清** — Claude 会提出 3-5 个针对性问题(例如:“我看到 `02_LDAP_Anonymous_Bind` 和 `04_LDAP_Anon` — 是同一个发现还是两个?”)。
3. **针对每个发现并行启动子代理:**
- `cwe-validator` → 获取 MITRE 数据,确认 Usage 为 `ALLOWED` 或 `ALLOWED-WITH-REVIEW`
- `cve-validator` → 获取 NVD 数据,确认受影响版本范围
- `cvss-calculator` → 应用 FIRST.org v3.1 规范,展示各指标的数学计算
- `epss-lookup` → 获取 `api.first.org/data/v1/epss` 数据
- `finding-writer` → 编写附件-A JSON 条目
4. **写入** — 为每个发现生成 `jsons/NNN_.json`(每个条目都包含带有逐字源摘录的 `cwe_cve_audit` 字段)。
5. **对抗性 QA** — `report-reviewer` 会独立重新获取每个引用的 CWE/CVE/EPSS 并标记偏差。
6. **组装** — `scripts/assemble_docx.py` 将每个条目合并为 `output/CERT-IN-Report.docx`。
### 步骤 6 — 审查
- 打开 `output/CERT-IN-Report.docx`。
- 每个条目的 `cwe_cve_audit` 字段包含逐字的 MITRE Usage 值、NVD 版本范围字符串和 EPSS API JSON — CERT-In 评估员可以在干净的 Shell 环境中重新获取并验证。
- 迭代单个发现:`/certin-rebuild 015`。
## 生成内容
对于每个发现,将生成一个符合 **附件-A** 架构的 JSON 条目:
```
{
"s_no": "001",
"name_of_vulnerability": "",
"severity": "Critical|High|Medium|Low",
"vulnerable_location": "...",
"vulnerable_path_port_url": "...",
"vulnerable_parameter": "...",
"cve_cwe": "CWE-89, CVE-2024-XXXX",
"cvss_epss_score": "CVSS v3.1 Base 9.8 (...) — Critical; EPSS 1.23% (lookup 2026-05-16)",
"description": "...",
"poc_intro": "...",
"poc_steps": [{"step_number": 1, "caption": "...", "image_path": "..."}],
"recommendations": ["..."],
"references": "...",
"additional_observations": "...",
"cwe_cve_audit": "",
"cvss_audit": ""
}
```
然后使用您公司的 `templates/annexure-a.docx` 模板打包成 Word 文档。
## 此插件不做的事
- **它不会执行任何漏洞利用。** 请自带 PoC 截图;这是*报告*生成层。
- **它不保证通过资质认证。** 评估员会对 PoC 质量、技术深度和写作进行评分——Claude 可以验证引用和结构,但无法提供洞察力。
- **它不会绕过 CERT-In 规则。** 请阅读您考试周期的交战规则 PDF,并在使用前确认允许使用 AI 辅助生成报告。
在漏洞利用阶段,请将此插件与 [0xSteph/pentest-ai-agents](https://github.com/0xSteph/pentest-ai-agents) 或您现有的工具包结合使用。
## 硬性规则(由验证器强制执行)
这些规则反映了 CERT-In 协调方验证器的检查内容。违反这些规则 = 条目被拒绝。
| 规则 | 来源 |
|---|---|
| CWE 必须是 `ALLOWED` 或 `ALLOWED-WITH-REVIEW`(绝不能是 PROHIBITED、DISCOURAGED 或 Category) | [cwe.mitre.org](https://cwe.mitre.org) |
| CVE 受影响版本范围必须与目标匹配 | [nvd.nist.gov](https://nvd.nist.gov) |
| CVSS v3.1 指标需按规范计算,并显示各指标的数学计算过程 | [first.org/cvss/v3.1/specification-document](https://www.first.org/cvss/v3.1/specification-document) |
| EPSS 概率需根据查找日期针对每个 CVE 获取 | [api.first.org/data/v1/epss](https://api.first.org/data/v1/epss) |
| 过时组件的发现要求至少包含 1 个已验证的 CVE | 由 `finding-writer` 强制执行 |
| 文件夹名称必须原样保留为 `name_of_vulnerability` | 由 walker 强制执行 |
已知的 **PROHIBITED / DISCOURAGED / Category** CWE 列表(截至此插件最后一次更新——提交前请务必在 MITRE 重新验证):
- **PROHIBITED — 永远不要引用:** `CWE-1187`
- **DISCOURAGED — 替换为具体的子项:** `CWE-200`、`CWE-269`、`CWE-284`、`CWE-285`、`CWE-287`、`CWE-693`
- **Category 页面 — 不适用于漏洞映射:** `CWE-254`、`CWE-264`、`CWE-388`
## 命令
| 命令 | 作用 |
|---|---|
| `/certin-build` | 完整流水线。读取输入,进行验证,写入 JSON,组装 docx。 |
| `/certin-rebuild ` | 按序号 (S.No.) 重新运行单个发现。 |
| `/certin-status` | 显示进度:哪些发现已写入、已验证或待处理。 |
## 项目布局
```
certin-report-maker/
├── .claude-plugin/plugin.json # plugin manifest
├── .claude/
│ ├── agents/ # cwe/cve/cvss/epss validators, writer, reviewer
│ └── commands/ # /certin-build, /certin-rebuild, /certin-status
├── poc/
│ ├── web/ # ← your web PoC folders
│ └── server/ # ← your network PoC folders
├── scans/ # ← (optional) Nessus/Burp/nmap output
├── jsons/ # generated Annexure-A JSON entries
├── output/ # final CERT-IN-Report.docx
├── templates/ # bring your firm's senior-formatted .docx
├── scripts/assemble_docx.py # JSON → .docx assembler
├── brand-guidelines.md # ← your firm details
├── targets.yaml # ← the lab targets
├── CLAUDE.md # house rules Claude reads first
├── DISCLAIMER.md # regulatory framing — read this
└── SECURITY.md # responsible-use policy
```
## 许可证
MIT — 详见 [LICENSE](LICENSE)。
## 致谢
受以下项目启发:[0xSteph/pentest-ai-agents](https://github.com/0xSteph/pentest-ai-agents)(安全模型、范围防护)、[pedrohcgs/claude-code-my-workflow](https://github.com/pedrohcgs/claude-code-my-workflow)(多代理模板 → 最终交付物)以及 [Pimzino/claude-code-spec-workflow](https://github.com/Pimzino/claude-code-spec-workflow)(分阶段流水线模式)。 标签:AES-256, AI辅助安全审计, Annexure-A, CERT-In, CISA项目, Claude插件, CVE, CVSS, EPSS, Homebrew安装, meg, OLPST考试, PoC截图转报告, Python, VAPT报告生成, Web漏洞, XSS, 人工智能, 信息安全, 印度安全审计, 安全合规工具, 数字签名, 文档自动化生成, 无后门, 漏洞情报, 漏洞评估, 用户模式Hook绕过, 网络安全合规, 网络安全审计, 自动化报告, 逆向工具