跳到主要内容

关于代码扫描

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

谁可以使用此功能?

代码扫描适用于GitHub.com上的所有公共存储库。代码扫描也适用于使用GitHub企业云并拥有GitHup高级安全许可证的组织所拥有的私有存储库。有关详细信息,请参阅“关于GitHub高级安全."

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

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

如果代码扫描发现代码中存在潜在漏洞或错误,GitHub会在存储库中显示警报。修复触发警报的代码后,GitHub将关闭警报。有关详细信息,请参阅“管理存储库的代码扫描警报."

GitHub Copilot Autofix将为私有存储库中CodeQL分析的警报提供修复建议,使开发人员能够轻松地预防和减少漏洞。有关详细信息,请参阅“关于CodeQL代码扫描的Copilot Autofix."

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

要开始代码扫描,请参阅“配置代码扫描的默认设置."

关于代码扫描计费

代码扫描使用GitHub Actions,每次运行代码扫描工作流都会花费几分钟的时间来执行GitHubActions。有关详细信息,请参阅“关于GitHub操作的计费."

要在私有存储库上使用代码扫描,还需要GitHub Advanced Security的许可证。有关如何免费试用带有GitHub高级安全性的GitHub Enterprise的信息,请参阅“设置GitHub企业云的试用“和”设置GitHub Advanced Security的试用“在GitHub企业云文档中。

关于代码扫描工具

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

关于CodeQL分析

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

关于第三方代码扫描工具

代码扫描可以与输出静态分析结果交换格式(SARIF)数据的第三方代码扫描工具进行互操作。SARIF是一个开放标准。有关详细信息,请参阅“SARIF支持代码扫描."

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

关于工具状态页

工具状态页显示有关所有代码扫描工具的有用信息。如果代码扫描没有按预期工作,那么工具状态页是调试问题的良好起点。有关详细信息,请参阅“关于代码扫描的工具状态页".