codecamp

GitHub 关于易受攻击的依赖项的警报

当我们检测到影响仓库的漏洞时,GitHub 将会发送 GitHub Dependabot 警报。

关于易受攻击的依赖项

漏洞是项目代码中的问题,可能被利用来损害机密性、完整性或者该项目或其他使用其代码的项目的可用性。漏洞的类型,严重性和攻击方法各不相同。

当代码依赖于具有安全漏洞的包时,这种易受攻击的依赖项可能会导致项目或使用它的人遇到一系列问题。

有漏洞依赖项的检测

GitHub Dependabot 在以下情况下检测有漏洞的依赖项并发送 Dependabot 警报:

有关 GitHub 可以检测到漏洞和依赖项的生态系统列表,请参阅“支持的包生态系统”。

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

有漏洞依赖项的 GitHub Dependabot 警报

GitHub 默认会检测公共仓库中有漏洞的依赖项并向用户发出警报。 私有仓库的所有者或具有管理员权限的人员可以通过为其仓库启用依赖关系图和 GitHub Dependabot 警报 来启用 GitHub Dependabot 警报。

您还可以为用户帐户或组织拥有的所有存储库启用或禁用GitHub Dependabot警报。有关更多信息,请参阅“ 管理用户帐户的安全和分析设置 ”或“ 管理组织的安全和分析设置 ”。

GitHub 将立即开始生成依赖关系图,并在发现任何有漏洞的依赖项后立即发送警报。 依赖关系图通常在几分钟之内填充,但对于依赖项很多的仓库,可能需要更长时间。 更多信息请参阅“管理私有仓库的数据使用设置”。

当 GitHub 发现有漏洞的依赖项时, 我们会发送 Dependabot 警报给受影响仓库的维护员,其中包含该漏洞的详细说明、项目中受影响文件的链接以及有关修复版本的信息。 对于已启用 GitHub Dependabot 安全更新 的仓库,警报中还有一个拉取请求链接,用于将清单或锁定文件更新到能解决该漏洞的最小版本。 更多信息请参阅“配置 GitHub Dependabot 安全更新。”

:GitHub 的安全功能并不要求捕获所有漏洞。 虽然我们一直在努力更新漏洞数据库,向您提醒最新的信息,但我们无法捕获一切或在保证的时间范围内向您警示已知的漏洞。 这些功能不是要替代人工检查每个依赖项的潜在漏洞或任何其他问题,并且我们建议在必要时咨询安全服务或全面检查漏洞。

访问 Dependabot警报

您可以在仓库的 Security(安全)选项卡或仓库的依赖关系图中查看影响特定项目的所有警报。更多信息请参阅“查看和更新仓库中的漏洞依赖项”。

默认情况下,我们发送 Dependabot警报给受影响仓库中具有管理员权限的人员。 GitHub 从不公开披露在任何仓库中发现的漏洞。 您也可以对操作组织拥有的仓库的其他人或团队启用 Dependabot警报。 更多信息请参阅“管理组织仓库中漏洞依赖项的警报”。

配置GitHub Dependabot 警报通知

默认情况下,您将会通过电子邮件收到GitHub Dependabot 警报,按具体的漏洞进行分组。 您也可以选择在每周电子邮件(摘要列出最多 10 个仓库的警报)、web 通知或 GitHub 用户界面中接收GitHub Dependabot 警报。 更多信息请参阅“配置通知”。

影响一个或多个存储库的GitHub Dependabot警报的电子邮件通知包括X-GitHub-Severity标头字段。 您可以使用X-GitHub-Severity标头字段的值来过滤GitHub Dependabot警报的电子邮件通知。更多信息请参阅“配置通知”。

延伸阅读

浏览 GitHub Advisory Database 中的安全漏洞
配置 GitHub Dependabot 安全更新
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

GitHub 身份验证

在 GitHub 上管理订阅和通知

在 GitHub 上管理活动的订阅

GitHub 组织和团队

GitHub 管理对组织仓库的 Git 访问

GitHub 计费和付款

GitHub 使用议题和拉取请求进行协作

GitHub 在具有代码质量功能的仓库上进行协作

管理在 GitHub 上的工作

GitHub 建立强大的社区

GitHub 管理仓库

GitHub 自定义 GitHub 工作流程

在 GitHub Marketplace 中购买并安装应用程序

通过 GitHub Jobs 寻找人才

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }