关于 Dependabot
本快速入门指南将引导您完成设置和启用 Dependabot 以及查看代码库的 Dependabot 警报和更新的步骤。
Dependabot 包含三个不同的功能,可帮助您管理依赖项
- Dependabot 警报 - 通知您代码库中使用的依赖项中的漏洞。
- Dependabot 安全更新 - 自动发出拉取请求以更新您使用的具有已知安全漏洞的依赖项。
- Dependabot 版本更新 - 自动发出拉取请求以使您的依赖项保持最新。
先决条件
出于本指南的目的,我们将使用演示代码库来说明 Dependabot 如何在依赖项中查找漏洞,您可以在 GitHub 上看到 Dependabot 警报,以及如何探索、修复或关闭这些警报。
您需要先为演示代码库创建分支。
- 导航到 https://github.com/dependabot/demo。
- 在页面顶部右侧,单击 Fork。
- 选择所有者(您可以选择您的 GitHub 个人帐户)并键入代码库名称。有关分支代码库的更多信息,请参阅“分支代码库”。
- 单击 创建分支。
为您的代码库启用 Dependabot
您需要在“先决条件”中分支的代码库上按照以下步骤操作。
-
在 GitHub 上,导航到代码库的主页。
-
在您的代码库名称下,单击 设置。如果您看不到“设置”选项卡,请选择 下拉菜单,然后单击 设置。
-
在侧边栏的“安全”部分,单击 代码安全和分析。
-
在“代码安全和分析”下,在 Dependabot 警报右侧,单击 Dependabot 警报、Dependabot 安全更新和 Dependabot 版本更新的 启用。
-
可选地,如果您有兴趣尝试 Dependabot 版本更新,请点击.github/dependabot.yml。这将在您的仓库的
/.github
目录中创建一个默认的dependabot.yml
配置文件。要为您的仓库启用 Dependabot 版本更新,您通常需要根据自己的需要配置此文件,方法是编辑默认文件并提交更改。您可以参考“配置 Dependabot 版本更新”中提供的代码段以获取示例。
注意
如果仓库尚未启用依赖关系图,则在您启用 Dependabot 时,GitHub 会自动启用它。
有关配置这些 Dependabot 功能的更多信息,请参阅“配置 Dependabot 警报”、“配置 Dependabot 安全更新”和“配置 Dependabot 版本更新”。
查看仓库的 Dependabot 警报
如果为仓库启用了 Dependabot 警报,则可以在仓库的“安全”选项卡上查看 Dependabot 警报。您可以使用上一节中启用了 Dependabot 警报的分叉仓库。
-
在 GitHub 上,导航到代码库的主页。
-
在仓库名称下,点击 安全。如果您看不到“安全”选项卡,请选择下拉菜单,然后点击安全。
-
在安全概述的“漏洞警报”侧边栏中,点击Dependabot。如果缺少此选项,则表示您无权访问安全警报,需要获得访问权限。有关更多信息,请参阅“管理仓库的安全和分析设置”。
-
查看 Dependabot 警报页面上的打开的警报。默认情况下,页面显示“打开”选项卡,其中列出了打开的警报。(您可以通过点击“已关闭”来查看任何已关闭的警报。)
您可以使用各种过滤器或标签过滤列表中的 Dependabot 警报。有关更多信息,请参阅“查看和更新 Dependabot 警报”。您还可以使用 Dependabot 自动分类规则过滤掉误报或您不感兴趣的警报。有关更多信息,请参阅“关于 Dependabot 自动分类规则”。
-
点击
javascript/package-lock.json
文件上的“lodash 中的命令注入”警报。警报的详细信息页面将显示以下信息(请注意,某些信息可能不适用于所有警报)- Dependabot 是否创建了一个将修复漏洞的拉取请求。您可以通过点击“查看安全更新”来查看建议的安全更新。
- 相关软件包
- 受影响的版本
- 已修补的版本
- 漏洞的简要描述
-
可选地,您还可以浏览页面右侧的信息。屏幕截图中显示的某些信息可能不适用于每个警报。
- 严重程度
- CVSS 指标——我们使用 CVSS 等级来分配严重程度等级。有关更多信息,请参阅“关于 GitHub 安全建议数据库”。
- 标签
- 弱点——如果适用,则列出与漏洞相关的 CWE。
- CVE ID——漏洞的唯一 CVE 标识符(如果适用)。
- GHSA ID——GitHub 安全建议数据库中相应建议的唯一标识符。有关更多信息,请参阅“关于 GitHub 安全建议数据库”。
- 导航到 GitHub 安全建议数据库中建议的选项
- 查看受此漏洞影响的所有仓库的选项
- 建议改进 GitHub 安全建议数据库中此建议的选项
有关查看、优先级排序和排序 Dependabot 警报的更多信息,请参阅“查看和更新 Dependabot 警报”。
修复或驳回 Dependabot 警报
您可以在 GitHub 上修复或驳回 Dependabot 警报。让我们继续使用分叉仓库作为示例,以及上一节中描述的“lodash 中的命令注入”警报。
- 导航到仓库的 Dependabot 警报选项卡。有关更多信息,请参阅上面的“查看仓库的 Dependabot 警报”部分。
- 点击警报。
- 点击
javascript/package-lock.json
文件上的“lodash 中的命令注入”警报。 - 查看警报。您可以
-
通过点击“查看安全更新”来查看建议的安全更新。这将打开 Dependabot 生成的包含安全修复的拉取请求。
- 在拉取请求描述中,您可以点击“提交”以浏览拉取请求中包含的提交。
- 您还可以点击“Dependabot 命令和选项”以了解可用于与拉取请求交互的命令。
- 准备好更新您的依赖项并解决漏洞后,合并拉取请求。
-
如果您决定要驳回警报
-
返回警报详细信息页面。
-
在右上角,点击“驳回警报”。
-
选择驳回警报的原因。
-
可选地,添加驳回评论。驳回评论将添加到警报时间轴中,并可在审核和报告期间用作证明。
-
点击“驳回警报”。警报将不再显示在警报列表的“打开”选项卡中,您可以在“已关闭”选项卡中查看它。
-
-
有关查看和更新 Dependabot 警报的更多信息,请参阅“查看和更新 Dependabot 警报”。
故障排除
如果出现以下情况,您可能需要进行一些故障排除
- Dependabot 被阻止创建拉取请求以修复警报,或
- Dependabot 报告的信息与您的预期不符。
有关更多信息,请分别参阅“故障排除 Dependabot 错误”和“故障排除易受攻击依赖项的检测”。
后续步骤
有关配置 Dependabot 更新的更多信息,请参阅“配置 Dependabot 安全更新”和“配置 Dependabot 版本更新”。
有关为组织配置 Dependabot 的更多信息,请参阅“配置 Dependabot 警报”。
有关查看 Dependabot 打开的拉取请求的更多信息,请参阅“管理依赖项更新的拉取请求”。
有关为 Dependabot 警报提供贡献的安全建议的更多信息,请参阅“在 GitHub 安全建议数据库中浏览安全建议”。
有关配置有关 Dependabot 警报的通知的更多信息,请参阅“配置 Dependabot 警报的通知”。