如何在发现漏洞时接收通知——Azure DevOps的GHAS依赖项扫描
在Azure DevOps中配置GHAS依赖扫描的漏洞通知方案
方法1:通过Azure DevOps内置警报规则设置通知
- 进入Azure DevOps项目的项目设置 > 警报 > 新建警报规则
- 配置筛选条件:
- 事件类型:选择代码扫描警报
- 状态:勾选新建(仅针对新生成的漏洞)
- 扫描类型:指定为GitHub Advanced Security 依赖扫描
- 可额外添加仓库筛选,针对特定仓库或所有仓库生效
- 在通知配置环节,添加需要接收通知的用户/团队,选择通知渠道(邮件、Microsoft Teams等)
- 保存规则后,只要有符合条件的新漏洞触发,指定接收方会自动收到通知
方法2:在YAML构建流程中自定义通知逻辑
如果需要更个性化的通知内容或整合现有通知流,可在扫描任务后添加自定义步骤:
- task: AdvancedSecurity-Dependency-Scanning@1 displayName: 'GHAS Dependency Scan' inputs: repository: $(Build.Repository.Name) scanType: 'full' publishResults: true - script: | # 提取当前仓库的新漏洞数量 NEW_VULN_COUNT=$(az devops security code-scanning alert list --org $(System.CollectionUri) --project $(System.TeamProject) --repository $(Build.Repository.Name) --status new --query "length(@)" -o tsv) if [ "$NEW_VULN_COUNT" -gt 0 ]; then # 发送Teams通知(示例) curl -H "Content-Type: application/json" -d '{ "text": "⚠️ 仓库'$(Build.Repository.Name)'夜间GHAS扫描发现'"$NEW_VULN_COUNT"'个新漏洞,请前往Azure DevOps查看详情。" }' $(TEAMS_WEBHOOK_URL) fi displayName: 'Detect new vulnerabilities and send alert' env: TEAMS_WEBHOOK_URL: $(TeamsWebhookSecret) # 提前在项目变量组中配置Webhook地址
- 注意事项:构建服务账号需拥有读取代码扫描警报的权限;通知渠道的密钥(如Teams Webhook)需通过变量组安全存储
方法3:基于仪表板的汇总通知
- 为多仓库创建代码扫描警报仪表板,添加“代码扫描警报”小部件,筛选条件设置为“状态=新建”“扫描类型=GHAS依赖扫描”
- 点击仪表板右上角的订阅,配置通知触发条件:可选择“当仪表板数据更新时”即时通知,或设置每日定时推送
- 这种方式适合统一监控多个仓库的漏洞状态,一次订阅即可接收所有目标仓库的新漏洞汇总信息
内容的提问来源于stack exchange,提问作者Jacco Dieleman
相关产品推荐
相关产品推荐

