任何对仓库有读取权限的人都可以查看拉取请求上的 code scanning 注释。 有关详细信息,请参阅“鉴定拉取请求中的代码扫描警报”。
查看仓库的警报
你需要写入权限才能在“安全”选项卡上查看存储库所有警报的摘要。
默认情况下,将筛选 code scanning 警报页面,以仅显示存储库默认分支的警报。
-
在 GitHub 上,导航到存储库的主页面。
-
在存储库名称下,单击“ 安全性”。 如果看不到“安全性”选项卡,请选择 下拉菜单并单击“安全性” 。
-
在左侧边栏中,单击 Code scanning。
-
(可选)使用自由文本搜索框或下拉菜单来筛选警报。 例如,您可以通过用于识别警报的工具进行过滤。
-
在“Code scanning”下,单击要探索的警报以显示详细警报页。 警报页面上的状态和详细信息仅反映存储库默认分支上的警报状态,即使警报存在于其他分支中也是如此。 可以在警报页右侧的“受影响的分支”部分查看非默认分支上的警报状态。 如果默认分支中不存在警报,则警报的状态将显示为“在拉取请求中”或“在分支中”,并将变为灰色。
-
(可选)如果警报突出显示数据流的问题,请单击“显示路径”以显示从数据源到使用它的接收者的路径。
-
来自 CodeQL 分析的警报包括对问题的描述。 单击“显示更多”以获取有关如何修复代码的指导。
有关详细信息,请参阅“关于代码扫描警报”。
Note
可以在工具状态页上查看有关 code scanning 分析上次运行时间的信息。 有关详细信息,请参阅“关于代码扫描的工具状态页”。
向 GitHub Copilot Chat 询问有关 code scanning 警报的问题
使用 GitHub Copilot Enterprise 许可证,可以向 Copilot Chat 寻求帮助,以更好地了解组织中存储库中的安全警报,包括 code scanning 警报。 有关详细信息,请参阅“在 GitHub 中向 GitHub Copilot 提问”。
查看组织的 CodeQL 拉取请求警报的指标
对于来自 CodeQL 分析的 code scanning 警报,可以使用安全概览查看 CodeQL 整个组织中你具有写入访问权限的存储库中的拉取请求中的执行情况,并确定可能需要采取措施的存储库。 有关详细信息,请参阅“查看拉取请求警报的指标”。
筛选 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 Enterprise Cloud 可执行以下自由文本搜索:
- 警报的名称
- 警报详细信息(这也包括默认情况下在“显示更多”可折叠部分中隐藏的信息)
支持的搜索 | 语法示例 | 结果 |
---|---|---|
单字搜索 | injection | 返回包含单词 injection 的所有警报 |
多字词搜索 | sql injection | 返回包含 sql 或 injection 的所有警报 |
精确匹配搜索 (使用双引号) | "sql injection" | 返回包含确切短语 sql injection 的所有警报 |
OR 搜索 | sql OR injection | 返回包含 sql 或 injection 的所有警报 |
AND 搜索 | sql AND injection | 返回包含单词 sql 和 injection 的所有警报 |
Tip
- 多字词搜索等同于 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警报而执行的操作。 有关详细信息,请参阅“审核安全警报”。
延伸阅读
- "解决代码扫描警报"
- “鉴定拉取请求中的代码扫描警报”
- “配置代码扫描的默认设置”
- “关于与代码扫描的集成”