# 代码扫描

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

> \[!NOTE]
> 网站管理员必须先启用 code scanning 才能使用此功能。 有关详细信息，请参阅“[为设备配置代码扫描](/zh/enterprise-server@3.22/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/configuring-code-scanning-for-your-appliance)”。
>
> 如果企业所有者在企业级别设置了code scanning策略，则可能无法启用或禁用GitHub Code Security。 有关详细信息，请参阅“[强制实施企业的代码安全性和分析策略](/zh/enterprise-server@3.22/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise)”。

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

您可以使用 code scanning 查找、分类和确定代码中现有问题修复的优先级。
Code scanning 还阻止开发人员引入新问题。 你可安排在特定日期和时间进行扫描，或在存储库中发生特定事件（例如推送）时触发扫描。

如果 code scanning 发现代码中的潜在漏洞或错误，GitHub 会在存储库中显示警报。 修复触发警报的代码后， GitHub 关闭警报。 有关详细信息，请参阅“[解决代码扫描警报](/zh/enterprise-server@3.22/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/resolve-alerts)”。

要监视 code scanning 在存储库或组织中的结果，可以使用 webhook 和 code scanning API。 有关 code scanning Webhook 的信息，请参阅 [Webhook 事件和有效负载](/zh/enterprise-server@3.22/webhooks/webhook-events-and-payloads#code_scanning_alert)。 有关 API 终结点的信息，请参阅 [适用于代码扫描的 REST API 终结点](/zh/enterprise-server@3.22/rest/code-scanning/code-scanning)。

若要开始使用 code scanning，请参阅 [配置代码扫描的默认设置](/zh/enterprise-server@3.22/code-security/how-tos/find-and-fix-code-vulnerabilities/configure-code-scanning/configure-code-scanning)。

## 关于 code scanning 的工具

你可以配置 code scanning 以使用 CodeQL 产品（由 GitHub 维护）或第三方 code scanning 工具。

### 关于 CodeQL 分析

CodeQL 是 GitHub 开发的代码分析引擎，用于自动执行安全检查。 可使用 CodeQL 分析代码，并将结果显示为 code scanning 警报。 有关详细信息 CodeQL，请参阅 [使用 CodeQL 扫描代码](/zh/enterprise-server@3.22/code-security/concepts/code-scanning/codeql/codeql-code-scanning)。

### 关于第三方 code scanning 工具

Code scanning 与输出静态分析结果交换格式（SARIF）数据的第三方代码扫描工具互操作。 SARIF 是一个开放的标准。 有关详细信息，请参阅“[对代码扫描的 SARIF 支持](/zh/enterprise-server@3.22/code-security/reference/code-scanning/sarif-files/sarif-support)”。

可以在GitHub中，使用操作或在外部 CI 系统中运行第三方分析工具。 有关详细信息，请参阅“[配置代码扫描的高级设置](/zh/enterprise-server@3.22/code-security/how-tos/find-and-fix-code-vulnerabilities/configure-code-scanning/configuring-advanced-setup-for-code-scanning#configuring-code-scanning-using-third-party-actions)”或“[将 SARIF 文件上传到 GitHub](/zh/enterprise-server@3.22/code-security/how-tos/find-and-fix-code-vulnerabilities/integrate-with-existing-tools/upload-sarif-file)”。

## 关于 工具状态页

工具状态页 显示有关所有代码扫描工具的有用信息。 如果代码扫描未按预期工作，那么使用工具状态页作为调试问题的起点是一个很好的选择。 有关详细信息，请参阅“[使用工具状态页进行代码扫描](/zh/enterprise-server@3.22/code-security/how-tos/find-and-fix-code-vulnerabilities/manage-your-configuration/use-the-tools-status-page-for-code-scanning)”。