关于 Dependabot
本快速入门指南指导你完成设置和启用 Dependabot、查看 Dependabot alerts和更新存储库以使用依赖项的安全版本。
Dependabot 由三种不同的功能组成,可帮助你管理依赖项:
- Dependabot alerts:就存储库中使用的依赖项中的漏洞问题通知你。
- Dependabot security updates:自动引发拉取请求,以更新你使用的具有已知安全漏洞的依赖项。
- Dependabot version updates:自动引发拉取请求以使依赖项保持最新。
先决条件
在使用Dependabot alerts功能于GitHub之前,您必须确保企业管理员为实例启用Dependabot。 有关详细信息,请参阅“为企业启用 Dependabot”。
在本指南中,我们将使用一个演示存储库来演示Dependabot如何查找依赖项中的漏洞、在Dependabot alertsGitHub中查看漏洞,以及如何浏览、修复或忽略这些警报。
首先需要创建演示存储库的分支。
- 导航到 https://github.com/dependabot/demo。
- 在页面顶部的右侧,单击 “分叉”。
- 选择所有者(可以选择个人 GitHub 帐户),然后键入存储库名称。 有关派生存储库的详细信息,请参阅 为存储库创建分支。
- 单击“创建分支”****。
为您的存储库启用Dependabot
你需要对在先决条件中为其创建分支的仓库执行以下步骤。
-
在 GitHub 上,导航到存储库的主页面。
-
在仓库名称下,单击 “Settings”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。

-
在边栏的“Security”部分中,单击“ Advanced Security”****。
-
在Dependabot下,为Dependabot alerts、Dependabot security updates和Dependabot version updates单击“启用”。
-
如果您单击启用,则可以编辑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 分叉存储库。
-
在 GitHub 上,导航到存储库的主页面。
-
在仓库名称下,单击 “Security”****。 如果看不到“Security”选项卡,请选择 下拉菜单,然后单击“Security”********。

-
在安全概述的“漏洞警报”边栏中,单击 Dependabot。 如果缺少此选项,则表示你无权访问安全警报,需要被授予访问权限。 有关详细信息,请参阅“管理存储库的安全和分析设置”。
 -
查看Dependabot alerts页面上的公开警报。 默认情况下,该页面显示“打开”选项卡,其中列出了打开的警报。 (可以通过单击“已关闭”来查看任何已关闭的警报。)

可以使用各种筛选器或标签在列表中进行筛选 Dependabot alerts 。 有关详细信息,请参阅“查看和更新 Dependabot 警报”。 您还可以通过使用 Dependabot 自动分类规则 来筛选出误报或您不感兴趣的警报。 有关详细信息,请参阅“关于 Dependabot 自动分类规则”。
-
在
javascript/package-lock.json文件中单击“lodash 中的命令注入”警告。 警报的详细信息页将显示以下信息(请注意,某些信息可能不适用于所有警报):- 是否 Dependabot 创建了一个将修复漏洞的拉取请求。 可以通过单击“查看安全更新”来查看建议的安全更新。
- 涉及的包
- 受影响版本
- 已修补版本
- 漏洞的简要说明

-
(可选)还可以浏览页面右侧的信息。 屏幕截图中显示的某些信息可能不适用于每个警报。
- 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 中的命令注入”警报。
- 请导航到存储库的Dependabot alerts选项卡。 有关详细信息,请参阅上面的“查看Dependabot alerts存储库”部分。
- 单击警报。
- 在
javascript/package-lock.json文件中单击“lodash 中的命令注入”警告。 - 查看警报。 您可以:
-
通过单击“查看安全更新”来查看建议的安全更新。 这将打开由 Dependabot 生成并包含安全修复的拉取请求。

- 在拉取请求的描述中,您可以点击“提交”以浏览拉取请求中包含的提交。
- 还可以单击 Dependabot 命令和选项 ,了解可用于与拉取请求交互的命令。
- 当您准备好更新依赖项并解决漏洞时,合并拉取请求。
-
如果你决定要忽略警报
-
返回警报详细信息页。
-
在右上角,按下“关闭警报”。

-
选择忽略警报的原因。
-
(可选)添加消除注释。 消除操作注释将添加到警报时间线,可在审核和报告期间用作理由。
-
单击“消除警报”。 警报将不再会在警报列表的“未解决”**** 选项卡中显示,但可以在“已解决”**** 选项卡中查看。
-
-
有关查看和更新 Dependabot alerts的详细信息,请参阅 查看和更新 Dependabot 警报。
Troubleshooting
在以下情况下,可能需要执行一些故障排除: * Dependabot 被阻止创建拉取请求以修复警报,或
- 所 Dependabot 报告的信息不是你所期望的信息。
有关详细信息,请分别参阅 Dependabot 错误 和 脆弱性依赖检测。
后续步骤
有关配置 Dependabot 更新的详细信息,请参阅 配置 Dependabot 安全更新 和 配置 Dependabot 版本更新。
有关为组织配置 Dependabot 的详细信息,请参阅 配置 Dependabot 警报。
有关查看Dependabot已打开的拉取请求的详细信息,请参阅管理依赖项更新的所有拉取请求。
有关对 Dependabot alerts 的安全公告的详细信息,请参阅 在 GitHub Advisory Database 中浏览安全公告。
有关配置Dependabot alerts通知的详细信息,请参阅为 Dependabot 警报配置通知。