在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。
使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 Contrast Security,点击 保存
- 打开生成的集成卡片,复制 推送地址
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 Contrast Security,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 Contrast Security 中配置
1
添加 Generic Webhook
- 登录 Contrast,进入 Organization settings → Integrations
- 在 Generic webhook 一项点击 Connect
- 填写 Webhook 名称,将 Flashduty 集成的完整推送地址粘贴到 URL 字段,地址中需包含
integration_key - 按需选择要推送的应用(Application)
2
填写 Payload 模板
在 Payload 字段粘贴以下内容(单行 JSON):Contrast 会把
$ 开头的变量替换为实际值后以 POST 发送。请不要在模板中加入 $Message、$VulnerabilityEvidence 等可能含双引号或换行的变量,替换后会破坏 JSON,Flashduty 将返回参数错误。点击 Add 保存。Contrast 在连续 5 次收不到 2XX 响应后会断开该 Webhook,断开后需要重新测试并保存。3
验证
- 在已接入 Contrast Agent 的应用中产生一个新漏洞,确认 Flashduty 收到活动告警
- 在 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 不做特殊识别,一律按普通事件处理。若测试请求未替换变量或变量为空,会按未识别的事件类型产生一条独立告警,验证后请手动关闭