Skip to main content

Dependabot 快速入门指南

查找并修复您所依赖的 Dependabot 易受攻击的依赖项。

谁可以使用此功能?

Dependabot alerts 可用于组织拥有的仓库和用户拥有的仓库。

关于 Dependabot

本快速入门指南指导你完成设置和启用 Dependabot、查看 Dependabot alerts和更新存储库以使用依赖项的安全版本。

Dependabot 由三种不同的功能组成,可帮助你管理依赖项:

  • Dependabot alerts:就存储库中使用的依赖项中的漏洞问题通知你。
  • Dependabot security updates:自动引发拉取请求,以更新你使用的具有已知安全漏洞的依赖项。
  • Dependabot version updates:自动引发拉取请求以使依赖项保持最新。

先决条件

在使用Dependabot alerts功能于GitHub之前,您必须确保企业管理员为实例启用Dependabot。 有关详细信息,请参阅“为企业启用 Dependabot”。

在本指南中,我们将使用一个演示存储库来演示Dependabot如何查找依赖项中的漏洞、在Dependabot alertsGitHub中查看漏洞,以及如何浏览、修复或忽略这些警报。

首先需要创建演示存储库的分支。

  1. 导航到 https://github.com/dependabot/demo
  2. 在页面顶部的右侧,单击 “分叉”。
  3. 选择所有者(可以选择个人 GitHub 帐户),然后键入存储库名称。 有关派生存储库的详细信息,请参阅 为存储库创建分支
  4. 单击“创建分支”****。

为您的存储库启用Dependabot

你需要对在先决条件中为其创建分支的仓库执行以下步骤。

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

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

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

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

  4. 在Dependabot下,为Dependabot alerts、Dependabot security updates和Dependabot version updates单击“启用”。

  5. 如果您单击启用,则可以编辑GitHub在您的存储库的/.github目录中为您创建的默认dependabot.yml配置文件Dependabot version updates。 若要为存储库启用 Dependabot version updates ,通常通过编辑默认文件并提交更改来配置此文件以满足需求。 有关示例,可以参考 配置 Dependabot 版本更新 中提供的代码片段。

注意

如果尚未为存储库启用依赖关系图,当您启用Dependabot时,GitHub将自动启用它。

有关配置每个Dependabot功能的详细信息,请参阅 AUTOTITLE、配置 Dependabot 安全更新配置 Dependabot 版本更新

查看 Dependabot alerts 存储库

如果为存储库启用了Dependabot alerts,可以在该存储库的 Security选项卡上查看Dependabot alerts。 可以使用在上一部分中启用的 Dependabot alerts 分叉存储库。

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

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

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

  3. 在安全概述的“漏洞警报”边栏中,单击 Dependabot。 如果缺少此选项,则表示你无权访问安全警报,需要被授予访问权限。 有关详细信息,请参阅“管理存储库的安全和分析设置”。

           ![安全概述的屏幕截图,其中突出显示了深橙色轮廓的“Dependabot”选项卡。](/assets/images/enterprise/repository/dependabot-alerts-tab.png)
    
  4. 查看Dependabot alerts页面上的公开警报。 默认情况下,该页面显示“打开”选项卡,其中列出了打开的警报。 (可以通过单击“已关闭”来查看任何已关闭的警报。)

    显示演示存储库的 Dependabot 警报列表的屏幕截图。

    可以使用各种筛选器或标签在列表中进行筛选 Dependabot alerts 。 有关详细信息,请参阅“查看和更新 Dependabot 警报”。 您还可以通过使用 Dependabot 自动分类规则 来筛选出误报或您不感兴趣的警报。 有关详细信息,请参阅“关于 Dependabot 自动分类规则”。

  5. javascript/package-lock.json 文件中单击“lodash 中的命令注入”警告。 警报的详细信息页将显示以下信息(请注意,某些信息可能不适用于所有警报):

    • 是否 Dependabot 创建了一个将修复漏洞的拉取请求。 可以通过单击“查看安全更新”来查看建议的安全更新。
    • 涉及的包
    • 受影响版本
    • 已修补版本
    • 漏洞的简要说明

    演示存储库中警报的详细页面的屏幕截图,其中显示了主要信息。

  6. (可选)还可以浏览页面右侧的信息。 屏幕截图中显示的某些信息可能不适用于每个警报。

    • Severity
    • CVSS 指标:我们使用 CVSS 级别来分配严重性级别。 有关详细信息,请参阅“关于 GitHub 公告数据库”。
    • 标记
    • 弱点:与漏洞相关的 CWE 列表(如果适用)
    • CVE ID:漏洞的唯一 CVE 标识符(如果适用)
    • GHSA ID:相应公告GitHub Advisory Database的唯一标识符。 有关详细信息,请参阅“关于 GitHub 公告数据库”。
    • 导航到 GitHub Advisory Database 上的查看公告选项
    • 用于查看受此漏洞影响的所有存储库的选项
    • 建议对此公告进行改进的选项 GitHub Advisory Database

    演示存储库中警报的详细页面的屏幕截图,其中显示了页面右侧显示的信息。

有关查看、确定优先级和排序 Dependabot alerts的详细信息,请参阅 查看和更新 Dependabot 警报

修复或消除 Dependabot 警报

可以在GitHub上修复或忽略Dependabot alerts。 让我们继续以派生存储库为例,并参考上一节中描述的“lodash 中的命令注入”警报。

  1. 请导航到存储库的Dependabot alerts选项卡。 有关详细信息,请参阅上面的“查看Dependabot alerts存储库”部分。
  2. 单击警报。
  3. javascript/package-lock.json 文件中单击“lodash 中的命令注入”警告。
  4. 查看警报。 您可以:
    • 通过单击“查看安全更新”来查看建议的安全更新。 这将打开由 Dependabot 生成并包含安全修复的拉取请求。

      Dependabot 生成的拉取请求的屏幕截图,以修复所选警报所强调的安全漏洞。

      • 在拉取请求的描述中,您可以点击“提交”以浏览拉取请求中包含的提交。
      • 还可以单击 Dependabot 命令和选项 ,了解可用于与拉取请求交互的命令。
      • 当您准备好更新依赖项并解决漏洞时,合并拉取请求。
    • 如果你决定要忽略警报

      • 返回警报详细信息页。

      • 在右上角,按下“关闭警报”。

        警报详细信息页面的屏幕截图,其中“Dismiss Alert”按钮、下拉菜单选项和“Dismissal comment”框用橙色框出。

      • 选择忽略警报的原因。

      • (可选)添加消除注释。 消除操作注释将添加到警报时间线,可在审核和报告期间用作理由。

      • 单击“消除警报”。 警报将不再会在警报列表的“未解决”**** 选项卡中显示,但可以在“已解决”**** 选项卡中查看。

有关查看和更新 Dependabot alerts的详细信息,请参阅 查看和更新 Dependabot 警报

Troubleshooting

在以下情况下,可能需要执行一些故障排除: * Dependabot 被阻止创建拉取请求以修复警报,或

  • 所 Dependabot 报告的信息不是你所期望的信息。

有关详细信息,请分别参阅 Dependabot 错误脆弱性依赖检测

后续步骤

有关配置 Dependabot 更新的详细信息,请参阅 配置 Dependabot 安全更新配置 Dependabot 版本更新

有关为组织配置 Dependabot 的详细信息,请参阅 配置 Dependabot 警报

有关查看Dependabot已打开的拉取请求的详细信息,请参阅管理依赖项更新的所有拉取请求

有关对 Dependabot alerts 的安全公告的详细信息,请参阅 在 GitHub Advisory Database 中浏览安全公告

有关配置Dependabot alerts通知的详细信息,请参阅为 Dependabot 警报配置通知