Skip to main content

配置大规模代码扫描的默认设置

可以使用默认设置为整个组织的存储库快速配置 code scanning。

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

关于大规模配置默认设置

通过 code scanning 的默认设置,可以快速保护整个组织的存储库中的代码。

可以使用标记为“代码安全性和分析”的组织设置页来为组织中符合默认设置的所有存储库启用 code scanning。 有关详细信息,请参阅“为组织中所有符合条件的存储库配置默认设置”。

还可以使用安全概述查找组织中的一部分存储库,并同时为所有这些存储库启用或禁用默认设置。 有关详细信息,请参阅“为组织中的一部分存储库配置默认设置”。

还可以为单个存储库创建不同的默认设置配置。 有关在存储库级别配置默认设置的详细信息,请参阅“配置代码扫描的默认设置”。

对于不符合默认设置条件的存储库,可以在存储库级别或使用脚本在组织级别配置高级设置。 有关详细信息,请参阅“使用 CodeQL 大规模为代码扫描配置高级设置”。

符合 CodeQL 大规模默认设置条件的存储库

存储库必须满足以下所有条件才能使用默认设置,否则需要使用高级设置。

  • Code scanning 尚未启用。
  • GitHub Actions 已启用。
  • 使用任何 CodeQL 支持的语言。
  • 公开可见,或 GitHub Advanced Security 已启用。

关于向现有默认设置配置添加语言

如果存储库中的代码更改为包含 CodeQL 支持的语言 GitHub 会自动更新 code scanning 配置以包含新的语言。 如果 code scanning 因新配置而失败,GitHub 将自动恢复以前的配置,因此存储库不会失去 code scanning 覆盖范围。

为组织中所有符合条件的存储库配置默认设置

通过组织设置的“代码安全性和分析”页,可以为组织中所有符合条件的存储库启用默认设置。 有关存储库资格的详细信息,请参阅“符合 CodeQL 大规模默认设置条件的存储库”。

  1. 单击你的个人资料照片,然后单击“组织”。
  2. 单击组织旁边的“设置”。
  3. 单击“代码安全和分析”。
  4. 单击“Code scanning”旁边的“全部启用”。
  5. 在显示的“启用 code scanning 默认设置”对话框中的“查询套件”部分中,选择将运行默认设置配置的查询套件。 有关详细信息,请参阅“内置 CodeQL 查询套件”。
  6. 若要启用默认设置的配置,请单击“为符合条件的存储库启用”。
  7. (可选)若要在启用默认设置时在整个组织中推荐“扩展”查询套件,请选择“为启用默认设置的存储库图鉴扩展查询套件”。

注意:

  • 如果为所有存储库禁用 CodeQL code scanning,则此更改不会反映在组织的安全概述中显示的覆盖范围信息中。 存储库在“安全覆盖范围”视图中仍将显示为已启用 code scanning。
  • 为组织中的所有符合条件的存储库启用 code scanning 不会覆盖现有的 code scanning 配置。 若需了解如何为特定存储库配置不同设置的默认设置,请参阅“配置代码扫描的默认设置”和“为组织中的一部分存储库配置默认设置”。

为组织中的部分存储库配置默认设置

通过组织的安全概述,可以找到符合默认设置条件的存储库,然后同时在每个存储库中启用默认设置。 有关存储库资格的详细信息,请参阅“符合 CodeQL 大规模默认设置条件的存储库”。

查找符合默认设置条件的存储库

  1. 在 GitHub.com 上,导航到组织的主页。

  2. 在组织名称下,单击“ 安全性”。

    组织的水平导航栏的屏幕截图。 标有盾牌图标和“安全”字样的选项卡以深橙色轮廓标出。

  3. 在边栏中,单击“ 覆盖范围”,以显示“安全覆盖范围”视图。

    “安全覆盖范围”视图的屏幕截图。

  4. 在搜索栏中,输入以下查询之一:

    • code-scanning-default-setup:eligible is:public 显示具有适合默认设置的语言并且符合条件的存储库,因为它们对公众可见。
    • code-scanning-default-setup:eligible advanced-security:enabled 显示具有适合默认设置的语言并且符合条件的专用或内部存储库,因为它们已启用 GitHub Advanced Security。
    • code-scanning-default-setup:eligible is:private,internal advanced-security:not-enabled 显示具有适合默认设置的语言但未启用 GitHub Advanced Security 的专用或内部存储库。 为这些存储库启用 GitHub Advanced Security 后,也可以将它们添加到默认设置中。
    • code-scanning-default-setup:not-eligible 显示已配置高级设置或语言不适合默认设置的存储库。

可以选择所有显示的存储库或其中一部分存储库,并同时为它们启用或禁用 code scanning 的默认设置。 有关详细信息,请参阅“为组织中的多个存储库大规模配置默认设置”的步骤 5。

为组织中的多个存储库大规模配置默认设置

  1. 在 GitHub.com 上,导航到组织的主页。

  2. 在组织名称下,单击“ 安全性”。

    组织的水平导航栏的屏幕截图。 标有盾牌图标和“安全”字样的选项卡以深橙色轮廓标出。

  3. 在边栏中,单击“ 覆盖范围”,以显示“安全覆盖范围”视图。

    “安全覆盖范围”视图的屏幕截图。

  4. 可以使用搜索栏根据名称或安全功能的启用状态来缩小“安全覆盖范围”视图中可见存储库的范围。 例如,要筛选符合默认设置条件且当前未启用默认设置的存储库,请搜索 code-scanning-default-setup:eligible

  5. 在存储库列表中,选择要为其启用 code scanning 的每个存储库。 若要选择页面上的所有存储库,请单击“NUMBER 个活动项”旁边的复选框。 若要选择与当前搜索匹配的所有存储库,请单击“NUMBER 个活动项”旁边的复选框,然后单击“全选 NUMBER 个存储库”。

  6. 单击“已选中 NUMBER 个”旁边的“安全设置” 。

  7. 在侧面板的“CodeQL 默认设置”部分中,选择“无更改”,然后单击“启用”。

  8. (可选)若要选择与组织的默认查询套件不同的查询套件,请选择“查询套件:套件名称”,然后单击默认设置配置应使用的查询套件。 有关详细信息,请参阅“内置 CodeQL 查询套件”。

  9. 要确认为所选存储库启用 code scanning,请单击“应用更改编号”。 或者,要选择或取消选择多个存储库以启用 code scanning,请单击“”以关闭面板,而不应用所做的更改。

备注: 在组织中使用安全概述为多个存储库启用 code scanning 将替代所选存储库的任何现有 code scanning 配置,包括任何以前的查询套件选择和高级设置的工作流。

“安全覆盖范围”视图的屏幕截图,其中侧面板处于打开状态。 “应用更改”按钮以深橙色边框突出显示。

如果系统由于企业策略阻止你启用 code scanning,你仍然可以在“安全覆盖范围”视图中看到受影响的存储库,并从 “安全设置”按钮访问侧面板。 但是,你将在侧面板中看到一条消息,指示无法为所选存储库启用 code scanning。 有关企业策略的详细信息,请参阅“强制实施企业的代码安全性和分析策略”。