Skip to main content

查看代码扫描日志

可以在 GitHub 中查看 code scanning 分析期间生成的输出。

谁可以使用此功能?

具有读取访问权限的用户

关于 code scanning 配置

可以使用各种工具在存储库中配置 code scanning。 有关详细信息,请参阅 配置代码扫描的默认设置配置代码扫描的高级设置

您可用的日志和诊断信息取决于您在 code scanning 中使用的方法。 你可以使用警报列表中的“工具”下拉菜单,检查存储库的“安全性”选项卡中使用的 code scanning 类型。******** 有关详细信息,请参阅“评估存储库的代码扫描警报”。

关于分析和诊断信息

您可以使用 GitHub 上的 CodeQL 分析查看 code scanning 运行的分析和诊断信息。

在警报列表顶部的标题中显示最近分析的“分析”信息。 有关详细信息,请参阅“评估存储库的代码扫描警报”。

“诊断”信息显示在行动工作流日志中,包���摘要指标和提取器诊断。 有关访问 GitHub 上的 code scanning 日志的信息,请参阅下面的查看 code scanning 的日志记录输出

如果您在 GitHub 外部使用 CodeQL CLI ,您将在数据库分析期间生成的输出中看到诊断信息。 此信息也包含在您随 code scanning 结果上传到 GitHub 的 SARIF 结果文件中。

有关 CodeQL CLI 的信息,请参阅 使用 CodeQL 查询分析代码

关于摘要指标

摘要指标包括:

  • 在创建和提取 CodeQL 数据库之前,代码库中的代码行(用作基线)
  • 从代码中提取的 CodeQL 数据库中的代码行,包括外部库和自动生成的文件
  • CodeQL 数据库中的代码行,不包括自动生成的文件和外部库

关于 CodeQL 源代码提取诊断信息

提取器诊断仅涵盖分析期间看到的文件,指标包括:

  • 成功分析的文件数量
  • 在创建数据库过程中生成提取器错误的文件数量
  • 在创建数据库过程中生成提取器警告的文件数量

通过启用调试日志记录,可以查看有关在创建数据库期间发生的 CodeQL 提取器错误和警告的更多详细信息。 有关详细信息,请参阅“日志不够详细”。

查看来自 code scanning 的日志记录输出

本节适用于使用 code scanning 的 GitHub Actions 运行(CodeQL 或第三方)。

为存储库配置 code scanning 后,可以监视操作运行时的输出。

  1. 在仓库名称下,单击“ Actions”****。

    “github/docs”存储库的选项卡的屏幕截图。 “操作”选项卡以橙色边框突出显示。

    你将看到一个列表,���中包含一个用于运行 code scanning 工作流的条目。 条目的文本是提交消息的标题。

    “所有工作流”页的屏幕截图。 在工作流运行列表中,有一个标记为“创建 .github/workflows/codeql.yml”的运行。

  2. 单击 code scanning 工作流程的项目。

    注意

    如果要查找通过启用默认设置触发的 CodeQL 工作流运行,则条目的文本为“CodeQL”。

  3. 单击左侧的作业名称。 例如,分析(语言)

    “分析(转到)”作业的日志输出的屏幕截图。 在左侧边栏的“作业”标题下,列出了“分析(转到)”。

  4. 查看此工作流运行时操作的日志记录输出。

  5. (可选)要查看有关触发工作流运行的提交的更多详细信息,请单击短格式提交哈希。 此短格式提交哈希是紧跟在提交作者用户名之后的 7 个小写字符。

  6. 在所有作业完成后,您可以查看已识别的任何 code scanning 警报的详细信息。 有关详细信息,请参阅“评估存储库的代码扫描警报”。

确定 code scanning 默认设置是否使用了任何专用注册表

Code scanning 默认设置工作流包括 Setup proxy for registries 步骤。 查看用于默认设置的工作流运行时,可以展开此步骤以查看相应的日志并查找以下消息:

  •           `Using registries_credentials input.` 为组织配置了至少一个专用注册表。 这包括 code scanning 默认设置不支持的专用注册表类型的配置。 有关支持的注册表类型的更多详细信息,请参阅 [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/giving-org-access-private-registries#code-scanning-default-setup-access-to-private-registries)。
    
  • Credentials loaded for the following registries:

    • 如果下面没有配置列表,则表示找不到 code scanning 默认设置支持的专用注册表配置。
    • 否则,将为每个成功加载的受支持配置显示一行。 例如,包含 Type: nuget_feed; Host: undefined; Url: https://nuget.pkg.github.com/; Username: undefined; Password: true; Token: false 的行表示已加载专用 NuGet 源配置。
    • 日志中有关配置的信息可能与用户界面 (UI) 中为组织配置的内容不完全一致。 例如,日志可能显示已设置Password,即使 UI 中配置的是Token

如果 Setup proxy for registries 步骤的输出符合预期,但 code scanning 默认设置无法成功访问专用注册表中的依赖项,则可以获取其他故障排除信息。 请参阅“日志不够详细”。

有关将 code scanning 默认配置访问权限授予专用注册表的详细信息,请参阅 授予安全功能访问专用注册表的权限