Skip to main content

关于存储库安全公告

可以使用存储库安全公告来私下讨论、修复和发布有关存储库中安全漏洞的信息。

弃用说明:GitHub 即将弃用专用存储库中的存储库安全公告。 自 2024 年 5 月 15 日起,将无法再在专用存储库中创建安全公告。

此弃用不会影响公共存储库上已发布的安全公告。

以前在专用存储库中发布的公告将消失。 如果需要保存以前发布的公告,可以使用 GitHub REST API 进行下载。 有关详细信息,请参阅“适用于存储库安全公告的 REST API 终结点”。

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

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

注意:如果你是安全研究人员,应直接联系维护人员,要求他们创建安全通告,或在你不管理的存储库中代表你发布 CVE。 但如果为存储库启用了私人漏洞报告,则可以自行“私下”__ 报告漏洞。 有关详细信息,请参阅“私下报告安全漏洞”。

关于存储库安全公告

漏洞披露是漏洞报告者(如安全研究人员)和项目维护者之间协作非常重要的领域。 双方需要从发现潜在有害安全漏洞的那一刻起共同努力,直到向世界披露漏洞,最好有可用的修补程序。 通常,当有人让维护者私下了解安全漏洞时,维护者会开发修复程序、验证修复程序并通知项目或包的用户。 有关详细信息,请参阅“关于安全漏洞的协调披露”。

使用存储库安全公告,存储库维护人员可私下讨论和修复项目中的安全漏洞。 协作得到修补程序后,存储库维护人员可发布安全通知,向项目社区公开安全漏洞。 通过发布安全通知,存储库维护人员可使其社区更轻松地更新包依赖项并对安全漏洞的影响进行调查。

使用存储库安全公告,可以执行以下操作:

  1. 创建安全通告草稿,并使用草稿私下讨论漏洞对项目的影响。 有关详细信息,请参阅“创建存储库安全公告”。
  2. 在临时私有复刻中私下协作以修复漏洞。
  3. 在补丁发布后发布通告向社区提醒漏洞。 有关详细信息,请参阅“发布存储库安全公告”。

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

还可以使用 REST API 创建、列出和更新存储库安全公告。 有关详细信息,请参阅“适用于存储库安全公告的 REST API 终结点”。

您可以向为安全通告做出贡献的个人提供积分。 有关详细信息,请参阅“编辑存储库安全通告”。

您可以创建安全策略,向人们提供有关报告项目中安全漏洞的说明。 有关详细信息,请参阅“将安全策略添加到存储库”。

如果您在仓库中创建了安全通告,安全通告将保留在您的仓库中。 我们在 github.com/advantores 上的 GitHub Advisory Database 发布任何由依赖关系图支持的生态系统的安全公告。 任何人都可以提交对 GitHub Advisory Database 中发布的公告的更改。 有关详细信息,请参阅“在 GitHub Advisory Database 中编辑安全公告”。

如果安全通告是专门针对 npm 的,我们也会向 npm 安全通告发布该通告。 有关详细信息,请参阅 npmjs.com/advisories

还可加入 GitHub Security Lab,以浏览与安全相关的主题,并为安全工具和项目做出贡献。

CVE 识别号

GitHub Security Advisories 基于通用漏洞披露 (CVE) 列表而构建。 在 GitHub 上的安全通告表是符合 CVE 描述格式的标准化表格。

GitHub 是 CVE 编号颁发机构 (CNA),被授权分配 CVE 标识号。 有关详细信息,请参阅 CVE 网站上的关于 CVECVE 编号机构

在 GitHub 上为公共仓库创建安全通告时,您可以选择为安全漏洞提供现有的 CVE 标识号。 如果你需要项目中的安全漏洞的 CVE 标识号,但尚未获得,则可从 GitHub 请求 CVE 标识号。 GitHub 通常在 72 小时内审核请求。 请求 CVE 识别码不会公开您的安全通告。 如果您的安全通告符合 CVE 条件,GitHub 将为您的通告保留 CVE 识别码。 然后,我们将在公开安全通告后发布 CVE 详细信息。 对安全通告具有管理员权限的任何人都可以申请 CVE 标识号。

如果您已经拥有要使用的 CVE,例如,如果您使用 GitHub 以外的 CVE Numbering Authority (CNA),请将 CVE 添加到安全通告表。 例如,如果您想要获得与计划在发布时间发送的其他通信一致的通告,则可能会发生这种情况。 如果你的项目由其他 CNA 涵盖,则 GitHub 无法向你的项目分配 CVE。

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

对于发布的安全通告的 Dependabot alerts

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

有关 Dependabot alerts 的详细信息,请参阅“关于 Dependabot 警报”和“关于 Dependabot 安全更新”。 有关 GitHub Advisory Database 的详细信息,请参阅“在 GitHub Advisory Database 中浏览安全公告”。