Skip to main content

配置代码扫描的高级设置

可以为存储库配置高级设置,以使用高度可 code scanning 自定义的配置在代码中查找安全漏洞。

谁可以使用此功能?

具有管理员角色的存储库所有者、组织所有者、安全管理员和用户

Code scanning 可用于以下存储库类型:

  • GitHub.com 上的公共存储库
  • GitHub Team、GitHub Enterprise Cloud 或 GitHub Enterprise Server 上的组织拥有的存储库,已启用 GitHub Code Security

注意

网站管理员必须启用 code scanning,然后你才能使用此功能。 如果要使用 GitHub Actions 扫描代码,站点管理员还必须启用 GitHub Actions 并设置所需的基础结构。 有关详细信息,请参阅“为设备配置代码扫描”。

注意

本文介绍了此版 GitHub Enterprise Server 的初始发行版中包含的 CodeQL 操作版本和相关 CodeQL CLI 捆绑包中可用的功能。 如果企业使用较新版本的 CodeQL 操作,请参阅本文的 GitHub Enterprise Cloud 版本,了解有关最新功能的信息。 有关使用最新版本的信息,请参阅“为设备配置代码扫描”。

如果不需要高度自定义code scanning的配置,请考虑使用默认设置。code scanning 有关详细信息,请参阅“关于代码扫描的设置类型”。

先决条件

如果存储库满足这些要求,则其符合使用高级设置的条件。

  • 它使用CodeQL支持的语言,或者你计划使用第三方工具生成代码扫描结果。
  • 已启用 GitHub Actions。
  • 已启用 GitHub Code Security。

如果运行GitHub Enterprise Server的服务器未连接到互联网,则站点管理员可以通过在服务器上提供CodeQL分析捆绑包的方式来启用CodeQLcode scanning。 有关详细信息,请参阅“为设备配置代码扫描”。

配置 code scanning 的高级设置,使用 CodeQL

可以自定义 CodeQL 分析,通过创建和编辑工作流文件。 选择高级配置会生成一个基本工作流文件,以便您使用标准工作流语法自定义并指定 CodeQL 动作的选项。 请参阅 工作流代码扫描的工作流配置选项

  1. 在 GitHub 上,导航到存储库的主页面。

  2. 在仓库名称下,单击 “Settings”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。

    存储库标头的屏幕截图,其中显示了选项卡。 “设置”选项卡以深橙色边框突出显示。

  3. 在边栏的“Security”部分中,单击“ Advanced Security”****。

  4. 向下滚动到“Code Security”,在“CodeQL 分析”行中选择“ 设置”,然后单击“ 高级”。

    注意

    如果要从默认设置切换到高级设置,请在“分析”CodeQL 行 中选择,然后单击“ 切换到高级”。 在显示的弹出窗口中,单击“ 禁用 CodeQL”。

    “Advanced Security”设置的“Code Security”部分的屏幕截图。 “高级设置”按钮以橙色轮廓突出显示。

  5. 若要自定义 code scanning 扫描代码的方式,请编辑工作流。

    通常,可以提交 CodeQL 分析工作流程 而不对其进行任何更改。 但是,许多第三方工作流需要额外的配置,因此请在提交之前读取工作流中的注释。

    有关详细信息,请参阅 代码扫描的工作流配置选项对编译语言进行 CodeQL 代码扫描

  6. 单击“提交更改...”**** 以显示提交更改表单。

    用于创建新文件的窗体的屏幕截图。 在文件名右侧,标有“提交更改...”的绿色按钮以深橙色框出。

  7. 在“提交消息”字段中,键入提交消息。

  8. 选择是直接提交到默认分支,还是创建新分支并启动拉取请求。

  9. 单击“提交新文件”**** 将工作流文件提交到默认分支,或单击“提议新文件”**** 将文件提交到新分支。

  10. 如果创建了新分支,单击“创建拉取请求”**** 并打开一个拉取请求,将你的更改合并到默认分支。

在建议 CodeQL 分析工作流程中, code scanning 配置为在每次将更改推送到默认分支或任何受保护的分支时分析代码,或针对默认分支提出拉取请求。 因此, code scanning 现在将开始。

用于代码扫描的 on:pull_requeston:push 触发器各自用于不同的目的。 请参阅 代码扫描的工作流配置选项触发工作流程

有关批量启用的信息,请参阅 使用 CodeQL 大规模为代码扫描配置高级设置

后续步骤

工作流成功运行至少一次后,即可开始检查和解决 code scanning 警报。 有关警报的详细信息 code scanning ,请参阅 关于代码扫描警报访问存储库的代码扫描警报

了解运行在 code scanning 拉取请求上的行为方式,请参阅 鉴定拉取请求中的代码扫描警报

可以在工具状态页上找到有关 code scanning 配置的详细信息,包括每个扫描的时间戳和扫描的文件百分比。 有关详细信息,请参阅“使用工具状态页进行代码扫描”。

延伸阅读

  •         [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests)。
    
  •         [AUTOTITLE](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#github-actions-notification-options)。
    
  •         [AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning)。
    
  •         [AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/viewing-code-scanning-logs)。