适用人群
国家漏洞数据库(NVD)数据对安全分析师、漏洞管理者和DevSecOps专业人员至关重要,他们既需要进行CVE查询又需要监控历史变更日志。本工作流通过提供结构化输出用于审计、分类或合规跟踪,帮助简化这些工作。
📝 注意:虽然本示例使用Google表格作为目标,但您可以根据具体自动化需求轻松修改最终目标节点(例如发送到Slack、电子邮件、数据库等)。
解决什么问题?
安全团队经常手动查询CVE数据并跨多个工具跟踪变更。这个过程效率低下且容易出错。本工作流通过将丰富的漏洞数据实时记录到Google表格中,实现了CVE查询和历史变更跟踪的自动化。
工作流功能
本工作流专为CVE API查询和变更历史跟踪设计。在许多漏洞自动化流程中,不仅需要确定CVE的元数据,还需要了解其随时间的演变情况。根据操作需求——无论是丰富数据、风险评分还是修复验证——本工作流在展示当前和历史CVE数据方面特别有用。本模板执行以下操作:
- 接收包含CVE ID的传入webhook请求
- 查询NVD CVE查询API获取漏洞元数据
- 查询NVD CVE历史API检索所有历史变更
- 将两个数据集扁平化为表格兼容结构
- 将漏洞元数据追加到一个工作表,变更历史追加到同一Google电子表格中的另一个工作表
设置
🔑 申请NVD API密钥
要申请NVD API密钥,请在NVD API密钥申请页面提供您的组织名称、有效电子邮件地址并注明组织类型。您必须滚动到使用条款协议末尾并勾选”我同意使用条款”才能获取API密钥。提交后,您将通过电子邮件收到一次性超链接以激活和查看API密钥。如果七天内未激活,则必须重新提交申请。
📊 API速率限制
没有API密钥时,每30秒窗口限制5个请求。使用API密钥时,相同时间内允许最多50个请求。为防止请求限制,建议在生产设置中在连续API调用之间引入轻微延迟。
- 将此工作流克隆或导入到您的n8n实例中。
- 设置以下凭据:
- Google表格OAuth2
- NVD API密钥(通过HTTP头认证)
- 工作流将数据记录到名为NVD数据库的Google表格中,工作表1名为CVE查询,工作表2名为CVE历史。
- 使用相应的webhook URL触发每个工作流,附加
?cveId=CVE-XXXX-XXXX
作为查询参数。
🔍 Webhook请求示例(CVE变更历史)
您可以使用以下示例测试此工作流:
GET https://your-domain.com/webhook/cve-history?cveId=CVE-2023-34362
如何自定义此工作流
- 使用
编辑字段
节点(可选)集中配置如工作表名称或查询输入 - 根据需要扩展CVE扁平化逻辑以包含更多嵌套元数据
- 通过从处理节点分支集成通知系统(如Slack或电子邮件)
- 修改webhook路径以更好地组织端点
🔐 生产安全提示
- 在webhook上使用HTTP头认证以确保安全访问
⚠️ 此模板使用带有认证头的webhook和NVD API访问。
此模板使用两个流程:
- Webhook 1:
NVD CVE查询
— 从NVD查询CVE漏洞元数据并同步到Google表格 - Webhook 2:
NVD CVE变更历史
— 通过NVD跟踪CVE的变更历史并记录每次更新
每个流程:
- 访问NVD的相应端点
- 使用自定义JS代码节点扁平化嵌套JSON
- 将数据同步到专用Google表格标签页
- 🧩 4个节点:Webhook → API调用 → 解析 → 表格同步
确保两个流程都已激活且webhook可外部访问。根据您的需求,在生产环境中运行n8n时,无论是内部托管还是云环境,都要确保设置安全。