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. 如果存储库中的项目依赖于专用包注册表中的依赖项,则可以向其授予 code scanning 访问权限。 这可以提高分析的结果和质量。 请参阅“授予安全功能访问专用注册表的权限”。

  8. (可选)若要在启用后查看默认设置配置,请选择 ,然后单击“ 查看 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 配置的详细信息,包括每个扫描的时间戳和扫描的文件百分比。 有关详细信息,请参阅“使用工具状态页进行代码扫描”。

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