配置 GitHub Dependabot 安全更新
您可以使用 GitHub Dependabot 安全更新 或手动拉取请求轻松地更新有漏洞的依赖项。
关于 GitHub Dependabot 安全更新
Dependabot 监控安全通告,如 GitHub Advisory Database 和 WhiteSource,并在仓库的依赖关系图中检测到新的有漏洞依赖项时自动触发拉取请求。 有关 GitHub Advisory Database 的更多信息,请参阅“关于 GitHub Advisory Database”。
拉取请求会将依赖项升级到避免此漏洞所需的最小可能的安全版本。
注意:最好有适当的自动化测试和验收流程,以便在合并拉取请求之前进行检查。如果要升级到的建议版本包含其他功能,或者所做的更改会破坏项目代码,则这一点尤其重要。有关持续集成的更多信息,请参阅“ 关于持续集成”。
Dependabot 在有漏洞依赖项的警报中包含拉取请求的链接。 更多信息请参阅“关于易受攻击的依赖项的警报”和“关于依赖关系图”。
每个安全更新都包含快速、安全地查看提议的修复程序并将其合并到项目中所需的全部内容。 这包括漏洞的相关信息,如发行说明、变更日志条目和提交详细信息。 无法访问仓库的 Dependabot 警报的任何人都看不到拉取请求所解决的漏洞详细信息。
当您合并包含安全更新的拉取请求时,仓库的相应警报将被标记为已解决。
注 GitHub Dependabot 安全更新 只解决依赖关系图跟踪的依赖项中的安全漏洞。 安全更新创建的目标不是解决托管在私有仓库中的私有注册表或包中的漏洞。 但是,如果间接或过渡的依赖项已在锁定文件或类似文件中明确定义,则会包含在内。 更多信息请参阅“关于依赖关系图”。 此外,对于被检测出漏洞的依赖项,必须强调 GitHub Dependabot 安全更新 自动使用建议用于锁定文件的修复程序创建拉取请求。
您可以为任何使用 Dependabot 警报和依赖关系图的仓库启用 GitHub Dependabot 安全更新。 您可以对个别仓库或所有由您的用户帐户或组织拥有的仓库禁用 GitHub Dependabot 安全更新。 有关更多信息,请参见 "管理 GitHub Dependabot 安全更新用于您的仓库" below.
GitHub 的服务条款涵盖了GitHub Dependabot和所有相关功能。
支持的仓库
GitHub 自动为符合这些前提条件的每个仓库启用 GitHub Dependabot 安全更新。
自动启用前提条件 | 更多信息 |
---|---|
存储库不是复刻 | "关于复刻" |
仓库未存档 | "存档仓库" |
仓库是公共的,或者仓库是私有的但您在仓库的设置中启用了 GitHub 只读分析、依赖关系图和漏洞警报。 | “管理私有仓库的数据使用设置”。 |
仓库包含软件包生态系统中 GitHub 支持的依赖项清单文件 | "支持的软件包生态系统" |
GitHub Dependabot 安全更新 未对仓库禁用 | "管理仓库的 GitHub Dependabot 安全更新" |
仓库尚未使用集成进行依赖项管理 | “关于集成” |
注意:即使存储库不满足上述某些先决条件,您也可以按照“ 为存储库管理GitHub Dependabot安全更新 ”中的说明手动启用GitHub Dependabot安全更新。
如果未为存储库启用安全更新,并且您不知道原因么,请先尝试使用以下程序部分的说明启用它们。 如果安全更新还是不工作,您可以联系支持。
关于兼容性分数
GitHub Dependabot 安全更新 还包括兼容性分数,以便您了解更新漏洞是否可能导致对项目的重大更改。 我们从已生成特定安全更新的公共仓库中查看此前通过的 CI 测试,以了解更新是否会导致测试失败。 更新的兼容性分数是在依赖项的相关版本之间进行更新时,CI 运行被视为通过的百分比。
管理 GitHub Dependabot 安全更新用于您的仓库
您可以对单个仓库启用或禁用 GitHub Dependabot 安全更新。
您还可以为用户帐户或组织拥有的所有存储库启用或禁用GitHub Dependabot警报。有关更多信息,请参阅“ 管理用户帐户的安全和分析设置 ”或“ 管理组织的安全和分析设置 ”。
GitHub Dependabot 安全更新 需要特定的仓库设置。 更多信息请参阅“支持的仓库”。
- 在 GitHub 上,导航到仓库的主页面。
- 在仓库名称下,单击 Security(安全)。
- 在安全性侧栏中,点击 Dependabot alerts。
- 在警报列表的上方,使用下拉菜单并选择或取消选择 Dependabot security updates(Dependabot 安全更新)。