# 关于用于代码扫描的 SARIF 文件

SARIF 文件将第三方分析转换为 GitHub上的警报。

> \[!NOTE] 如果您使用 code scanning 的默认设置，或者使用 GitHub Actions 运行 CodeQL 操作的高级配置，那么您无需处理 SARIF 文件。 扫描结果将被自动上传并解析为 code scanning 警报。

SARIF 代表 *静态分析结果交换格式*。 这是一个基于 JSON 的标准，用于存储静态分析工具的结果。

如果使用 **第三方分析工具或 CI/CD 系统** 扫描代码是否存在漏洞，则可以生成 SARIF 文件并将其上传到 GitHub。 GitHub 将剖析 SARIF 文件，并在 code scanning 过程中使用存储库中的结果显示警报。

GitHub 使用 SARIF 文件中的属性来显示警报。 例如，`shortDescription` 和 `fullDescription` 出现在 code scanning 警报的顶部。
`location` 使 GitHub 能够在代码文件中显示批注。

本文介绍如何在 GitHub上使用 SARIF 文件。 如果你是首次接触 SARIF 并希望进一步了解，请参阅 Microsoft 的 [`SARIF tutorials`](https://github.com/microsoft/sarif-tutorials) 存储库。

## 版本要求

Code scanning 支持 [SARIF 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html) 架构的子集。 确保来自第三方工具的 SARIF 文件使用此版本。

## 上传方法

可以使用 GitHub Actions、code scanning API 或 CodeQL CLI 上传 SARIF 文件。 最佳上传方法取决于生成 SARIF 文件的方式。 有关详细信息，请参阅“[将 SARIF 文件上传到 GitHub](/zh/code-security/how-tos/scan-code-for-vulnerabilities/integrate-with-existing-tools/uploading-a-sarif-file-to-github)”。