注意
如果你使用 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 存储库。
版本要求
Code scanning 支持 SARIF 2.1.0 JSON 架构的子集。 确保来自第三方工具的 SARIF 文件使用此版本。
上传方法
您可以使用 GitHub Actions、code scanning API 或 CodeQL CLI 上传 SARIF 文件。 最佳上传方法取决于生成 SARIF 文件的方式。 有关详细信息,请参阅“将 SARIF 文件上传到 GitHub”。