Skip to main content
通过 Contrast Security 的 Generic Webhook,将新漏洞、漏洞关闭、服务器离线、新攻击等事件同步到 Flashduty On-call。每个漏洞对应一条 Flashduty 告警:发现新漏洞时触发,漏洞被关闭(Closed)时自动恢复。 Contrast 的 Generic Webhook 没有固定的推送格式,推送内容由您在 Payload 中填写的模板决定。请使用下文给出的模板,Flashduty 只解析该模板中的字段。

在 Flashduty On-call


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

使用专属集成

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

使用共享集成

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

在 Contrast Security 中配置


1

添加 Generic Webhook

  1. 登录 Contrast,进入 Organization settings → Integrations
  2. 在 Generic webhook 一项点击 Connect
  3. 填写 Webhook 名称,将 Flashduty 集成的完整推送地址粘贴到 URL 字段,地址中需包含 integration_key
  4. 按需选择要推送的应用(Application)
2

填写 Payload 模板

在 Payload 字段粘贴以下内容(单行 JSON):
Contrast 会把 $ 开头的变量替换为实际值后以 POST 发送。请不要在模板中加入 $Message、$VulnerabilityEvidence 等可能含双引号或换行的变量,替换后会破坏 JSON,Flashduty 将返回参数错误。点击 Add 保存。Contrast 在连续 5 次收不到 2XX 响应后会断开该 Webhook,断开后需要重新测试并保存。
3

验证

  1. 在已接入 Contrast Agent 的应用中产生一个新漏洞,确认 Flashduty 收到活动告警
  2. 在 Contrast 中将该漏洞状态改为 Closed(如 Remediated、Fixed),确认原告警恢复

事件和 Alert Key


漏洞严重程度、状态、标题和应用等字段的变化不会改变 Alert Key。NEW_VULNERABILITY 和 VULNERABILITY_CHANGESTATUS_CLOSED 缺少 trace_id、SERVER_OFFLINE 缺少 server_id 时请求会被拒绝。未识别的事件类型按上表最后一行处理。 服务器离线和最后一行的事件没有对应的恢复事件,请在集成或协作空间中配置 超时自动关闭(例如 24 小时),否则需要手动关闭。

告警等级


按 $Severity 映射: 漏洞被关闭时告警恢复,等级保留关闭事件中的严重程度。

标签


排查问题


  • Contrast 提示 Webhook 已断开:Flashduty 返回了非 2XX 响应。检查 URL 是否包含 integration_key,Payload 是否为上文的模板且是合法 JSON,然后在 Contrast 中重新测试并保存
  • 告警没有恢复:确认 Contrast 中该漏洞的状态为 Closed 类状态。其他状态变化(如 Confirmed、Suspicious)不会推送事件
  • 保存或测试时多出一条告警:Contrast 文档没有给出测试请求的内容,Flashduty 不做特殊识别,一律按普通事件处理。若测试请求未替换变量或变量为空,会按未识别的事件类型产生一条独立告警,验证后请手动关闭
更多变量和事件说明请参阅 Contrast Generic Webhooks。