注意:站点管理员必须先为 你的 GitHub Enterprise Server 实例设置 Dependabot updates,然后你才能使用此功能。 有关详细信息,请参阅“为企业启用 Dependabot”。
存储库的 Dependabot alerts 选项卡列出所有打开和关闭的 Dependabot alerts 以及对应的 Dependabot security updates。 你可以按包、生态系统或清单筛选警报。 你还可以 对警报列表进行排序,单击特定警报以获取更多详细信息。 你还可以消除或重新打开警报。 有关详细信息,请参阅“关于 Dependabot 警报”。
你可以为任何使用 Dependabot alerts 和依赖项关系图的存储库启用自动安全更新程序。 有关详细信息,请参阅“关于 Dependabot 安全更新”。
关于仓库中有漏洞的依赖项的更新
在我们检测到你的代码库正在使用具有已知安全风险的依赖项时,GitHub Enterprise Server 会生成 Dependabot alerts。 对于启用了 Dependabot security updates 的仓库,当 GitHub Enterprise Server 在默认分支中检测到有漏洞的依赖项时,Dependabot 会创建拉取请求来修复它。 拉取请求会将依赖项升级到避免漏洞所需的最低安全版本。
每个 Dependabot 警报都有一个唯一的数字标识符,Dependabot alerts 选项卡列出了每个检测到的漏洞的警报。 旧版 Dependabot alerts 按依赖项对漏洞进行分组,并为每个依赖项生成一个警报。 如果导航到旧版 Dependabot 警报,则会将您重定向到为该包筛选的 Dependabot alerts 选项卡。
可以使用用户界面上提供的各种筛选器和排序选项对 Dependabot alerts 进行筛选和排序。 有关详细信息,请参阅下面的“确定 Dependabot alerts 优先级”。
还可以审核为响应 Dependabot 警报而执行的操作。 有关详细信息,请参阅“审核安全警报”。
确定 Dependabot alerts 优先级
GitHub 可帮助确定修复 Dependabot alerts 的优先级。
可以通过将筛选器作为 key:value
对输入到搜索栏中,对 Dependabot alerts 进行排序和筛选。
选项 | 说明 | 示例 |
---|---|---|
ecosystem | 显示有关所选生态系统的警报 | 使用 ecosystem:npm 显示 npm 的 Dependabot alerts |
has | 显示符合所选筛选条件的警报 | 使用 has:patch 显示与具有补丁的公告相关的警报 |
is | 基于警报状态显示警报 | 使用 is:open 显示打开的警报 |
manifest | 显示有关所选清单的警报 | 使用 manifest:webwolf/pom.xml 显示有关 webwolf 应用程序的 pom.xml 文件的警报 |
package | 显示有关所选包的警报 | 使用 package:django 显示有关 django 的警报 |
resolution | 显示所选解决状态的警报 | 使用 resolution:no-bandwidth 显示以前因缺乏用于修复的资源或时间而停止的警报 |
repo | 基于相关存储库显示警报 请注意,此筛选器仅适用于安全概述。 有关详细信息,请参阅“关于安全概述”。 | 使用 repo:octocat-repo 显示名为 octocat-repo 的存储库中的警报 |
severity | 基于严重性级别显示警报 | 使用 severity:high 显示严重性为“高”的警报 |
除了通过搜索栏提供的筛选器之外,还可以使用警报列表顶部的下拉菜单对 Dependabot alerts 进行排序和筛选。
搜索栏还允许对警报和相关安全公告进行全文搜索。 可以搜索安全公告名称或说明的一部分,以返回存储库中与该安全公告相关的警报。 例如,搜索 yaml.load() API could execute arbitrary code
会返回链接到“PyYAML 未安全地反序列化 YAML 字符串,导致任意代码执行”的 Dependabot alerts,因为该搜索字符串出现在公告说明中。
查看 Dependabot alerts
- 在 你的 GitHub Enterprise Server 实例 上,导航到存储库的主页。 1. 在存储库名称下,单击“ 安全性”。 如果看不到“安全性”选项卡,请选择 下拉菜单并单击“安全性” 。
1. 在“安全概述”页的“漏洞警报”边栏中,单击“Dependabot”。 如果缺少此选项,则表示你无权访问安全警报,需要被授予访问权限。 有关详细信息,请参阅“管理存储库的安全和分析设置”。 - (可选)若要筛选警报,请在下拉菜单中选择筛选器,然后单击要应用的筛选器。 您还可以在搜索栏中键入过滤条件。 若要详细了解如何对警报进行筛选和排序,请参阅“确定 Dependabot alerts 的优先级”。
- 单击要查看的警报。
查看和修复警报
请务必确保所有依赖项都没有任何安全弱点。 当 Dependabot 在依赖项中发现漏洞时,应评估项目的暴露级别并确定保护应用程序的修正步骤。
如果依赖项的修补版本可用,则可以生成 Dependabot 拉取请求,以直接从 Dependabot 警报更新此依赖项。 如果启用了 Dependabot security updates,拉取请求可能会链接到 Dependabot 警报。
如果修补版本不可用,或者无法更新到安全版本,Dependabot 会共享其他信息,以帮助确定后续步骤。 单击查看 Dependabot 警报时,可以看到依赖项的安全公告的完整详细信息,包括受影响的函数。 然后,可以检查代码是否调用受影响的函数。 此信息可以帮助你进一步评估风险级别,并确定解决方法,或者是否能够接受安全咨询所代表的风险。
修复易受攻击的依赖项
-
查看警报的详细信息。 有关详细信息,请参阅“查看 Dependabot alerts”(上文)。
-
如果启用了 Dependabot security updates,则可能会有一个指向可修复依赖项的拉取请求的链接。 或者,可以单击警报详细信息页顶部的“创建 Dependabot 安全更新”以创建拉取请求。
-
(可选)如果不使用 Dependabot security updates,可以使用页面上的信息来确定要升级到哪个版本的依赖项,并创建拉取请求以将依赖项更新到安全版本。
-
当您准备好更新依赖项并解决漏洞时,合并拉取请求。
Dependabot 提出的每个拉取请求都包含可用于控制 Dependabot 的命令的信息。 有关详细信息,请参阅“管理依赖项更新的所有拉取请求”。
消除 Dependabot alerts
提示:你只能消除打开的警报。
如果你安排大量工作来升级依赖项,或者决定不需要修复警报,则可以消除警报。 消除已评估的警报可以更轻松地在新警报出现时对其进行会审。
-
查看警报的详细信息。 有关详细信息,请参阅上面的“查看易受攻击的依赖项”。
-
选择“消除”下拉菜单,并单击消除警报的原因。之后可以重新打开未修复且已消除的警报。
查看和更新已关闭的警报
可以查看所有打开的警报,并且可以重新打开之前消除的警报。 已修复的已关闭警报无法重新打开。
-
在 你的 GitHub Enterprise Server 实例 上,导航到存储库的主页。 1. 在存储库名称下,单击“ 安全性”。 如果看不到“安全性”选项卡,请选择 下拉菜单并单击“安全性” 。
1. 在“安全概述”页的“漏洞警报”边栏中,单击“Dependabot”。 如果缺少此选项,则表示你无权访问安全警报,需要被授予访问权限。 有关详细信息,请参阅“管理存储库的安全和分析设置”。 -
若要仅查看已关闭的警报,请单击“已关闭”。
-
单击要查看或更新的警报。
-
(可选)如果警报已关闭,并且想要重新打开警报,请单击“重新打开”。 已修复的警报无法重新打开。
查看 Dependabot alerts 的审核日志
当组织或企业成员执行与 Dependabot alerts 相关的操作时,你可以在审核日志中查看这些操作。 有关访问日志的详细信息,请参阅“审查组织的审核日志”和“访问企业的审核日志”。
Dependabot alerts 审核日志中的事件包括详细信息,例如执行操作的人员、操作内容以及操作执行时间。 有关 Dependabot alerts 操作的信息,请参阅“组织的审核日志事件”和“企业的审核日志事件”中的 repository_vulnerability_alert
类别。