任何对仓库有读取权限的人都可以查看拉取请求上的 code scanning 注释。 有关详细信息,请参阅“鉴定拉取请求中的代码扫描警报”。
查看仓库的警报
你需要写入权限才能在“安全”选项卡上查看存储库所有警报的摘要。
默认情况下,将筛选 code scanning 警报页面,以仅显示存储库默认分支的警报。
-
在 GitHub 上,导航到存储库的主页面。
-
在存储库名称下,单击“ 安全性”。 如果看不到“安全性”选项卡,请选择 下拉菜单并单击“安全性” 。
-
在左侧边栏中,单击 Code scanning。
-
(可选)使用自由文本搜索框或下拉菜单来筛选警报。 例如,您可以通过用于识别警报的工具进行过滤。
-
在“Code scanning”下,单击要探索的警报以显示详细警报页。 警报页面上的状态和详细信息仅反映存储库默认分支上的警报状态,即使警报存在于其他分支中也是如此。 可以在警报页右侧的“受影响的分支”部分查看非默认分支上的警报状态。 如果默认分支中不存在警报,则警报的状态将显示为“在拉取请求中”或“在分支中”,并将变为灰色。
-
(可选)如果警报突出显示数据流的问题,请单击“显示路径”以显示从数据源到使用它的接收者的路径。
-
来自 CodeQL 分析的警报包括对问题的描述。 单击“显示更多”以获取有关如何修复代码的指导。
有关详细信息,请参阅“关于代码扫描警报”。
注意:可以在工具状态页上查看有关 code scanning 分析上次运行时间的信息。 有关详细信息,请参阅“关于代码扫描的工具状态页”。
筛选 code scanning 警报
您可以筛选 code scanning 警报视图中显示的警报。 如果存在许多警报,这将非常有用,因为您可以专注于特定类型的警报。 有一些预定义的筛选器和一系列关键字可用于优化显示的警报列表。
从下拉列表中选择关键字时,或者在搜索字段中输入关键字时,仅显示具有结果的值。 这样可以更容易地避免设置没有结果的筛选器。
如果输入多个筛选器,视图将显示与所有这些筛选器匹配的警报。 例如,is:closed severity:high branch:main
仅显示 main
分支上存在的已关闭高严重性警报。 例外情况是与 refs 相关的筛选器(ref
、branch
和 pr
):is:open branch:main branch:next
将显示来自 main
分支和 next
分支的开放式警报。
请注意,如果你已筛选掉非默认分支上的警报,但默认分支上存在相同的警报,则任何给定警报的警报页仍将仅反映默认分支上的警报状态,即使该状态与非默认分支的状态冲突也是如此。 例如,如果 branch-x
的警报摘要中的“未解决”列表中显示的警报已在默认分支上修复,该警报可能会在警报页上显示“已修复”状态。 可在警报页右侧的“受影响的分支”部分查看筛选的分支的警报状态。
你可以在 tag
筛选器前面加上 -
以排除带有该标记的结果。 例如,-tag:style
仅显示没有 style
标记的警报。
将结果限制为仅应用程序代码
可以使用“仅应用程序代码中的警报”筛选器或 autofilter:true
关键字和值,将结果限于应用程序代码中的警报。 有关自动标记为非应用程序代码的代码类型的详细信息,请参阅“关于代码扫描警报”。
搜索 code scanning 警报
您可以搜索警报列表。 如果仓库中存在大量警报,或者您不知道警报的确切名称,这很有用。 GitHub 可执行以下自由文本搜索:
- 警报的名称
- 警报详细信息(这也包括默认情况下在“显示更多”可折叠部分中隐藏的信息)
支持的搜索 | 语法示例 | 结果 |
---|---|---|
单字搜索 | injection | 返回包含单词 injection 的所有警报 |
多字词搜索 | sql injection | 返回包含 sql 或 injection 的所有警报 |
精确匹配搜索 (使用双引号) | "sql injection" | 返回包含确切短语 sql injection 的所有警报 |
OR 搜索 | sql OR injection | 返回包含 sql 或 injection 的所有警报 |
AND 搜索 | sql AND injection | 返回包含单词 sql 和 injection 的所有警报 |
提示:
- 多字词搜索等同于 OR 搜索。
- AND 搜索将返回以任何顺序在警报名称或详细信息中的“任意位置”找到搜索词的结果。
- 在 GitHub 上,导航到存储库的主页面。
- 在存储库名称下,单击“ 安全性”。 如果看不到“安全性”选项卡,请选择 下拉菜单并单击“安全性” 。
- 在左侧边栏中,单击 Code scanning。
- 在“筛选器”下拉菜单右侧,在自由文本搜索框中键入关键字以进行搜索。 。
- 按 return。 警报列表将包含与搜索条件匹配的未处理 code scanning 警报。
跟踪议题中的 code scanning 警报
注意: 议题中 code scanning 警报的跟踪目前为 公共预览版,可能随时更改。
此功能支持使用 GitHub Actions 在本机运行分析,或使用现有 CI/CD 基础结构以及第三方 code scanning 工具在外部运行分析,但不支持第三方跟踪工具。
要快速创建问题来跟踪特定 code scanning 警报的状态,请在 code scanning 警报页上,单击要跟踪的警报。在该警报的详细页面上,单击“创建问题****”。 根据需要自定义自动生成的问题,然后单击“提交新问题****”。
或者,要跟踪已有问题中的 code scanning 警报,请将警报的 URL 添加为问题中的任务列表项。 有关任务列表的详细信息,请参阅“关于任务列表”。
有关创建问题以跟踪 code scanning 警报的详细信息,请参阅“使用任务列表跟踪问题中的代码扫描警报”。
审核对 code scanning 警报的响应
可以使用 GitHub 工具审核为响应code scanning警报而执行的操作。 有关详细信息,请参阅“审核安全警报”。
延伸阅读
- "解决代码扫描警报"
- “鉴定拉取请求中的代码扫描警报”
- “配置代码扫描的默认设置”
- “关于与代码扫描的集成”