Code scanning 是一项功能,可用于分析 GitHub 仓库中的代码,以查找安全漏洞和编码错误。 分析标识的任何问题都显示在存储库中。
您可以使用 code scanning 查找、分类和确定代码中现有问题修复的优先级。 Code scanning 还阻止开发人员引入新问题。 你可安排在特定日期和时间进行扫描,或在存储库中发生特定事件(例如推送)时触发扫描。
如果 code scanning 发现代码中的潜在漏洞或错误,GitHub 会在存储库中显示警报。 修复触发警报的代码后, GitHub 关闭警报。 有关详细信息,请参阅“解决代码扫描警报”。
GitHub Copilot自动修复 将建议对分析 code scanning 警报进行修复,使开发人员能够减少工作量来防止和减少漏洞。 有关详细信息,请参阅“[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning)”。
要想监视 code scanning 在存储库或组织中的结果,可以使用 webhooks 和 code scanning API。 有关 Webhook code scanning的信息,请参阅 Webhook 事件和有效负载。 有关 API 终结点的信息,请参阅 适用于代码扫描的 REST API 终结点。
Code scanning 使用 GitHub Actions,每个工作流运行消耗 GitHub Actions 分钟数。 如果要在 code scanning 专用存储库上使用,则需要许可证 GitHub Code Security 。 有关详细信息,请参阅“[AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)”。 有关如何免费试用 GitHub Advanced Security 的信息,请参阅 [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security)。
如果希望在购买许可证之前评估组织的漏洞风险,可以运行免费的code security risk assessment。 请参阅“代码安全风险评估”。
若要开始使用 code scanning,请参阅 配置代码扫描的默认设置。
关于code scanning的工具
你可以配置 code scanning 以使用 CodeQL 产品(由 GitHub 维护)或第三方 code scanning 工具。
关于 CodeQL 分析
CodeQL 是 GitHub 开发的代码分析引擎,用于自动执行安全检查。 可使用 CodeQL 分析代码,并将结果显示为 code scanning 警报。 有关详细信息 CodeQL,请参阅 [AUTOTITLE](/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql)。
关于第三方 code scanning 工具
Code scanning 可与输出静态分析结果交换格式 (SARIF) 数据的第三方代码扫描工具互操作。 SARIF 是一个开放的标准。 有关详细信息,请参阅“对代码扫描的 SARIF 支持”。
可以在GitHub中,使用操作或在外部 CI 系统中运行第三方分析工具。 有关详细信息,请参阅“配置代码扫描的高级设置”或“将 SARIF 文件上传到 GitHub”。
关于 工具状态页
工具状态页 显示有关所有代码扫描工具的有用信息。 如果代码扫描未按预期工作,那么使用工具状态页作为调试问题的起点是一个很好的选择。 有关详细信息,请参阅“[AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/about-the-tool-status-page)”。