{"meta":{"title":"配置代码扫描的默认设置","intro":"快速设置 code scanning 以自动查找 和修复 易受攻击的代码。","product":"安全性和代码质量","breadcrumbs":[{"href":"/zh/code-security","title":"安全性和代码质量"},{"href":"/zh/code-security/how-tos","title":"How-tos"},{"href":"/zh/code-security/how-tos/find-and-fix-code-vulnerabilities","title":"查找和修复代码漏洞"},{"href":"/zh/code-security/how-tos/find-and-fix-code-vulnerabilities/configure-code-scanning","title":"配置代码扫描"},{"href":"/zh/code-security/how-tos/find-and-fix-code-vulnerabilities/configure-code-scanning/configuring-default-setup-for-code-scanning","title":"配置代码扫描"}],"documentType":"article"},"body":"# 配置代码扫描的默认设置\n\n快速设置 code scanning 以自动查找 易受攻击的代码。\n\n我们建议您开始使用code scanning，并采用默认设置。 最初配置默认设置后，可以评估 code scanning 其工作原理，并对其进行自定义，以更好地满足需求。 有关详细信息，请参阅“[关于代码扫描的设置类型](/zh/code-security/concepts/code-scanning/setup-types)”。\n\n## 先决条件\n\n如果满足以下条件，存储库有资格进行 code scanning 的默认设置：\n\n* 已启用 GitHub Actions。\n* 它公开可见，或已启用 GitHub Code Security。\n\n## 配置存储库的默认设置\n\n> \\[!NOTE]\n> 如果对存储库中所有CodeQL支持的语言的分析失败，默认设置仍会启用，但在将另一种GitHub Actions支持的语言添加到存储库或手动重新配置默认设置之前，不会运行任何扫描或使用任何CodeQL分钟，且分析CodeQL支持的语言成功。\n\n1. 在 GitHub 上，导航到存储库的主页面。\n\n   > \\[!NOTE]\n   > 如果要在分支上配置默认设置，则必须首先启用 GitHub Actions。 若要启用GitHub Actions，请在存储库名称下单击“**操作”<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg>**，然后单击“**我了解我的工作流”，继续启用它们**。 请注意，这将在分支上启用所有现有工作流。\n\n2. 在仓库名称下，单击 <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-gear\" aria-label=\"gear\" role=\"img\"><path d=\"M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z\"></path></svg>“Settings”\\*\\*\\*\\*。 如果看不到“设置”选项卡，请选择“<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-kebab-horizontal\" aria-label=\"kebab horizontal icon\" role=\"img\"><path d=\"M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"></path></svg>”下拉菜单，然后单击“设置”。\n\n   ![存储库标头的屏幕截图，其中显示了选项卡。 “设置”选项卡以深橙色边框突出显示。](/assets/images/help/repository/repo-actions-settings.png)\n\n3. 在边栏的“Security”部分中，单击“<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-codescan\" aria-label=\"codescan\" role=\"img\"><path d=\"M8.47 4.97a.75.75 0 0 0 0 1.06L9.94 7.5 8.47 8.97a.75.75 0 1 0 1.06 1.06l2-2a.75.75 0 0 0 0-1.06l-2-2a.75.75 0 0 0-1.06 0ZM6.53 6.03a.75.75 0 0 0-1.06-1.06l-2 2a.75.75 0 0 0 0 1.06l2 2a.75.75 0 1 0 1.06-1.06L5.06 7.5l1.47-1.47Z\"></path><path d=\"M12.246 13.307a7.501 7.501 0 1 1 1.06-1.06l2.474 2.473a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM1.5 7.5a6.002 6.002 0 0 0 3.608 5.504 6.002 6.002 0 0 0 6.486-1.117.748.748 0 0 1 .292-.293A6 6 0 1 0 1.5 7.5Z\"></path></svg> Advanced Security”\\*\\*\\*\\*。\n\n4. 在“Code Security”下，“CodeQL analysis”右侧，选择“Set up”<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-triangle-down\" aria-label=\"triangle-down\" role=\"img\"><path d=\"m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z\"></path></svg>，然后单击“Default”。\\*\\*\\*\\*\\*\\*\\*\\*\n\n   ![“Code scanning”设置的“Advanced Security”部分的屏幕截图。 “默认设置”按钮以橙色轮廓突出显示。](/assets/images/help/security/default-code-scanning-setup-ghas.png)\n\n   然后，你将看到一个“CodeQL 默认配置”对话框，其中 code scanning 汇总了默认设置自动创建的配置。\n\n5. （可选）若要自定义 code scanning 设置，请单击“ **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-pencil\" aria-label=\"pencil\" role=\"img\"><path d=\"M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z\"></path></svg> 编辑**”。\n   * 若要在默认设置执行的分析中添加或移除语言，请在“语言”部分选择或取消选择该语言。\n   * 若要指定 CodeQL 要使用的查询套件，请在“查询套件”部分选择首选查询套件。\n\n6. 查看存储库上默认设置的设置，然后单击“ **启用 CodeQL**”。 这将触发一个工作流来测试新的自动生成的配置。\n\n   > \\[!NOTE]\n   > 如果要从高级设置切换到默认设置，则会看到一条警告，通知你默认设置将替代现有 code scanning 配置。 此警告意味着默认设置将禁用现有工作流文件并阻止任何 CodeQL 分析 API 上传。\n\n7. 如果存储库中的项目依赖于专用包注册表中的依赖项，则可以向其授予 code scanning 访问权限。 这可以提高分析的结果和质量。 请参阅“[授予安全功能访问专用注册表的权限](/zh/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries)”。\n\n8. （可选）调整影响默认设置的其他配置选项。 请参阅“[code scanning 的存储库属性](/zh/code-security/concepts/code-scanning/repository-properties)”。\n\n9. （可选）若要在启用后查看默认设置配置，请选择 <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-kebab-horizontal\" aria-label=\"Menu\" role=\"img\"><path d=\"M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"></path></svg>，然后单击“ **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-gear\" aria-label=\"gear\" role=\"img\"><path d=\"M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z\"></path></svg> 查看 CodeQL 配置**”。\n\n> \\[!NOTE]\n> 如果在启用默认设置的存储库中 6 个月未发生推送和拉取请求，则将禁用每周计划以节省 GitHub Actions 分钟。\n\n## 在自托管或 大型运行器\n\n上运行默认设置\n\n可以对自托管运行器或 CodeQL 托管运行器上使用所有 GitHub 支持的语言的默认设置。\n\n> \\[!NOTE]               启用默认设置时，Code scanning 将看到分配的运行器。 如果将运行程序分配给已在运行默认设置的存储库，则必须先禁用然后重新启用默认设置才能开始使用该运行程序。 如果你添加了运行程序并想要开始使用它，则可以手动更改配置，而无需先禁用然后重新启用默认设置。\n\n### 分配标签给自托管的运行程序\n\n若要为默认设置分配自承载运行程序，可以使用 默认 `code-scanning` 标签，也可以选择为它们提供自定义标签，以便单个存储库可以使用不同的运行程序。 有关为自托管运行器分配标签的信息，请参阅 [将标签与自托管运行程序结合使用](/zh/actions/hosting-your-own-runners/managing-self-hosted-runners/using-labels-with-self-hosted-runners)。\n\n将自定义标签分配给自托管运行器后，存储库可以使用这些运行器进行 code scanning 默认设置。\n\n还可以使用 security configurations 为 code scanning 的自托管运行器分配标签。 请参阅“[删除自定义安全配置](/zh/code-security/securing-your-organization/meeting-your-specific-security-needs-with-custom-security-configurations/creating-a-custom-security-configuration#creating-a-custom-security-configuration)”。\n\n### 分配 大型运行器\n\n若要分配 大型运行器，请命名运行器 `code-scanning`。 这会自动将`code-scanning`标签添加到大型运行器。 一个组织只能有一个带有 `code-scanning` 标签的 大型运行器，该运行器将处理组织内存储库中的所有 code scanning 作业，并可以访问运行器的组。 请参阅“[为默认设置配置更大的运行器](/zh/code-security/code-scanning/managing-your-code-scanning-configuration/configuring-larger-runners-for-default-setup#provisioning-organization-level-larger-runners-for-default-setup)”。\n\n### 确保构建支持\n\n默认设置使用 `none` 构建模式用于 C/C++、C#， Java 和 Rust，并使用 `autobuild` 构建模式用于其他已编译语言。 应配置自托管运行器，以确保可以运行 C/C++、C# 和 Swift 分析所需的所有命令。 JavaScript/TypeScript、Go、Ruby、Python 和 Kotlin 代码的分析目前不需要特殊配置。\n\n## 后续步骤\n\n配置成功运行至少一次后，可以开始检查和解决 code scanning 警报。 有关警报的详细信息 code scanning ，请参阅 [关于代码扫描警报](/zh/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts) 和 [访问存储库的代码扫描警报](/zh/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository)。\n\n配置好默认设置code scanning后，您可以了解评估其效果的方式以及可以采取的下一步自定义措施。 有关详细信息，请参阅“[评估代码扫描的默认设置](/zh/code-security/code-scanning/enabling-code-scanning/evaluating-default-setup-for-code-scanning)”。\n\n可以在工具状态页上找到有关 code scanning 配置的详细信息，包括每个扫描的时间戳和扫描的文件百分比。 有关详细信息，请参阅“[使用工具状态页进行代码扫描](/zh/code-security/code-scanning/managing-your-code-scanning-configuration/about-the-tool-status-page)”。\n\n配置默认设置时，可能会遇到错误。 有关排查特定错误的信息，请参阅 [代码扫描分析错误疑难解答](/zh/code-security/code-scanning/troubleshooting-code-scanning)。"}