关于 Dependabot
本快速入门指南将带您完成 Dependabot 的设置与启用、查看 Dependabot 警报以及更新仓库以使用安全的依赖版本的全过程。
Dependabot 包含三项不同的功能,帮助您管理依赖。
- Dependabot 警报:告知您仓库中使用的依赖存在的漏洞。
- Dependabot 安全更新:自动发起拉取请求,更新已知存在安全漏洞的依赖。
- Dependabot 版本更新:自动发起拉取请求,保持依赖为最新版本。
先决条件
在本指南中,我们将使用一个演示仓库,演示 Dependabot 如何发现依赖中的漏洞、在 GitHub 上查看 Dependabot 警报,以及如何探索、修复或忽略这些警报。
您需要先对演示仓库进行 Fork。
- 前往 https://github.com/dependabot/demo。
- 页面顶部右侧,点击 派生。
- 选择所有者(可以选择您的 GitHub 个人账户)并输入仓库名称。有关 Fork 仓库的更多信息,请参阅 派生仓库。
- 单击 Create fork。
为您的仓库启用 Dependabot
您需要在 先决条件 中 Fork 的仓库上按以下步骤操作。
-
在 GitHub 上,导航至仓库的主页面。
-
在仓库名称下方,点击 设置。如果看不到 “设置” 选项卡,请选择 下拉菜单,然后点击 设置。

-
在侧边栏的Security部分,点击 Advanced Security。
-
在 “Dependabot” 下,点击 启用 Dependabot 警报、Dependabot 安全更新和 Dependabot 版本更新。
-
如果您为 Dependabot 版本更新点击了 启用,可以编辑 GitHub 为您在仓库
/.github目录下创建的默认dependabot.yml配置文件。要为仓库启用 Dependabot 版本更新,通常需要通过编辑默认文件并提交更改来进行配置。有关示例,请参阅 配置 Dependabot 版本更新 中提供的代码片段。
注意
如果仓库尚未启用依赖关系图,GitHub 会在您启用 Dependabot 时自动为其启用。
有关配置这些 Dependabot 功能的更多信息,请参阅 配置 Dependabot 警报、配置 Dependabot 安全更新和 配置 Dependabot 版本更新。
查看您仓库的 Dependabot 警报
如果仓库已启用 Dependabot 警报,您可以在仓库的 安全与质量选项卡。您可以使用在前一节中已为其启用 Dependabot 警报的 Fork 仓库。
-
在 GitHub 上,导航至仓库的主页面。
-
在仓库名称下,点击 安全与质量 选项卡。如果您看不到 “在 “安全与质量” 选项卡,选择 下拉菜单,然后点击 安全与质量。
-
在侧边栏的 “发现”(Findings) 部分,选择 Dependabot 下拉菜单,然后点击 漏洞。
-
在 Dependabot 警报页面查看打开的警报。默认情况下,页面显示 打开 选项卡,列出所有打开的警报。(您可以点击 已关闭 来查看已关闭的警报。)

您可以在列表中使用各种过滤器或标签来筛选 Dependabot 警报。有关详细信息,请参阅 查看和更新 Dependabot 警报。您还可以使用 Dependabot 自动分流规则来过滤误报或您不感兴趣的警报。更多信息请参阅 关于 Dependabot 自动分流规则。
-
点击位于
javascript/package-lock.json文件中的 “Command Injection in lodash” 警报。警报详情页将显示以下信息(请注意,某些信息并非所有警报都适用)。- Dependabot 是否已创建拉取请求来修复该漏洞。您可以点击 审查安全更新 来查看建议的安全更新。
- 涉及的包
- 受影响的版本
- 已修补的版本
- 漏洞的简要描述

-
您也可以选择查看页面右侧的信息。截图中显示的部分信息可能并不适用于每个警报。
- 严重程度
- CVSS 指标:我们使用 CVSS 等级来分配严重性级别。更多信息请参阅 关于 GitHub Advisory Database。
- 标签
- 弱点:如果适用,列出与漏洞相关的 CWE 编号。
- CVE ID:漏洞的唯一 CVE 标识(如果适用)。
- GHSA ID:GitHub Advisory Database 中对应 advisory 的唯一标识。更多信息请参阅 关于 GitHub Advisory Database。
- 前往 GitHub Advisory Database 中的 advisory。
- 查看所有受此漏洞影响的仓库。
- 在 GitHub Advisory Database 中为此 advisory 提出改进建议。

有关查看、优先级排序以及排序 Dependabot 警报的更多信息,请参阅 查看和更新 Dependabot 警报。
修复或忽略 Dependabot 警报
您可以在 GitHub 上修复或忽略 Dependabot 警报。下面继续使用已 Fork 的仓库作为示例,针对前文提到的 “Command Injection in lodash” 警报进行演示。
- 前往仓库的 Dependabot 选项卡。更多信息请参见上文的 查看您仓库的 Dependabot 警报 部分。
- 点击一条警报。
- 点击位于
javascript/package-lock.json文件中的 “Command Injection in lodash” 警报。 - 查看警报。您可以
-
点击 审查安全更新 来查看建议的安全更新。这将打开 Dependabot 生成的包含安全修复的拉取请求。

- 在拉取请求的描述中,您可以点击 Commits 来查看该拉取请求包含的提交。
- 您还可以点击 Dependabot commands and options 了解可用于与拉取请求交互的命令。
- 当您准备好更新依赖并消除漏洞时,合并该拉取请求。
-
如果您决定要忽略该警报
-
返回警报详情页面。
-
在右上角,点击 忽略警报。

-
选择忽略警报的原因。
-
(可选)添加忽略评论。该评论会被添加到警报时间轴中,可在审计和报告时作为依据。
-
点击 忽略警报。此后该警报将不再出现在 打开 选项卡中,您可以在 已关闭 选项卡中查看。
-
-
有关审查和更新 Dependabot 警报的更多信息,请参阅 查看和更新 Dependabot 警报。
故障排除
如果出现以下情况,您可能需要进行故障排除:
- Dependabot 被阻止创建拉取请求来修复警报,或
- Dependabot 报告的信息与您的预期不符。
有关详细信息,请分别参阅 Dependabot 错误 和 漏洞依赖检测。
后续步骤
有关配置 Dependabot 更新的更多信息,请参阅 配置 Dependabot 安全更新 和 配置 Dependabot 版本更新。
有关为组织配置 Dependabot 的更多信息,请参阅 配置 Dependabot 警报。
有关查看 Dependabot 发起的拉取请求的更多信息,请参阅 管理依赖更新的拉取请求。
有关为 Dependabot 警报提供支持的安全 advisory 的更多信息,请参阅 浏览 GitHub Advisory Database 中的安全 advisory。
有关配置 Dependabot 警报通知的更多信息,请参阅 配置 Dependabot 警报通知。