Skip to main content

关于 CI 系统中的 CodeQL 代码扫描

可以在第三方持续集成系统中用 CodeQL 分析代码,并将结果上传到 GitHub.com。 由此产生的 code scanning 警报与 GitHub 内生成的任何警报一起显示。

Code scanning 可用于 GitHub.com 上的所有公共存储库。 Code scanning 也可用于使用 GitHub Enterprise Cloud 并拥有 GitHub Advanced Security 许可证的组织所拥有的专用存储库。 有关详细信息,请参阅“关于 GitHub 高级安全性”。

关于 CI 系统中的 CodeQL code scanning

Code scanning 是一项功能,可用于分析 GitHub 仓库中的代码,以查找安全漏洞和编码错误。 分析发现的任何问题都显示在 GitHub 中。 有关详细信息,请参阅“关于使用 CodeQL 进行代码扫描”。

您可以使用 GitHub Actions 在 GitHub 内运行 CodeQL code scanning 。 或者,如果使用第三方持续集成或持续交付/部署(CI/CD)系统,可以在现有系统中运行 CodeQL 分析并将结果上传到 GitHub.com。

将 CodeQL CLI 添加到第三方系统,然后调用工具分析代码并将 SARIF 结果上传到 GitHub。 由此产生的 code scanning 警报与 GitHub 内生成的任何警报一起显示。

如果使用多个配置运行代码扫描,则有时多个配置会生成相同的警报。 如果警报来自多个配置,你可在警报页上查看每个配置的警报状态。 有关详细信息,请参阅“关于代码扫描警报”。

注意:上传 SARIF 数据以显示为 GitHub 中的 code scanning 结果适用于启用了 GitHub Advanced Security 的组织拥有的数据库 和 GitHub.com 上的公共存储库。 有关详细信息,请参阅“管理存储库的安全和分析设置”。

关于 CodeQL CLI

CodeQL CLI 是可用于分析代码的独立代码行工具。 其主要用途是生成代码空间的数据库表示形式,即 CodeQL 数据库。 数据库准备就绪后,你可以进行交互式查询,或者运行一系列查询以生成一组 SARIF 格式的结果,然后将结果上传到 GitHub.com。

使用 CodeQL CLI 分析:

  • 动态语言,例如 JavaScript 和 Python。
  • 已编译的语言,例如 C/C++、C#、 Go、 和 Java。
  • 以多种语言编写的代码库。

有关详细信息,请参阅“在 CI 系统中安装 CodeQL CLI”。

注意:

  • CodeQL CLI 免费用于公共存储库。 CodeQL CLI 也可在使用 GitHub Enterprise Cloud 并拥有 GitHub Advanced Security 许可证的组织所拥有的专用存储库中使用。 有关信息,请参阅“GitHub CodeQL 条款和条件”以及“CodeQL CLI”。
  • CodeQL CLI 当前与非 glibc Linux 发行版不兼容,例如(基于 musl 的)Alpine Linux。