注意:网站管理员必须为 你的 GitHub Enterprise Server 实例 启用 code scanning,然后你才能使用此功能。 有关详细信息,请参阅“为设备配置代码扫描”。
如果企业所有者在企业级别设置了 GitHub Advanced Security (GHAS) 策略,则你可能无法启用或禁用 code scanning。 有关详细信息,请参阅“强制实施企业的代码安全性和分析策略”。
关于 CI 系统中的 CodeQL code scanning
Code scanning 是一项功能,可用于分析 GitHub 仓库中的代码,以查找安全漏洞和编码错误。 分析发现的任何问题都显示在 GitHub Enterprise Server 中。 有关详细信息,请参阅“关于使用 CodeQL 进行代码扫描”。
您可以使用 GitHub Actions 在 GitHub Enterprise Server 内运行 CodeQL code scanning 。 或者,如果使用第三方持续集成或持续交付/部署(CI/CD)系统,可以在现有系统中运行 CodeQL 分析并将结果上传到 你的 GitHub Enterprise Server 实例。
将 CodeQL CLI 添加到第三方系统,然后调用工具分析代码并将 SARIF 结果上传到 GitHub Enterprise Server。 由此产生的 code scanning 警报与 GitHub Enterprise Server 内生成的任何警报一起显示。
如果使用多个配置运行代码扫描,则警报有时会有多个分析源。 如果警报有多个分析源,你可在警报页上查看每个分析源的警报状态。 有关详细信息,请参阅“关于代码扫描警报”。
注意:上传 SARIF 数据以显示为 GitHub Enterprise Server 中的 code scanning 结果适用于启用了 GitHub Advanced Security 的组织拥有的数据库 。 有关详细信息,请参阅“管理存储库的安全和分析设置”。
关于 CodeQL CLI
CodeQL CLI 是可用于分析代码的独立代码行工具。 其主要用途是生成代码空间的数据库表示形式,即 CodeQL 数据库。 数据库准备就绪后,你可以进行交互式查询,或者运行一系列查询以生成一组 SARIF 格式的结果,然后将结果上传到 你的 GitHub Enterprise Server 实例。
使用 CodeQL CLI 分析:
- 动态语言,例如 JavaScript 和 Python。
- 已编译的语言,例如 C/C++、C#、 和 Java。
- 以多种语言编写的代码库。
有关详细信息,请参阅“在 CI 系统中安装 CodeQL CLI”。
注意:
-
CodeQL CLI 可用于拥有 Advanced Security 许可证的客户。
-
CodeQL CLI 当前与非 glibc Linux 发行版不兼容,例如(基于 musl 的)Alpine Linux。