report-generate
$
npx mdskill add wgpsec/AboutSecurity/report-generateGenerate formal penetration test reports with CVSS ratings.
- Converts raw vulnerability data into executive summaries.
- Integrates with evidence collection and vulnerability listing APIs.
- Applies CVSS 3.1 standards to assign severity levels.
- Outputs structured markdown with remediation priorities.
SKILL.md
.github/skills/report-generateView on GitHub ↗
--- name: report-generate description: "渗透测试报告生成。当完成安全评估需要输出正式报告时使用。覆盖报告结构模板、风险评级标准(CVSS)、漏洞描述写法、修复建议规范。适用于正式渗透测试报告和红队评估报告" metadata: tags: "report,报告,summary,documentation,渗透测试报告,风险评级,修复建议" category: "general" --- # 渗透测试报告生成方法论 报告是渗透测试的最终交付物——再厉害的攻击,如果报告写不好,客户看不懂,等于白做。 ## 数据采集 先收集所有已有数据: - `get_store_stats` — 整体统计 - `evidence_list`(按类型筛选)— 资产清单 - `list_vulns` — 漏洞列表 - `evidence_list` + `evidence_read`(筛选凭据类型)— 凭据(脱敏后放入报告) ## 报告结构模板 ### 1. 执行摘要(1 页,给管理层看) 用非技术语言概述: - 评估范围和时间 - **一句话结论**:整体安全状况如何(如"发现 3 个严重漏洞,攻击者可远程获取服务器完全控制权") - 关键数字:资产数量、漏洞数量(按等级分布) - 最紧急的行动项 ### 2. 评估范围与方法 - 目标清单(域名/IP/应用) - 测试类型(黑盒/灰盒/白盒) - 使用的方法论和工具 - 限制条件(时间、范围排除) ### 3. 发现总览 漏洞统计图表: ``` 严重: ■■ 2 高危: ■■■ 3 中危: ■■■■■ 5 低危: ■■■ 3 信息: ■■■■■■ 6 ``` ### 4. 漏洞详情(核心部分) 每个漏洞按以下结构描述: **[严重] SQL 注入 — 用户搜索功能** - **位置**:`https://target.com/search?q=` - **描述**:搜索参数未经过滤直接拼入 SQL 查询,攻击者可读取/修改/删除数据库内容 - **影响**:可获取所有用户数据(含密码哈希)、可读取服务器文件 - **复现步骤**: 1. 访问 `https://target.com/search?q=' OR 1=1--` 2. 页面返回所有记录(正常应只返回匹配项) 3. 使用 `UNION SELECT` 可提取 users 表 - **修复建议**:使用参数化查询(Prepared Statement),禁止字符串拼接 SQL ### 5. 风险评级标准 使用 CVSS 3.1 或简化版: | 等级 | CVSS | 典型场景 | |------|------|----------| | 严重 | 9.0-10.0 | RCE、SQL注入可获取shell、认证完全绕过 | | 高危 | 7.0-8.9 | 敏感数据泄露、权限提升、任意文件读取 | | 中危 | 4.0-6.9 | 存储型XSS、CSRF、信息泄露 | | 低危 | 0.1-3.9 | 反射型XSS、目录列表、版本泄露 | | 信息 | 0 | 安全配置建议、最佳实践偏离 | ### 6. 修复建议优先级 按修复紧迫性排序: 1. **立即修复**:严重和高危漏洞 2. **计划修复**:中危漏洞(下个版本) 3. **择机改进**:低危和信息级 ### 7. 附录 - 工具列表和版本 - 详细测试时间线 - 原始扫描数据(可选) ## 写作原则 - **可复现**:技术人员看完复现步骤能自己验证 - **可理解**:管理层看完执行摘要能理解风险 - **可操作**:修复建议具体到代码/配置级别 - **不夸大**:客观描述风险,不为了显得重要而提升等级 - 避免主观情绪化表述,保持专业