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”。