关于 Dependabot
本快速入门指南将指导你设置和启用 Dependabot 以及查看存储库的 Dependabot alerts 和更新。
Dependabot 由三种不同的功能组成,可帮助你管理依赖项:
- Dependabot alerts:就存储库中使用的依赖项中的漏洞问题通知你。
- Dependabot security updates:自动引发拉取请求,以更新你使用的具有已知安全漏洞的依赖项。
- Dependabot version updates:自动引发拉取请求以使依赖项保持最新。
先决条件
必须确保企业管理员为该实例启用了 Dependabot,然后才可以使用 GitHub Enterprise Server 中的 Dependabot alerts 功能。 有关详细信息,请参阅“为企业启用 Dependabot”。
在本指南中,我们将使用演示存储库来说明 Dependabot 如何查找依赖项中的漏洞,你可以在其中看到 GitHub 上的 Dependabot alerts,以及如何探索、修复或消除这些警报。
首先需要创建演示存储库的分支。
- 导航到 https://github.com/dependabot/demo。
- 在团队页面顶部,单击“ 分支”。
- 选择所有者(你可以选择 GitHub 个人帐户)并键入存储库名称。 有关创建仓库分支的详细信息,请参阅 为存储库创建分支。
- 单击“创建分支”。
为存储库启用 Dependabot
你需要对在先决条件中为其创建分支的仓库执行以下步骤。
-
在 GitHub 上,导航到存储库的主页面。
-
在存储库名称下,单击 “设置”。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。
-
在边栏的“Security”部分中,单击“Code security and analysis”****。
-
在“Code security and analysis”下 Dependabot alerts 的右侧,为 Dependabot alerts、Dependabot security updates 和 Dependabot version updates 单击“Enable”****。
-
(可选)如果有兴趣试用 Dependabot version updates,请单击“.github/dependabot.yml”。 此时会在存储库的
/.github
目录中创建一个默认的dependabot.yml
配置文件。 若要为存储库启用 Dependabot version updates,通常通过编辑默认文件并提交更改来配置此文件以满足你的需求。 有关示例,可以参考 配置 Dependabot 版本更新 中提供的代码片段。
Note
如果尚未为存储库启用依赖项关系图,GitHub 将在你启用 Dependabot 时自动启用它。
有关配置每个 Dependabot 功能的详细信息,请参阅 配置 Dependabot 警报、配置 Dependabot 安全更新 和 配置 Dependabot 版本更新。
查看存储库的 Dependabot alerts
如果为存储库启用了 Dependabot alerts,可在存储库“安全”选项卡上查看 Dependabot alerts。 你可以使用在上一节中启用了 Dependabot alerts 的分支存储库。
-
在 GitHub 上,导航到存储库的主页面。
-
在存储库名称下,单击“ 安全性”。 如果看不到“安全性”选项卡,请选择 下拉菜单并单击“安全性” 。
-
在安全概览的“漏洞警报”边栏中,单击“Dependabot”。 如果缺少此选项,则表示你无权访问安全警报,需要被授予访问权限。 有关详细信息,请参阅“管理存储库的安全和分析设置”。
-
在 Dependabot alerts 页上查看未结警报。 默认情况下,该页面显示“未解决”选项卡,其中列出了未解决的警报。 (可以通过单击“已解决”来查看任何已解决的警报。)
可以使用各种筛选器或标签筛选列表中的 Dependabot alerts。 有关详细信息,请参阅 查看和更新 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 警报。
故障排除
在以下情况下,可能需要执行一些故障排除:
- Dependabot 创建拉取请求来修复警报的行为被阻止,或
- Dependabot 报告的信息不是你所期望的。
有关详细信息,请分别参阅 Troubleshooting Dependabot errors 和 Troubleshooting the detection of vulnerable dependencies。
后续步骤
有关配置 Dependabot 更新的详细信息,请参阅 配置 Dependabot 安全更新 和 配置 Dependabot 版本更新。
有关为组织配置 Dependabot 的详细信息,请参阅 配置 Dependabot 警报。
有关查看由 Dependabot 打开的拉取请求的详细信息,请参阅 管理依赖项更新的所有拉取请求。
有关参与 Dependabot alerts 的安全建议的详细信息,请参阅 在 GitHub Advisory Database 中浏览安全公告。
有关配置 Dependabot alerts 通知的详细信息,请参阅 为 Dependabot 警报配置通知。