如何通过单个CWE ID获取对应的CVE列表?
获取指定CWE ID对应的CVE列表的方法
方法一:调用NVD官方API
NIST的国家漏洞数据库(NVD)提供REST API支持按CWE ID筛选CVE:
- 构造请求时添加
cweId参数指定目标CWE编号,格式为https://services.nvd.nist.gov/rest/json/cves/2.0?cweId=CWE-[你的ID] - 使用命令行工具配合JSON解析工具提取结果,例如
curl+jq:# 替换CWE-79为你要查询的CWE ID curl -s "https://services.nvd.nist.gov/rest/json/cves/2.0?cweId=CWE-79" | jq '.vulnerabilities[].cve.id' - 注意:API有请求频率限制,批量查询需控制速率;
jq工具需提前安装用于解析JSON。
方法二:本地处理NVD数据集
适合离线或批量处理场景:
- 从NVD官网下载完整的CVE JSON数据集(可选择近期更新包或全量包)
- 用脚本筛选目标CWE对应的CVE,以下是Python示例:
import json dataset_file = "nvdcve-2.0-recent.json" # 替换为你的数据集文件路径 target_cwe = "CWE-79" # 替换为目标CWE ID with open(dataset_file, "r", encoding="utf-8") as f: data = json.load(f) matching_cves = [] for vuln in data["vulnerabilities"]: cve = vuln["cve"] # 遍历该CVE关联的所有弱点 for weakness in cve.get("weaknesses", []): if weakness.get("cweId") == target_cwe: matching_cves.append(cve["id"]) break # 打印结果 for cve_id in matching_cves: print(cve_id)
方法三:使用CWE官方映射数据
CWE官网提供了CVE关联数据:
- 进入目标CWE的详情页面,找到"CVE Mappings"相关板块,导出CSV或XML格式的关联文件
- 用Excel、Python的
pandas库等工具,筛选出对应CWE ID的CVE条目
内容的提问来源于stack exchange,提问作者Mahesh T.
相关产品推荐
相关产品推荐

