关于 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。