Skip to main content

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

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

在本文中

注意

如果你使用 code scanning 的默认设置,或者使用需要借助 GitHub Actions 来运行 CodeQL 操作的高级设置,那么你就不需要手动处理 SARIF 文件。 扫描结果会自动上传并分析为 code scanning 警报。

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

如果使用 第三方分析工具或 CI/CD 系统 扫描代码是否存在漏洞,则可以生成 SARIF 文件并将其上传到 GitHub其中。 GitHub 将解析 SARIF 文件,并根据代码库中的结果显示警报,作为 code scanning 体验的一部分。

GitHub 使用 SARIF 文件中的属性来显示警报。 例如,shortDescriptionfullDescription显示在code scanning警报的顶部。 location允许GitHub在代码文件中显示注释。

本文介绍了如何在 GitHub 上使用 SARIF 文件。 如果你是首次接触 SARIF 并希望进一步了解,请参阅 Microsoft 的 SARIF tutorials 存储库。

版本要求

Code scanning 支持 SARIF 2.1.0 JSON 架构的子集。 确保来自第三方工具的 SARIF 文件使用此版本。

上传方法

您可以使用 GitHub Actions、code scanning API 或 CodeQL CLI 上传 SARIF 文件。 最佳上传方法取决于生成 SARIF 文件的方式。 有关详细信息,请参阅“将 SARIF 文件上传到 GitHub”。