跳至主要内容

关于代码扫描

您可以使用代码扫描查找 GitHub 上项目代码中的安全漏洞和错误。

谁可以使用此功能?

代码扫描适用于以下代码库类型

  • GitHub.com 上的公共代码库。
  • 在启用了 GitHub 高级安全 的 GitHub Enterprise Cloud 上的组织拥有的代码库。

代码扫描是用于分析 GitHub 代码库中代码以查找安全漏洞和编码错误的功能。分析中发现的任何问题都会显示在您的代码库中。

您可以使用代码扫描查找、分类和优先处理代码中现有问题的修复程序。代码扫描还可以防止开发人员引入新的问题。您可以为特定日期和时间安排扫描,或者在代码库中发生特定事件(例如推送)时触发扫描。

如果代码扫描在您的代码中发现潜在的漏洞或错误,GitHub 会在代码库中显示警报。修复触发警报的代码后,GitHub 会关闭警报。有关更多信息,请参阅“解决代码扫描警报”。

GitHub Copilot 自动修复将为私有代码库中代码扫描分析的警报建议修复程序,使开发人员能够以更少的精力防止和减少漏洞。有关更多信息,请参阅“负责任地使用 Copilot 自动修复进行代码扫描”。

要监视跨代码库或组织的代码扫描结果,您可以使用 Webhook 和代码扫描 API。有关代码扫描的 Webhook 信息,请参阅“Webhook 事件和有效负载”。有关 API 端点的信息,请参阅“代码扫描的 REST API 端点”。

要开始使用代码扫描,请参阅“配置代码扫描的默认设置”。

关于代码扫描的计费

代码扫描使用 GitHub Actions,并且每次运行代码扫描工作流都会消耗 GitHub Actions 的分钟数。有关更多信息,请参阅“关于 GitHub Actions 的计费”。

要在私有代码库上使用代码扫描,您还需要 GitHub 高级安全许可证。有关如何免费试用包含 GitHub 高级安全的 GitHub Enterprise 的信息,请参阅 GitHub Enterprise Cloud 文档中的“设置 GitHub Enterprise Cloud 试用版”和“设置 GitHub 高级安全试用版”。

关于代码扫描工具

您可以将代码扫描配置为使用 GitHub 维护的 CodeQL 产品或第三方代码扫描工具。

关于 CodeQL 分析

CodeQL 是 GitHub 开发的代码分析引擎,用于自动化安全检查。您可以使用 CodeQL 分析代码并将结果显示为代码扫描警报。有关 CodeQL 的更多信息,请参阅“关于使用 CodeQL 进行代码扫描”。

关于第三方代码扫描工具

代码扫描与输出静态分析结果交换格式 (SARIF) 数据的第三方代码扫描工具具有互操作性。SARIF 是一种开放标准。有关更多信息,请参阅“代码扫描的 SARIF 支持”。

您可以使用 Actions 在 GitHub 中运行第三方分析工具,或在外部 CI 系统中运行。有关更多信息,请参阅“配置代码扫描的高级设置”或“将 SARIF 文件上传到 GitHub”。

关于工具状态页面

工具状态页面显示了有关所有代码扫描工具的有用信息。如果代码扫描未按预期工作,则工具状态页面是调试问题的良好起点。有关更多信息,请参阅“关于代码扫描的工具状态页面”。