codecamp

关于 GitHub Security Advisories

您可以使用 GitHub Security Advisories 来私下讨论、修复和发布有关仓库中安全漏洞的信息。

任何对仓库有管理员权限的人都可以创建安全通告。

拥有仓库管理员权限的任何人,对该仓库中的所有安全通告也拥有管理员权限。 对安全通告拥有管理员权限的人可以添加协作者,而协作者对安全通告拥有写入权限。

注意:如果您是安全研究人员,则应直接与维护人员联系,要求他们创建安全公告或在您不管理的存储库中代表您发布CVE。

关于 GitHub Security Advisories

GitHub Security Advisories 允许仓库维护员私下讨论并修复项目中的安全漏洞。 协作修复后,仓库维护员可以发布安全通告,公开向项目社区披露安全漏洞。 通过发布安全通告,仓库维护员可让其社区更轻松地更新包依赖项和研究安全漏洞的影响。

通过 GitHub Security Advisories,您可以:

  1. 创建安全通告草稿,并使用草稿私下讨论漏洞对项目的影响。
  2. 在临时私有复刻中私下协作以修复漏洞。
  3. 发布通告向社区提醒漏洞。

您还可以使用 GitHub Security Advisories 重新发布已在其他地方披露的安全漏洞详细信息,方法是将该漏洞的详细信息复制并粘贴到新的安全通告中。

要开始使用,请参阅“ 创建安全公告”

您可以向为安全通告做出贡献的个人提供积分。 更多信息请参阅“编辑安全通告”。

您可以制定安全政策,要求们负责任地报告您项目中的安全漏洞。 更多信息请参阅“添加安全政策到仓库”。

您也可以加入 GitHub Security Lab,以便浏览安全主题并参与安全工具和项目。

CVE 识别号

GitHub安全公告基于“常见漏洞和披露(CVE)”列表的基础。GitHub是CVE编号颁发机构(CNA),并被授权分配CVE标识号。有关更多信息,请参见CVE网站上的“ About CVE ”和“ CVE Numbering Authority ”。

在GitHub上为公共存储库创建安全公告时,可以选择为安全漏洞提供现有的CVE标识号。如果项目中尚无表示安全漏洞的CVE识别码,您可以从GitHub请求一个CVE识别码。GitHub通常会在72小时内审核该请求。要求CVE标识号不会使您的安全建议公开。如果您的安全公告有资格获得CVE,则GitHub将为您的公告保留CVE标识号。在您发布安全公告后,我们将发布CVE详细信息。

在您发布了安全通告并且 GitHub 为漏洞分配 CVE 标识号后,GitHub 会将 CVE 发布到 MITRE 数据库。 更多信息请参阅“发布安全通告”。

对于发布的安全通告的 GitHub Dependabot 警报

GitHub将审核每个已发布的安全公告,将其添加到GitHub咨询数据库,并可以使用该安全公告将GitHub Dependabot警报发送到受影响的存储库。如果安全通告来自复刻,我们仅当该复刻拥有在公共软件包注册表上以唯一名称发布的软件包时才发送警报。 此过程最长可能需要 72 小时,GitHub 可能会联系您以获取更多信息。

有关GitHub Dependabot警报的更多信息,请参阅“ 关于易受攻击的依赖项的警报 ”。有关GitHub咨询数据库的更多信息,请参阅“ 在GitHub咨询数据库中浏览安全漏洞 ”。

GitHub 添加安全政策到仓库
GitHub 安全通告的权限级别
温馨提示
下载编程狮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; }