AI PLAY玩法更新持续收录
← 回到更新流

2026-09-03 · 原文发布日

自动审计供应商安全风险并出评级

供应商安全尽调模板:定时抓取供应商官网的响应头和页面内容,查 RDAP 域名注册时间和 Have I Been Pwned 泄露记录,汇总安全头得分、域名年龄、泄露次数和隐私政策关键词后交 GPT-4o-mini 给出风险分、等级、摘要和建议;按等级算下次审计日期写入 Google Sheets 台账,高危供应商推 Slack 并发邮件给安全团队。

原文要点

原文是 n8n 社区免费模板(Rahul Joshi):定时触发后设置供应商名称、网址、联系邮箱、数据访问级别和审计日期;抓取供应商官网响应头与页面内容,查 RDAP 域名注册信息估算域名年龄,拉取 Have I Been Pwned 泄露清单统计该域名泄露次数,并做隐私政策关键词检查;汇总后交给 GPT-4o-mini 代理输出结构化风险总分、等级、高管摘要和建议;按等级算下次审计日期,追加或更新 Google Sheets 风险台账;等级为 High 或 Critical 时发 Slack 告警并向安全团队发邮件;流程或 AI 出错时发 Slack 错误告警。

这次做成什么

在自有 n8n 实例上复现一条「定时→采集公开安全信号→AI 汇总评级→写台账→分级告警」的供应商风险审计流程,并用一家虚构供应商走通。模板需在 n8n.io 页面自行导入,本站不提供可导入文件;以下字段与连线为本站整理,导入后需逐一核对实际节点名。

准备什么

  • 一个 n8n 实例(能访问公网以抓取供应商站点和外部 API)
  • OpenAI API 密钥,可调用 GPT-4o-mini
  • Google Sheets OAuth2 凭据和一个含 Vendor Risk Register 工作表的表格
  • Slack OAuth2 凭据及一个用于告警的频道 ID
  • Gmail OAuth2 凭据和安全团队收件邮箱
  • 供应商清单信息:名称、官网 URL、联系邮箱、数据访问级别(可用虚构数据练习)

具体怎么做

  1. 建台账表与凭据

    在 Google Sheets 新建 Vendor Risk Register 工作表,表头建议为 VendorName、WebsiteURL、ContactEmail、DataAccess、AuditDate、RiskTier、OverallRiskScore、ExecutiveSummary、Recommendations、NextAuditDate。在 n8n 里创建 OpenAI、Google Sheets、Slack、Gmail 四组凭据,Slack 节点填入你的告警频道 ID。

  2. 导入模板并设定供应商数据

    从 n8n.io/workflows/19118 导入模板(免费,需自行导入)。打开供应商数据设置节点,把名称、网址、联系邮箱、数据访问级别改成你要审计的对象,练习时用下方 artifacts 的虚构供应商;把 Schedule Trigger 的间隔按需要调整(如每月一次)。

  3. 核对三个采集节点

    确认 HTTP Request 节点抓取供应商首页并保留响应头;RDAP 查询节点用域名拼接查询地址(如 https://rdap.verisign.com/com/v1/domain/ 加域名,具体路径以模板实际节点为准,导入后核对);Have I Been Pwned 节点拉取公开泄露清单并按域名过滤计数。三者结果汇入汇总节点,算出一个安全头得分(如存在 HSTS、CSP、X-Frame-Options 各计分)、域名年龄、泄露次数和隐私政策关键词是否出现。

  4. 配置 AI 评级提示词

    打开 GPT-4o-mini 节点的系统消息,替换为下方 artifacts 的本站示例提示词,要求其只输出含 risk_score(0-100)、risk_tier(Low/Medium/High/Critical)、executive_summary、recommendations 数组的严格 JSON,供后续节点解析。

  5. 分级写台账与告警

    确认按 risk_tier 计算 NextAuditDate 的逻辑(如 Critical 一个月、High 三个月、Medium 半年、Low 一年,具体以模板节点为准);Google Sheets 节点按 VendorName 追加或更新行;IF/Switch 节点判断 tier 为 High 或 Critical 时,Slack 发告警、Gmail 发摘要邮件给安全团队;工作流错误触发器接 Slack 错误告警。

  6. 用虚构供应商测试

    手动执行一次工作流,观察五个结果:Sheets 出现该供应商一行、等级与分数一致、NextAuditDate 按规则推算、高危时 Slack 与 Gmail 均收到消息、把供应商网址改成一个不存在的域名再跑一次,确认 Slack 收到错误告警而不是静默失败。

可直接复制的材料

供应商风险评级系统提示词

本站独立编写的示例提示词;等级区间为本站设定,导入后需与模板算 NextAuditDate 的档位名称核对一致。

你是一名第三方供应商安全风险评估分析师。输入是一家供应商的公开安全信号汇总:安全响应头得分(满分参考值 10)、域名注册时长(月)、该域名在公开泄露库中的出现次数、官网是否存在隐私政策关键词、以及我方授予该供应商的数据访问级别(none/low/medium/high)。
请输出一个 0-100 的整体风险分(越高越危险)并给出等级:0-24 为 Low,25-49 为 Medium,50-74 为 High,75-100 为 Critical。
评分参考:安全头得分低、域名注册不足 12 个月、有泄露记录、缺少隐私政策、数据访问级别高,都应显著推高分数。
只输出一个 JSON 对象,不要输出其他文字:
{"risk_score":0,"risk_tier":"Low","executive_summary":"两到三句中文高管摘要","recommendations":["建议1","建议2","建议3"]}
recommendations 必须具体可执行,例如要求供应商补齐安全头、签署数据处理协议或降低数据访问权限。

虚构供应商测试数据

本站虚构练习数据,域名 example-warehouse.cn 为占位,练习时换成一个你可合法抓取的测试站点;不要对无关第三方站点高频抓取。

{"vendorName":"示例云仓科技(虚构)","website":"https://example-warehouse.cn","contactEmail":"security@example-warehouse.cn","dataAccess":"medium","auditDate":"2026-09-07"}

安全头计分参考配置

本站独立设计的计分参考,用于理解汇总节点逻辑;模板实际计分以导入后的节点代码为准。

{"headers":{"strict-transport-security":3,"content-security-policy":3,"x-frame-options":2,"x-content-type-options":1,"referrer-policy":1},"maxScore":10,"domainAgeYoungMonths":12,"privacyKeywords":["privacy","隐私","personal data"]}

输入与输出示例

本站虚构演示,分数、日期与文案均为示意,未实际调用 OpenAI 或抓取真实站点。

输入

{"vendorName":"示例云仓科技(虚构)","website":"https://example-warehouse.cn","dataAccess":"medium"},采集汇总:安全头得分 3/10,域名年龄 7 个月,泄露记录 2 次,未检出隐私政策关键词。

对应输出

AI 输出示意:{"risk_score":78,"risk_tier":"Critical","executive_summary":"该供应商站点安全头严重缺失、域名注册不足一年且有两次公开泄露记录,结合中等数据访问级别,整体风险为严重。","recommendations":["暂停新增数据共享直至整改","要求 30 天内补齐 HSTS 与 CSP 安全头","签署数据处理协议并将访问级别降至 low"]}。NextAuditDate 按 Critical 档推为 2026-10-07,Sheets 写入一行,Slack 告警频道和安全团队邮箱各收到一条通知。

做完检查这些

  • 手动执行后 Vendor Risk Register 出现一行,十个表头列都有值且 RiskTier 与分数落在对应区间
  • 高危供应商触发 Slack 与 Gmail 双告警,低危供应商不触发
  • NextAuditDate 严格按等级规则推算,可与 AuditDate 手工核对
  • 把网址改为无效域名后流程报错且 Slack 收到错误告警而非静默跳过
  • AI 输出为合法 JSON,后续节点解析不报错(可在提示词损坏时观察到错误告警分支生效)

容易卡住的地方

  • RDAP 不同后缀的查询地址不同,模板默认地址可能只覆盖部分域名后缀,导入后需核对并按需扩展
  • Have I Been Pwned 的公开接口有频率限制,供应商数量大时定时拉取可能被限流,需拉长间隔或分批
  • 对第三方站点高频抓取可能违反对方条款,审计频率应与供应商规模匹配
  • AI 等级区间若与 NextAuditDate 计算节点里的档位名称拼写不一致,会导致日期落空
  • Slack 频道 ID 和 Gmail 收件人用的是占位值,不替换会出现告警发给了错误对象或发送失败
  • 评级基于公开信号,不能替代正式安全尽调,高数据访问供应商仍需人工复核

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Audit vendor security risk with OpenAI, Google Sheets, Slack and Gmail
原作者
Rahul Joshi
原始发布日期
2026-09-03T12:13:35.870Z
来源
https://n8n.io/workflows/19118