# 使用生产上下文确定 Dependabot 和代码扫描警报的优先级

通过使用外部系统和集成（如 Dynatrace、JFrog Artifactory、Dependabot 或自有 CI/CD 工作流）中的元数据，将修复重点放在真实风险上，针对部署到生产环境中的 code scanning 和 Microsoft Defender for Cloud 告警。

应用程序安全（AppSec）管理器经常被大量警报所淹没，其中许多警报可能并不表示实际风险，因为受影响的代码永远不会使其投入生产。 通过将生产环境上下文与警报关联，你可以筛选并优先处理那些会影响已获准部署到生产环境的工件的漏洞。 这使你的团队能够将修正工作集中在最重要的漏洞上，从而减少干扰并提升安全状况。

## 1. 将工件与生产环境相关联

GitHub 的 linked artifacts page 允许你通过 REST API 或合作伙伴集成为公司构建提供生产环境上下文。 然后，Teams 可以使用此上下文为 Dependabot 和 code scanning 警报确定优先级。 有关详细信息，请参阅“[关于关联的项目](/zh/code-security/concepts/supply-chain-security/linked-artifacts)”。

若要提供生产上下文，应将系统配置为：

* 在每次制品被提升为生产批准的包仓库时，更新 \*\*\*\* 中的linked artifacts page。
* 将项目部署到生产环境时更新 **部署记录** 。

GitHub 处理此元数据，并利用它为某些警报筛选器提供支持，例如来自存储记录的 `artifact-registry-url` 和 `artifact-registry`、以及来自部署记录的 `has:deployment` 和 `runtime-risk`。 部署记录中的运行时风险也会作为属性显示在单个 code scanning 和 Dependabot 告警页面中。

有关更新记录的详细信息，请参阅 [将存储和部署数据上传到 linked artifacts page](/zh/code-security/how-tos/secure-your-supply-chain/establish-provenance-and-integrity/upload-linked-artifacts)。

## 2. 使用生产环境上下文筛选器

生产上下文筛选器在 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality** 选项卡中可用。

* **Dependabot 视图**：请参阅 [查看和更新 Dependabot 警报](/zh/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/view-dependabot-alerts#viewing-and-prioritizing-dependabot-alerts)。
* **Code scanning 视图**：请参阅 [访问存储库的代码扫描警报](/zh/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/assess-alerts)。
* **安全活动视图**：请参阅 [创建和管理安全活动](/zh/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/creating-managing-security-campaigns)。

在显示警报列表后，请使用组织视图中的`artifact-registry-url`或`artifact-registry`筛选器，以专注于影响生产环境中制品的漏洞。

* 对于托管在 `my-registry.example.com` 的自有工件注册表，你将使用：

  ```text copy
  artifact-registry-url:my-registry.example.com
  ```

* 如果使用 JFrog Artifactory，可以在 `artifact-registry` 中直接使用 GitHub，无需额外配置：

  ```text copy
  artifact-registry:jfrog-artifactory
  ```

还可以使用 `has:deployment` 和 `runtime-risk` 筛选器来关注部署元数据中显示正在部署的安全漏洞，或面临运行时安全漏洞风险的漏洞。 如果已连接 MDC，将自动填充此数据。 例如：

* 若要专注于向 Internet 公开的已部署代码中的警报，请使用：

  ```text copy
  has:deployment AND runtime-risk:internet-exposed
  ```

还可以将这些生产上下文筛选器与其他筛选器（例如 EPSS）组合在一起：

```text copy
epss > 0.5 AND artifact-registry-url:my-registry.example.com
```

## 3. 修正生产代码中的警报

现在，您已识别出使生产代码面临被利用风险的警报，您需要紧急修正这些问题。 尽可能使用自动化来降低修正障碍。

* **Dependabot alerts：** 使用自动化拉取请求进行安全修复。 请参阅“[配置 Dependabot 安全更新](/zh/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-security-updates)”。
* **Code scanning 警报：** 使用 Copilot Autofix 创建有针对性的活动。 请参阅“[创建和管理安全活动](/zh/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/creating-managing-security-campaigns)”。

## 延伸阅读

* [使用指标确定 Dependabot 警报的优先级](/zh/code-security/tutorials/manage-security-alerts/prioritizing-dependabot-alerts-using-metrics)