编辑默认设置配置的简介
使用默认设置运行代码初始分析后,可能需要对配置进行更改,以便更好地满足代码安全需求。 对于默认设置的现有配置,可编辑:
- 语言默认设置会进行分析。
- 分析期间运行的查询套件。 有关可用查询套件的更多信息,请参阅“CodeQL 查询套件”。
如果代码库依赖于 CodeQL 中包含的标准库无法识别的库或框架,则也可以使用 CodeQL 模型包在默认设置中扩展 CodeQL 覆盖范围。 有关详细信息,请参阅“在默认设置中使用 CodeQL 模型包扩展 CodeQL 覆盖范围”。
如果需要更改 code scanning 配置的任何其他方面,请考虑配置高级设置。 有关详细信息,请参阅“配置代码扫描的高级设置”。
自定义现有默认设置配置
-
在 GitHub 上,导航到存储库的主页面。
-
在存储库名称下,单击 “设置”。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。
-
在边栏的“安全性”部分中,单击“ 代码安全性和分析”。
-
在“Code scanning”部分的“CodeQL 分析”行旁边,选择 ,然后单击 “查看 CodeQL 配置”。****
-
在“CodeQL 默认配置”窗口中,单击 “编辑”****。
-
(可选)在“语言”部分中,选择或取消选择用于分析的语言。
-
(可选)在“扫描设置”部分的“查询套件”行中,选择要对代码运行的其他查询套件。
-
要更新配置,并使用新配置运行对代码初始分析,请单击“保存更改”。**** 将来的所有分析都将使用新配置。
定义导致拉取请求检查失败的警报严重性
在拉取请求上启用 code scanning 时,仅当检测到一个或多个严重性为 error
或者安全严重性为 critical
或 high
的警报时,检查才会失败。 如果检测到严重性或安全严重性低于此标准的警报,则检查将会成功。 对于重要的代码库,则建议设置为 code scanning 检查在检测到任何警报时失败,以确保在合并代码更改之前必须修正或消除警报。 有关严重性级别的详细信息,请参阅“关于警报严重性和安全严重性级别”。
-
在 GitHub 上,导航到存储库的主页面。
-
在存储库名称下,单击 “设置”。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。
-
在边栏的“安全性”部分中,单击“ 代码安全性和分析”。
-
在“Code scanning”下的“检查失败”右侧,使用下拉菜单选择你希望导致拉请求检查失败的严重性级别。
在默认设置中使用 CodeQL 模型包扩展 CodeQL 覆盖范围
**注意:**CodeQL 模型包和 CodeQL 模型编辑器当前为 beta 版本,可能随时更改。 模型包由 Java/Kotlin 分析支持。
如果使用 CodeQL 中包含的标准库无法识别的框架和库,则可以对依赖项进行建模并扩展 code scanning 分析。 有关详细信息,请参阅 CodeQL 文档中的“支持的语言和框架”。
对于默认设置,需要在 CodeQL 模型包中定义其他依赖项的模型。 可以通过单个存储库的 CodeQL 模型包扩展默认设置中的覆盖范围,也可以为组织中的所有存储库大规模扩展覆盖范围。
有关 CodeQL 模型包以及编写自己的模型包的详细信息,请参阅“使用 CodeQL 模型编辑器”。
扩展存储库的覆盖范围
- 在存储库的
.github/codeql/extensions
目录中,复制模型包目录,该目录应包含一个codeql-pack.yml
文件和任何.yml
文件,后者包含要包含在分析中的库或框架的其他模型。 - 这些模型包将在 code scanning 分析中自动检测和使用。
- 如果以后将配置更改为使用高级设置,则
.github/codeql/extensions
目录中的任何模型包也将被识别和使用。
GitHub Container registry关联的容器注册表,并且可供运行 code scanning 的存储库访问。 有关详细信息,请参阅“使用容器注册表”。
-
在 GitHub 的右上角,选择个人资料照片,然后单击“你的组织”。
-
在组织名称下,单击 “设置”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”********。
-
单击“代码安全和分析”。
-
找到“Code scanning”部分。
-
在“展开 CodeQL 分析”旁边,单击“配置”。
-
输入对要使用的已发布模型包的引用,每行一个应用,然后单击“保存”。
-
当 code scanning 在组织中启用了默认设置的任何存储库上运行时,将自动检测和使用模型包。