Skip to main content

编辑默认设置配置

你可以编辑 code scanning 的现有默认设置配置,以更好地满足代码安全需求。

谁可以使用此功能?

具有管理员角色的组织所有者、安全管理员和组织成员

编辑默认设置配置的简介

使用默认设置运行代码初始分析后,可能需要对配置进行更改,以便更好地满足代码安全需求。 对于默认设置的现有配置,可编辑:

  • 语言默认设置会进行分析。
  • 分析期间运行的查询套件。 有关可用查询套件的更多信息,请参阅“CodeQL 查询套件”。

如果代码库依赖于 CodeQL 中包含的标准库无法识别的库或框架,则也可以使用 CodeQL 模型包在默认设置中扩展 CodeQL 覆盖范围。 有关详细信息,请参阅“在默认设置中使用 CodeQL 模型包扩展 CodeQL 覆盖范围”。

如果需要更改 code scanning 配置的任何其他方面,请考虑配置高级设置。 有关详细信息,请参阅“配置代码扫描的高级设置”。

自定义现有默认设置配置

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

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

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

  3. 在边栏的“Security”部分中,单击“ Code security and analysis”****。

  4. 在“Code scanning”部分的“CodeQL 分析”行旁边,选择 ,然后单击 “查看 CodeQL 配置”。****

  5. 在“CodeQL 默认配置”窗口中,单击 “编辑”****。

  6. (可选)在“语言”部分中,选择或取消选择用于分析的语言。

  7. (可选)在“扫描设置”部分的“查询套件”行中,选择要对代码运行的其他查询套件。

  8. 要更新配置,并使用新配置运行对代码初始分析,请单击“保存更改”。**** 将来的所有分析都将使用新配置。

定义导致拉取请求检查失败的警报严重性

在拉取请求上启用 code scanning 时,仅当检测到一个或多个严重性为 error 或者安全严重性为 criticalhigh 的警报时,检查才会失败。 如果检测到严重性或安全严重性低于此标准的警报,则检查将会成功。 对于重要的代码库,则建议设置为 code scanning 检查在检测到任何警报时失败,以确保在合并代码更改之前必须修正或消除警报。 有关严重性级别的详细信息,请参阅“关于警报严重性和安全严重性级别”。

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

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

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

  3. 在边栏的“Security”部分中,单击“Code security and analysis”****。

  4. 在“Code scanning”下的“检查失败”右侧,使用下拉菜单选择你希望导致拉请求检查失败的严重性级别。

在默认设置中使用 CodeQL 模型包扩展 CodeQL 覆盖范围

Note

CodeQL 模型包和 CodeQL 模型编辑器当前为 beta 版本,可能随时更改。 模型包由 Java/Kotlin 分析支持。

如果你使用 CodeQL 中包含的标准库无法识别的框架和库,则可以对依赖项进行建模并扩展code scanning分析。 有关详细信息,请参阅 CodeQL 文档中的“支持的语言和框架”。

对于默认设置,需要在 CodeQL 模型包中定义其他依赖项的模型。 可以通过单个存储库的 CodeQL 模型包扩展默认设置中的覆盖范围,也可以为组织中的所有存储库大规模扩展覆盖范围。

有关 CodeQL 模型包以及编写自己的模型包的详细信息,请参阅“使用 CodeQL 模型编辑器”。

扩展存储库的覆盖范围

  1. 在存储库的 .github/codeql/extensions 目录中,复制模型包目录,该目录应包含一个 codeql-pack.yml 文件和任何 .yml 文件,后者包含要包含在分析中的库或框架的其他模型。
  2. 这些模型包将在 code scanning 分析中自动检测和使用。
  3. 如果以后将配置更改为使用高级设置,则 .github/codeql/extensions 目录中的任何模型包也将被识别和使用。

GitHub Container registry关联的容器注册表,并且可供运行 code scanning 的存储库访问。 有关详细信息,请参阅“使用容器注册表”。

  1. 在 GitHub 的右上角,选择个人资料照片,然后单击“你的组织”。

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

    组织配置文件中选项卡的屏幕截图。 “设置”选项卡以深橙色标出。

  3. 单击“代码安全和分析”。

  4. 找到“Code scanning”部分。

  5. 在“展开 CodeQL 分析”旁边,单击“配置”。

  6. 输入对要使用的已发布模型包的引用,每行一个应用,然后单击“保存”。

    组织设置中的“展开 CodeQL 分析”视图的屏幕截图。

  7. 当 code scanning 在组织中启用了默认设置的任何存储库上运行时,将自动检测和使用模型包。