Skip to main content

关于代码扫描

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

谁可以使用此功能?

启用了 GitHub Advanced Security 的组织拥有的存储库

Note

网站管理员必须启用 code scanning,然后你才能使用此功能。 有关详细信息,请参阅“为设备配置代码扫描”。

如果企业所有者在企业级别设置了 GitHub Advanced Security (GHAS) 策略,则你可能无法启用或禁用 code scanning。 有关详细信息,请参阅“强制实施企业的代码安全性和分析策略”。

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 或第三方 code scanning 工具维护的 CodeQL 产品。

关于 CodeQL 分析

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

关于第三方 code scanning 工具

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

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

关于 工具状态页

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