Skip to main content

配置代码扫描的默认设置

快速设置 code scanning 以自动查找 易受攻击的代码。

谁可以使用此功能?

具有管理员角色的存储库所有者、组织所有者、安全管理员和用户

Code scanning 可用于以下存储库类型:

  • GitHub.com 上的公共存储库
  • GitHub Team、GitHub Enterprise Cloud 或 GitHub Enterprise Server 上的组织拥有的存储库,已启用 GitHub Code Security

我们建议您开始使用code scanning,并采用默认设置。 最初配置默认设置后,可以评估 code scanning 其工作原理,并对其进行自定义,以更好地满足需求。 有关详细信息,请参阅“关于代码扫描的设置类型”。

先决条件

如果存储库符合 code scanning 的默认设置条件:

  • 已启用 GitHub Actions。
  • 已启用 GitHub Code Security。

配置存储库的默认设置

注意

如果对存储库中所有CodeQL支持的语言的分析失败,默认设置仍会启用,但在将另一种GitHub Actions支持的语言添加到存储库或手动重新配置默认设置之前,不会运行任何扫描或使用任何CodeQL分钟,且分析CodeQL支持的语言成功。

  1. 在 GitHub 上,导航到存储库的主页面。

    注意

    如果要在分支上配置默认设置,则必须首先启用 GitHub Actions。 若要启用GitHub Actions,请在存储库名称下单击“操作”,然后单击“我了解我的工作流”,继续启用它们。 请注意,这将在分支上启用所有现有工作流。

  2. 在仓库名称下,单击 “Settings”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。

    存储库标头的屏幕截图,其中显示了选项卡。 “设置”选项卡以深橙色边框突出显示。

  3. 在边栏的“Security”部分中,单击“ Advanced Security”****。

  4. 在“Code Security”下,“CodeQL analysis”右侧,选择“Set up”,然后单击“Default”。********

    “Advanced Security”设置的“Code scanning”部分的屏幕截图。 “默认设置”按钮以橙色轮廓突出显示。

    然后,你将看到一个“CodeQL 默认配置”对话框,其中 code scanning 汇总了默认设置自动创建的配置。

  5. (可选)若要自定义 code scanning 设置,请单击“ 编辑”。

    • 若要在默认设置执行的分析中添加或移除语言,请在“语言”部分选择或取消选择该语言。
    • 若要指定 CodeQL 要使用的查询套件,请在“查询套件”部分选择首选查询套件。
  6. 查看存储库上默认设置的设置,然后单击“ 启用 CodeQL”。 这将触发一个工作流来测试新的自动生成的配置。

    注意

    如果要从高级设置切换到默认设置,则会看到一条警告,通知你默认设置将替代现有 code scanning 配置。 此警告意味着默认设置将禁用现有工作流文件并阻止任何 CodeQL 分析 API 上传。

  7. (可选)若要在启用后查看默认设置配置,请选择 ,然后单击“ 查看 CodeQL 配置”。

注意

如果在启用默认设置的存储库中 6 个月未发生推送和拉取请求,将禁用每周计划以节省您的 GitHub Actions 分钟。

为默认配置分配执行程序

注意

Code scanning 启用默认设置时,将看到分配的运行程序。 如果将运行程序分配给已在运行默认设置的存储库,则必须先禁用然后重新启用默认设置才能开始使用该运行程序。 如果你添加了运行程序并想要开始使用它,则可以手动更改配置,而无需先禁用然后重新启用默认设置。

给自托管运行者分配标签

若要为默认设置分配自承载运行程序,可以使用 默认 code-scanning 标签,也可以选择为它们提供自定义标签,以便单个存储库可以使用不同的运行程序。 有关将标签分配给自承载运行程序的详细信息,请参阅 将标签与自托管运行程序结合使用

将自定义标签分配给自托管运行器后,存储库可以使用这些运行器进行 code scanning 默认设置。

还可以使用security configurations为自托管运行程序code scanning分配标签。 请参阅“删除自定义安全配置”。

确保构建支持

默认设置使用 none 构建模式用于 C# 和 Java,并使用 autobuild 构建模式用于其他已编译语言。 应配置自托管运行器,以确保可以运行 C/C++、C# 和 Swift 分析所需的所有命令。 JavaScript/TypeScript、Go、Ruby、Python 和 Kotlin 代码的分析目前不需要特殊配置。

后续步骤

配置成功运行至少一次后,可以开始检查和解决 code scanning 警报。 有关警报的详细信息 code scanning ,请参阅 关于代码扫描警报访问存储库的代码扫描警报

配置好默认设置code scanning后,您可以了解评估其效果的方式以及可以采取的下一步自定义措施。 有关详细信息,请参阅“评估代码扫描的默认设置”。

可以在工具状态页上找到有关 code scanning 配置的详细信息,包括每个扫描的时间戳和扫描的文件百分比。 有关详细信息,请参阅“使用工具状态页进行代码扫描”。

配置默认设置时,可能会遇到错误。 有关排查特定错误的信息,请参阅 代码扫描分析错误疑难解答