Skip to main content

此版本的 GitHub Enterprise Server 已于以下日期停止服务 2024-07-09. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

关于 Dependabot 安全更新

Dependabot 可通过提出安全更新拉取请求为您修复有漏洞依赖项。

谁可以使用此功能?

Dependabot security updates 可免费用于 GitHub Enterprise Server 上的存储库(用户所有和组织所有),前提是企业管理员为企业启用该功能。

注意:站点管理员必须先为 你的 GitHub Enterprise Server 实例设置 Dependabot updates,然后你才能使用此功能。 有关详细信息,请参阅“为企业启用 Dependabot”。

如果企业所有者在企业级别设置了策略,则你可能无法启用或禁用 Dependabot updates。 有关详细信息,请参阅“强制实施企业的代码安全性和分析策略”。

关于 Dependabot security updates

Dependabot security updates 使您更容易修复仓库中的有漏洞依赖项。 通常会将一个 dependabot.yml 文件添加到存储库来启用 Dependabot security updates。 然后在此文件中配置选项,告知 Dependabot 如何维护存储库。

如果启用 Dependabot security updates,则在对存储库依赖项关系图中有漏洞的依赖项发出 Dependabot 警报时,Dependabot 会自动尝试对其进行修复。 有关详细信息,请参阅“关于 Dependabot 警报”和“配置 Dependabot 安全更新”。

Note

dependabot.yml 文件中指定的设置与 Dependabot 安全警报之间没有交互,只是在合并 Dependabot 为安全更新生成的相关拉取请求时关闭警报。

Dependabot 默认对自己的提交进行签名,即使提交签名不是存储库的要求。 有关已验证提交的详细信息,请参阅“关于提交签名验证”。

GitHub 可能会向受最近发布的 GitHub 安全通告披露的漏洞影响的仓库发送 Dependabot alerts。 有关详细信息,请参阅“在 GitHub Advisory Database 中浏览安全公告”。

Dependabot 将检查是否可以在不破坏仓库依赖关系图的情况下将有漏洞依赖项升级到已修复版本。 然后 Dependabot 提出拉取请求以将依赖项更新到包含补丁的最低版本,并将拉取请求链接到 Dependabot 警报,或者在警报中报告错误。 有关详细信息,请参阅“排查 Dependabot 错误”。

Dependabot security updates 功能适用于已启用依赖关系图和 Dependabot alerts 的仓库。 你将在完整依赖项关系图中看到针对已识别的每个有漏洞依赖项的 Dependabot 警报。 但是,安全更新仅针对清单或锁定文件中指定的依赖项而触发。 有关详细信息,请参阅“关于依赖关系图”。

注意:对于 npm,Dependabot 会引发拉取请求,以将显式定义的依赖项更新到安全版本,即使这意味着要更新一个或多个父依赖项甚或是删除父级不再需要的子依赖项。 对于其他生态系统,如果 Dependabot 还需要更新父依赖项,则无法更新间接依赖项或可传递依赖项。 有关详细信息,请参阅“排查 Dependabot 错误”。

您可以启用相关功能 Dependabot version updates,这样无论 Dependabot 是否检测到过期的依赖项,都可以提出拉取请求,以将清单更新到依赖项的最新版本。 有关详细信息,请参阅“关于 Dependabot 版本更新”。

当 Dependabot 提出拉取请求时,这些拉取请求可以是安全更新或版本更新:

  • Dependabot security updates 是自动拉取请求,可帮助你更新已知漏洞的信赖项。
  • Dependabot version updates 是自动拉取请求,即使它们没有任何漏洞,也会保持更新依赖项。 要检查版本更新的状态,请依次导航到仓库的 Insights(见解)选项卡、Dependency Graph(依赖关系图)、Dependabot。

如果启用 Dependabot security updates,则配置的各个部分也可能会影响为 Dependabot version updates 创建的拉取请求。 这是因为某些配置设置是这两种类型的更新通用的。 有关详细信息,请参阅“dependabot.yml 文件的配置选项”。

Dependabot version updates 和 Dependabot security updates 需要 启用 Dependabot updates 之前,必须配置 你的 GitHub Enterprise Server 实例 以使用具有自托管运行器的 GitHub Actions。 GitHub Actions 才能在 GitHub Enterprise Server 上运行。 有关详细信息,请参阅“为企业启用 Dependabot”。

Dependabot security updates 可以修复 GitHub Actions 中有漏洞的依赖项。 启用安全更新后,Dependabot 将自动提出拉取请求,以将工作流中使用的存在漏洞的 GitHub Actions 更新到最低的已修补版本。

关于安全更新的拉取请求

每个拉取请求都包含快速、安全地查看提议的修复程序并将其合并到项目中所需的全部内容。 这包括漏洞的相关信息,如发行说明、变更日志条目和提交详细信息。 无法访问仓库的 Dependabot alerts 的任何人都看不到拉取请求所解决的漏洞详细信息。

合并包含安全更新程序的拉取请求时,存储库相应的 Dependabot 警报会标记为已解决。 有关 Dependabot 拉取请求的详细信息,请参阅“管理依赖项更新的所有拉取请求”。

注意:最好制定自动测试和验收流程,以便在合并拉取请求之前执行检查。 如果建议的升级版本包含额外的功能,或者更改会中断您的项目代码,这种做法尤其重要。 有关持续集成的详细信息,请参阅“关于持续集成”。

关于 Dependabot 安全更新通知

您可以在 GitHub 上过滤通知以显示 Dependabot 安全更新。 有关详细信息,请参阅“从收件箱管理通知”。