C
CVE 观察清单与处置建议生成器
作者:鹿Sir开发工具v1
为代码仓库生成按实际风险排序的 CVE 观察清单与可执行的安全处置建议:综合严重性、可达性、可利用性与依赖关键度加权评分,输出含升级、缓解、监控、豁免等具体下一步动作的 Markdown 报告,可用于安全评审与 CI/CD 安全门禁。当用户需要分析 CVE 扫描结果、编写安全报告、排列漏洞修复优先级或生成 CI 安全门禁报告时触发。触发词:CVE 分析、漏洞优先级、安全报告、漏洞观察清单。
下载量
382
点赞
95
价格
免费
技能文档
---
name: arabelatso-cve-watchlist-action-recommendation-generator
title: CVE 观察清单与处置建议生成器
category: 开发工具
description: 为代码仓库生成按实际风险排序的 CVE 观察清单与可执行的安全处置建议:综合严重性、可达性、可利用性与依赖关键度加权评分,输出含升级、缓解、监控、豁免等具体下一步动作的 Markdown 报告,可用于安全评审与 CI/CD 安全门禁。当用户需要分析 CVE 扫描结果、编写安全报告、排列漏洞修复优先级或生成 CI 安全门禁报告时触发。触发词:CVE 分析、漏洞优先级、安全报告、漏洞观察清单。
---
# CVE 观察清单与处置建议生成器
为开发与安全团队生成按实际风险排序的 CVE 观察清单,并给出可落地执行的处置建议。
## 技能工作流
### 步骤1:收集输入数据
收集所需输入:
**必需:**
- 仓库名称 / 路径
- CVE 扫描结果(来自 npm audit、pip-audit、Snyk 等工具的 JSON / SARIF 格式)
- 截止日期(YYYY-MM-DD),用于筛选新增 CVE
**可选但推荐:**
- 可达性分析结果(漏洞代码路径是否实际被调用)
- 漏洞利用情报(CISA KEV、ExploitDB)
- 依赖关键度评级(每个依赖对业务的关键程度)
**解析扫描结果:**
```bash
python scripts/parse_scan_results.py scan_results.json auto 2024-01-01 > parsed_cves.json
```
### 步骤2:计算风险评分
综合多个风险因子为 CVE 排序:
```bash
python scripts/calculate_risk_score.py parsed_cves.json reachability.json exploits.json criticality.json > scored_cves.json
```
**风险评分公式:**
```
风险分 = (严重性 × 0.35) + (可达性 × 0.30) + (可利用性 × 0.20) + (依赖关键度 × 0.15)
```
评分方法论详见 [risk_scoring.md](references/risk_scoring.md)。
### 步骤3:生成处置建议
对每条 CVE,依据风险分与上下文确定合适的处置动作:
**决策树:**
- 风险分 ≥ 80(严重)→ 立即升级(24–48 小时)
- 风险分 60–79(高)→ 数天内升级(3–5 天)
- 风险分 40–59(中)→ 下个维护周期(2–4 周)
- 风险分 20–39(低)→ 监控或延后
- 风险分 < 20(极低)→ 说明理由后豁免
完整决策树与建议模板详见 [action_guidelines.md](references/action_guidelines.md)。
### 步骤4:生成报告
按模板生成 Markdown 报告。
**报告结构:**
1. 执行摘要(按风险档统计 CVE 数量)
2. 排序后的 CVE 观察清单(按风险档分组)
3. 每条 CVE 包含:
- 风险分及各因子分解
- 受影响包与版本
- 可达性状态
- 漏洞利用可得性
- 具体处置建议
- 升级命令
- 缓解方案(如适用)
4. 行动汇总(立即 / 短期 / 中期)
5. 依赖总览
6. 下一步工作
使用 [assets/report_template.md](assets/report_template.md) 中的模板。
## 输入格式
### CVE 扫描结果
**npm audit(JSON):**
```json
{
"vulnerabilities": {
"package-name": {
"via": [{
"cve": ["CVE-2024-1234"],
"severity": "high",
"title": "SQL Injection",
"url": "https://..."
}],
"fixAvailable": {"version": "2.0.0"}
}
}
}
```
**pip-audit(JSON):**
```json
{
"dependencies": [{
"name": "package-name",
"version": "1.0.0",
"vulns": [{
"id": "CVE-2024-1234",
"fix_versions": ["2.0.0"],
"description": "..."
}]
}]
}
```
**Snyk(JSON):**
```json
{
"vulnerabilities": [{
"id": "SNYK-...",
"identifiers": {"CVE": ["CVE-2024-1234"]},
"packageName": "package-name",
"severity": "high",
"cvssScore": 7.5
}]
}
```
### 可达性分析
```json
{
"package-name": {
"status": "direct_call",
"details": "Called from src/auth.js:42"
},
"other-package": {
"status": "not_reachable",
"details": "Dev dependency only"
}
}
```
**状态取值:** `direct_call`、`indirect_call`、`imported_unused`、`not_reachable`、`unknown`
### 漏洞利用情报
```json
{
"CVE-2024-1234": {
"actively_exploited": true,
"public_exploit": true,
"poc_available": true,
"source": "CISA KEV"
}
}
```
### 依赖关键度
```json
{
"package-name": {
"level": "critical",
"reason": "Handles authentication and authorization"
},
"dev-tool": {
"level": "minimal",
"reason": "Development-only linting tool"
}
}
```
**级别取值:** `critical`、`high`、`medium`、`low`、`minimal`
## 输出示例
````markdown
# CVE 安全报告
**仓库**: my-app
**截止日期**: 2024-01-01
**新增 CVE**: 5
| 风险档 | 数量 | 要求动作 |
|--------|------|----------|
| 🔴 严重 | 1 | 立即处理(24-48h) |
| 🟠 高 | 2 | 数天内(3-5d) |
| 🟡 中 | 1 | 下个周期(2-4w) |
| 🟢 低 | 1 | 监控 |
---
### 🔴 严重风险
#### CVE-2024-1234: SQL Injection in database-driver
**风险分**: 96 / 100(严重)
**受影响包**: database-driver@1.2.3
**严重性**: Critical(CVSS 9.8)
**可达性**: src/db/query.js:42 直接调用
**可利用性**: 存在公开利用代码(ExploitDB)
**处置**: 需立即升级
**步骤**:
1. 将 database-driver 从 1.2.3 升级到 2.0.0
2. 运行完整测试套件
3. 携带回滚方案上线
**命令**:
```bash
npm install database-driver@2.0.0
```
**不处理的风险**: 攻击者可执行任意 SQL 查询,导致数据泄露
````
## 实践要点
- **尽量提供可达性数据** — 能显著提升优先级排序的准确性
- **推荐立即升级前先确认修复版本有无破坏性变更**
- **数据缺失时记录假设**(如「可达性未知,按中等风险处理」)
- **为每种包管理器给出具体命令**(npm、pip、maven 等)
- **升级受阻时给出高危 CVE 的缓解方案**
- **附上 CVE 详情与安全公告链接**,便于深入核查
- **同一包的多条 CVE 合并处理**,一次升级修复全部时应在报告中说明
## 资源清单
### scripts/
- `parse_scan_results.py` — 解析 npm audit、pip-audit、Snyk、SARIF 格式的扫描结果
- `calculate_risk_score.py` — 按多因子加权计算综合风险分
### references/
- `risk_scoring.md` — 评分方法论与各因子计算规则
- `action_guidelines.md` — 生成处置建议的完整决策树
### assets/
- `report_template.md` — Markdown 报告模板结构使用说明
# CVE 观察清单与处置建议生成器 为代码仓库生成按实际风险排序的 CVE 观察清单与可执行处置建议,综合严重性、可达性、可利用性与依赖关键度四因子加权评分,输出可直接进入缺陷跟踪与 CI 安全门禁的 Markdown 报告。 ## 使用 ```bash # 1. 解析扫描结果(支持 npm audit / pip-audit / Snyk / SARIF) python scripts/parse_scan_results.py scan_results.json auto 2024-01-01 > parsed_cves.json # 2. 计算综合风险分(可选传入可达性 / 利用情报 / 依赖关键度数据) python scripts/calculate_risk_score.py parsed_cves.json reachability.json exploits.json criticality.json > scored_cves.json # 3. 让 Agent 按 scored_cves.json 生成报告 基于 scored_cves.json 生成 CVE 安全报告 ``` ## 工作原理 - **四因子评分**:风险分 = 严重性×0.35 + 可达性×0.30 + 可利用性×0.20 + 依赖关键度×0.15 - **分档处置**:≥80 立即升级(24-48h)、60-79 数天内、40-59 下个周期、20-39 监控、<20 附理由豁免 - **报告输出**:执行摘要 + 分档清单 + 每条 CVE 的升级命令 / 缓解方案 + 行动汇总 - 评分方法论见 `references/risk_scoring.md`,处置决策树见 `references/action_guidelines.md`,报告模板见 `assets/report_template.md`
支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手