Skip to main content

关于 Dependabot 警报

当我们检测到存储库使用易受攻击的依赖项时,GitHub Enterprise Server 将发送 Dependabot alerts。

谁可以使用此功能?

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

当代码依赖于不安全的包时,Dependabot alerts 会向你发出通知。 通常,软件是使用来自各种源的开源代码包生成的。 这些依赖项之间存在复杂关系,而且恶意的开发人员可以轻易地将恶意软件插入到上游代码中,这意味着你可能在不知情的情况下使用具有安全缺陷的依赖项(也称为漏洞)。

当代码依赖于具有安全漏洞的包时,这可能会导致项目或使用它的人遇到一系列问题。 使用易受攻击的包会让恶意用户认为你是容易攻击的目标,从而利用你的系统。 例如,他们可能寻求从客户或参与者获取你的代码和数据的访问权限。 应该尽快升级到包的安全版本。 如果代码使用了恶意软件,则需要将包替换为安全的替代方法。

Dependabot 不会为恶意软件生成 Dependabot alerts。 有关详细信息,请参阅“关于 GitHub 公告数据库”。

有关 Dependabot 提供的不同功能的概述以及如何入门的说明,请参阅“Dependabot 快速入门指南”。

不安全依赖项的检测

为检测不安全的依赖项,Dependabot 会对存储库的默认分支执行扫描,并在以下情况下发送 Dependabot alerts:

  • 新公告数据每小时从 GitHub.com 同步到 GitHub。 有关详细信息,请参阅“在 GitHub Advisory Database 中浏览安全公告”。

    Note

    只有经过 GitHub 审核的公告才会触发 Dependabot alerts。

  • 存储库的依赖项关系图发生更改。 例如,当参与者推送提交以更改所依赖的包或版本时。 有关详细信息,请参阅“关于依赖关系图”。

Note

Dependabot 不会扫描存档的存储库。

此外,GitHub 还可以查看在针对存储库默认分支的拉取请求中添加、更新或删除的任何依赖项,并标记任何会降低项目安全性的更改。 因此可以在易受攻击的依赖项到达代码库之前(而非之后)发现并进行处理。 有关详细信息,请参阅“审查拉取请求中的依赖项更改”。

由于 Dependabot alerts 依赖于依赖项关系图,因此 Dependabot alerts 支持的生态系统与依赖项关系图支持的生态系统相同。 有关这些生态系统的列表,请参阅“依赖项关系图支持的包生态系统”。

Note

保持清单和锁定文件处于最新状态非常重要。 如果依赖关系图不能准确反映你当前的依赖项和版本,则可能错过有关你使用的不安全依赖项的警报。 您还可以收到不再使用的依赖项的警报。

Dependabot 只会为使用语义版本控制的易受攻击的 GitHub Actions 创建 Dependabot alerts。 你将不会收到有关使用 SHA 版本控制的易受攻击操作的警报。 如果将 GitHub Actions 与 SHA 版本控制配合使用,建议为存储库或组织启用 Dependabot version updates 以保留更新到最新版本的操作。

Dependabot alerts 的配置

企业所有者必须对你的 GitHub Enterprise Server 实例启用Dependabot alerts,然后才能使用此功能。 有关详细信息,请参阅“为企业启用 Dependabot”。

当 GitHub Enterprise Server 识别出易受攻击的依赖项时,我们会生成 Dependabot 警报,并将其显示在存储库的“安全性”**** 选项卡和存储库的依赖项关系图中。 该警报包括指向项目中受影响的文件的链接,以及有关修复的版本的信息。

GitHub Enterprise Server 会根据通知首选项将新警报通知给受影响存储库的维护者。首次启用 Dependabot 时,GitHub Enterprise Server 不会针对存储库中找到的所有易受攻击的依赖项发送通知,只会针对启用 Dependabot 后标识的易受攻击的新依赖项发送通知。有关详细信息,请参阅“为 Dependabot 警报配置通知”。

如果已启用存储库的 Dependabot security updates,警报中还会包含一个拉取请求链接,用于将清单或锁定文件更新到可解决该漏洞的最低版本。 有关详细信息,请参阅“关于 Dependabot 安全更新”。

Warning

GitHub Enterprise Server 的安全功能并不要求捕获所有漏洞。 我们积极维护 GitHub Advisory Database 并生成包含最新信息的警报。 但是,我们无法在保证的时间范围内捕获所有漏洞或告知你已知的漏洞。 这些功能不能替代针对每个依赖项潜在漏洞或任何其他问题的人工评审,建议在必要时咨询安全服务或进行彻底的依赖项评审。

访问 Dependabot alerts

你可以在存储库的依赖项关系图中查看影响特定项目的所有警报。 有关详细信息,请参阅“查看和更新 Dependabot 警报”。

默认情况下,我们会向受影响存储库中具有写入、维护或管理权限的人员通知有关新的 Dependabot alerts。

若要在存储库上接收有关 Dependabot alerts} 的通知,需要监视这些存储库,并订阅以接收“所有活动”通知或配置自定义设置以包括“安全警报”。 有关详细信息,请参阅“配置通知”。 可以选择通知的传递方法,以及通知发送给你的频率。 有关详细信息,请参阅“为 Dependabot 警报配置通知”。

你还可以查看与 GitHub Advisory Database 中的特定公告对应的 Dependabot alerts。 有关详细信息,请参阅“在 GitHub Advisory Database 中浏览安全公告”。

延伸阅读