Skip to main content

关于代码扫描

你可以使用 code scanning 在 GitHub 上查找项目中的安全漏洞和代码错误。

谁可以使用此功能?

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

Code scanning 是一项功能,可用于分析 GitHub 仓库中的代码,以查找安全漏洞和编码错误。 分析标识的任何问题都显示在存储库中。

你可以使用 code scanning 来查找代码中现有的问题,并且对其进行分类和确定修复的优先级。 Code scanning 还可防止开发者引入新问题。 你可安排在特定日期和时间进行扫描,或在存储库中发生特定事件(例如推送)时触发扫描。

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

要监控你的仓库或组织的 code scanning 结果,你可以使用 web 挂钩和 code scanning API。 有关用于 code scanning 的 Webhook 的信息,请参阅“Webhook 事件和有效负载”。 有关 API 终结点的信息,请参阅“适用于代码扫描的 REST API 终结点”。

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

关于 code scanning 的计费

Code scanning 使用 GitHub Actions,且 code scanning 工作流的每次运行将耗用 GitHub Actions 的分钟数。 有关详细信息,请参阅“关于 GitHub Actions 的计费”。

若要在专用存储库中使用 code scanning,还需要 GitHub Advanced Security 许可证。 有关如何免费试用 GitHub Advanced Security 的信息,请参阅“安装 GitHub Advanced Security 试用版”。

关于 code scanning 的工具

可以将 code scanning 配置为使用由 GitHub 或第三方 code scanning 工具维护的 CodeQL 产品。

关于 CodeQL 分析

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

关于第三方 code scanning 工具

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

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

关于 工具状态页

工具状态页 显示有关所有代码扫描工具的有用信息。 如果代码扫描未按预期运行,则 工具状态页 是调试问题的一个很好的起点。 有关详细信息,请参阅“关于代码扫描的工具状态页”。