Skip to main content

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

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

Code scanning 可用于 GitHub.com 上的所有公共存储库。 若要在组织拥有的专用存储库中使用 code scanning,必须具有 GitHub Advanced Security 许可证。 有关详细信息,请参阅“关于 GitHub Advanced Security”。

关于 CI 系统中的 CodeQL code scanning

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

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

将 CodeQL CLI 添加到第三方系统,然后调用工具分析代码并将 SARIF 结果上传到 GitHub Enterprise Cloud。 由此产生的 code scanning 警报与 GitHub Enterprise Cloud 内生成的任何警报一起显示。 有关详细信息,请参阅“关于 CI 系统中的 CodeQL 代码扫描”。

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

注意:上传 SARIF 数据以显示为 GitHub Enterprise Cloud 中的 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 可免费用于 GitHub.com 上维护的公共存储库,也可用于具有 Advanced Security 许可证的客户所拥有的专用存储库。 有关信息,请参阅“GitHub Enterprise Cloud CodeQL 条款和条件”以及“CodeQL CLI”。
  • CodeQL CLI 当前与非 glibc Linux 发行版不兼容,例如(基于 musl 的)Alpine Linux。