应用安全(AppSec)管理员常常被大量警报淹没,其中许多并不构成真实风险,因为受影响的代码根本没有进入生产。通过为警报关联生产环境上下文,您可以筛选并优先处理实际在生产环境中批准的制品所受影响的漏洞。这使团队能够把修复精力集中在最关键的漏洞上,降低噪音并提升安全姿态。
1. 将制品关联到生产环境上下文
GitHub 的已关联制品页面允许您通过 REST API 或合作伙伴集成为公司构建提供生产环境上下文。团队随后可利用此上下文对 Dependabot 和代码扫描警报进行优先级排序。更多信息请参阅 关于已关联的制品。
要提供生产环境上下文,您应配置系统以
- 在制品被提升至获批准的生产包仓库时,更新已关联制品页面中的 storage records。
- 在制品部署到生产环境时,更新 deployment records。
GitHub 处理这些元数据,并利用它们驱动警报筛选器,例如来自 storage records 的 artifact-registry-url 与 artifact-registry,以及来自 deployment records 的 has:deployment 与 runtime-risk。部署记录中的运行时风险也会在单个代码扫描和 Dependabot 警报页面上以属性形式展示。
有关更新记录的更多信息,请参阅 将存储和部署数据上传至已关联制品页面。
2. 使用生产环境上下文筛选器
生产环境上下文筛选器可在 安全与质量 选项卡中。
- Dependabot 视图:请参阅 查看并更新 Dependabot 警报。
- 代码扫描视图:请参阅 评估仓库的代码扫描警报。
- 安全活动视图:请参阅 创建与管理安全活动。
警报列表显示后,可在组织视图中使用 artifact-registry-url 或 artifact-registry 筛选器,聚焦于影响生产中制品的漏洞。
-
如果您的制品仓库位于
my-registry.example.com,则应使用Text artifact-registry-url:my-registry.example.com
artifact-registry-url:my-registry.example.com -
若使用 JFrog Artifactory,只需使用
artifact-registry,无需在 GitHub 进行额外设置。Text artifact-registry:jfrog-artifactory
artifact-registry:jfrog-artifactory
您还可以使用 has:deployment 与 runtime-risk 筛选器,聚焦于部署元数据标记为已部署或存在运行时风险的漏洞。如果已连接 MDC,这些数据会自动填充。例如
-
若要聚焦于已部署且面向互联网的代码中的警报,您可以使用
Text has:deployment AND runtime-risk:internet-exposed
has:deployment AND runtime-risk:internet-exposed
您也可以将这些生产环境上下文筛选器与其他筛选器(例如 EPSS)组合使用。
epss > 0.5 AND artifact-registry-url:my-registry.example.com
epss > 0.5 AND artifact-registry-url:my-registry.example.com
3. 修复生产代码中的警报
现在您已经识别出可能导致生产代码被利用的警报,需要紧急进行修复。尽可能使用自动化来降低修复门槛。
- Dependabot 警报:使用自动化拉取请求进行安全修复。请参阅 配置 Dependabot 安全更新。
- 代码扫描警报:使用 Copilot Autofix 创建有针对性的活动。请参阅 创建与管理安全活动。