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 默认配置访问权限授予专用注册表的详细信息,请参阅 授予安全功能访问专用注册表的权限