跳转到主要内容
通过 Veracode SCA(基于 Agent 的扫描)的项目 Webhook,将开源组件的漏洞问题同步到 Flashduty On-call。每个漏洞问题(issue)对应一条告警:
  • 发现新漏洞:项目库中出现新漏洞时,Veracode 发送 VULN_ISSUES_DISCOVERED_AFTER_SCAN,Flashduty 为其中每个问题触发一条告警。
  • 漏洞更新或解决:Veracode 发送 VULN_ISSUES_CHANGED_AFTER_SCAN,问题状态为 RESOLVED、FIXED 或 IGNORED 时,对应告警恢复。
  • 扫描成功:SCAN_SUCCESS 只是扫描摘要,Flashduty 收到后直接返回成功,不创建告警。

在 Flashduty On-call

您可通过以下两种方式获取集成推送地址,任选其一即可。

使用专属集成

  1. 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
  2. 选择 配置 → 集成数据 → 专属集成,点击 新增集成
  3. 选择 Veracode SCA,点击 保存
  4. 打开生成的集成卡片,复制 推送地址

使用共享集成

  1. 进入 Flashduty 控制台,选择 集成中心 → 告警事件
  2. 选择 Veracode SCA,填写集成名称
  3. 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
  4. 点击 保存,复制生成的 推送地址

在 Veracode 中配置

Webhook 按项目(project)配置。需要 Security Lead、Workspace Administrator 或 Workspace Editor 角色。
1

在 Veracode SCA 中创建项目 Webhook

操作路径:Veracode Platform › Scans & Analysis › Software Composition Analysis › Agent-Based Scan › Projects › Settings › Notifications › Actions › Create先选择工作区(workspace)进入 Projects,再选择要监控的项目。Veracode 要求 Payload URL 可从公网访问并接受 HTTP HEAD 请求。Flashduty 的推送地址接受 HEAD 请求。
2

选择触发事件并创建

操作路径:Veracode Platform › Scans & Analysis › Software Composition Analysis › Agent-Based Scan › Projects › Settings › Notifications › Actions › Create勾选后点击 Create 保存。
3

在 Veracode SCA 中验证

操作路径:Veracode Platform › Scans & Analysis › Software Composition Analysis › Agent-Based Scan › Projects › Settings › NotificationsVeracode 文档没有描述 Webhook 的测试推送按钮,请在有新漏洞披露或漏洞被解决时,确认 Flashduty 中出现或恢复对应告警。

事件和恢复

一次推送可能包含多个问题,Flashduty 按问题编号排序后逐个处理,每次推送最多处理 200 个问题,超出部分忽略。

Alert Key

Alert Key 由项目编号(project.id)和问题编号(issues[].id)共同计算。Veracode 文档示例中,同一个问题在发现和变更事件里的编号相同,所以恢复会落到同一条告警上。漏洞标题、评分和项目名称变化不会改变 Alert Key。缺少 event、project.id、issues(或其中的 id、status)的推送会被拒绝,并在错误信息中指出字段名。

状态和告警等级

Veracode 的 payload 不直接携带等级,Flashduty 按漏洞的 CVSS 评分映射,优先使用 CVSS v3 评分,没有时使用 CVSS v2 评分: 恢复时状态变为已恢复,等级保持为最后一次的等级。

标签

Flashduty 不保存推送中的组织信息和用户信息。

排查问题

  • Veracode 保存 Webhook 失败:确认推送地址可从公网访问,并包含 integration_key
  • Flashduty 返回参数错误:错误信息会指出缺少的字段,或不支持的事件名称
  • 告警一直不恢复:只有项目 Webhook 勾选了 changed 事件,且问题状态变为 RESOLVED、FIXED 或 IGNORED 时才会恢复。漏洞从依赖中移除后是否发送该事件,以 Veracode 实际推送为准
更多字段含义请参阅 Veracode SCA 项目监控。