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`

如何安装此技能?

访问技能市场,点击「安装」按钮,按提示将技能包放入 AI 编程助手的 skills 目录即可。

浏览技能市场

支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手