Skip to main content

编辑默认设置配置

可以编辑现有的默认设置配置,以便 code scanning 更好地符合您的需求。

谁可以使用此功能?

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

运行代码的初始分析时使用默认设置,然后可以更改配置以更好地满足需求。 请参阅 关于代码扫描的设置类型

自定义现有默认设置配置

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

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

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

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

  4. 在“CodeQLCode Security分析”部分的“分析”行中,选择,然后单击“查看CodeQL配置”。

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

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

  7. (可选)在“Scan settings”部分的“Query suite”行中,选择要对代码运行的其他查询套件。

  8. (可选)若要使用标记的运行程序,请在“CodeQL 默认配置”模式对话框的“运行程序类型”部分中,选择 “标准 GitHub 运行程序 ”以打开下拉菜单,然后选择 “标记运行程序”。 然后,在“运行器标签”旁边输入现有自托管或 GitHub托管运行器的标签。 有关详细信息,请参阅“配置代码扫描的默认设置”。

  9. (公共预览版可选)在“扫描设置”部分的“威胁模型”行中,选择 “远程和本地源”。 此选项仅适用于具有支持语言的代码的存储库: Java/Kotlin 和 C#。

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

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

当满足以下条件之一时,可以使用规则集防止合并拉取请求:

  • 某个必需的工具发现了一个 code scanning 警报,且该警报的严重程度符合规则集中的定义。
  • 所需的工具分析仍在进行中。
  • 未为存储库配置所需的工具。

有关详细信息,请参阅“设置代码扫描合并保护”。 有关规则集的更多常规信息,请参阅“关于规则集”。

在默认设置中包含受污染数据的本地源

注意

风险模型功能目前为 公共预览版,可能随时更改。 在 公共预览版 期间,风险模型仅支持 Java/Kotlin 和 C# 分析。

如果代码库只将远程网络请求视为受污染数据的潜在来源,则建议使用默认的威胁模型。 如果代码库认为网络请求以外的源可能包含受污染的数据,则可以使用威胁模型将这些其他源添加到 CodeQL 分析中。 在公共预览版期间,您可以添加您的代码库可能视为受污染数据附加来源的本地源(例如:命令行参数、环境变量、文件系统和数据库)。

可以编辑默认设置配置中使用的威胁模型。 有关更多信息,请参阅“自定义现有的默认设置配置”。

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

注意

CodeQL 模型包目前包含在 公共预览版 中,可能会更改。 C/C++、C#、Java/Kotlin、Python、Ruby 和 Rust 分析支持模型包。

Visual Studio Code 的 CodeQL 扩展中的 CodeQL 支持对 C#、Java/Kotlin、Python 和 Ruby 的依赖项建模。

如果您的企业托管在 GitHub.com ,并且您使用的框架和库不被 CodeQL 的标准库识别,那么可以对依赖项进行建模并扩展 code scanning 分析。 有关详细信息,请参阅文档中受支持语言和框架CodeQL。

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

有关模型包和编写自己的模型包的详细信息 CodeQL ,请参阅 使用 CodeQL 模型编辑器

扩展存储库的覆盖范围

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

扩展组织中所有存储库的覆盖范围

注意

如果扩展了CodeQL组织中所有存储库的模型包的覆盖范围,则必须将指定的模型包发布到与GitHub Enterprise Server实例关联的容器注册表(https://containers.HOSTNAME),并且可供运行code scanning的存储库访问。 有关详细信息,请参阅“使用容器注册表”。

  1. 在 GitHub 的右上角,单击个人资料图片,然后单击“ Your organizations”****。

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

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

  3. 在边栏的“Security”部分中,依次单击“ Advanced Security”和“Global settings”********。

  4. 查找“Code scanning”部分。

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

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

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

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

进一步自定义

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