# 关于用于代码扫描的 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) JSON 架构的子集。 确保来自第三方工具的 SARIF 文件使用此版本。

## 上传方法

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