Skip to main content

关于 GitHub 公告数据库

The GitHub Advisory Database contains a list of known security vulnerabilities and malware, grouped in three categories: GitHub-reviewed advisories, unreviewed advisories, and malware advisories.

关于 GitHub Advisory Database

我们从以下来源向 GitHub Advisory Database 添加公告信息:

如果你知道我们应该从中导入顾问的另一个数据库,请通过在 https://github.com/github/advisory-database 中创建问题来告诉我们。

安全公告以开放源代码漏洞 (OSV) 格式的 JSON 文件形式发布。 有关 OSV 格式的详细信息,请参阅“开放源代码漏洞格式”。

关于安全公告的类型

GitHub Advisory Database 中的每个公告都涉及开放源代码项目中的漏洞或恶意开放源代码软件。

漏洞是项目代码中的问题,可能被利用来损害机密性、完整性或者该项目或其他使用其代码的项目的可用性。 漏洞的类型、严重性和攻击方法各不相同。 代码中的漏洞通常是偶然引入的,并在被发现后很快会得到修复。 应更新代码,以便在依赖项可用时立即使用它的修复后的版本。

相比之下,恶意软件是有意设计为执行不需要或有害功能的代码。 恶意软件可能针对硬件、软件、机密数据或使用该恶意软件的任何应用程序的用户。 需要从项目中删除恶意软件,并为依赖项找到可供选择的、更安全的替代项。

经 GitHub 审核的公告

经 GitHub 审核的公告是已映射到支持的生态系统中的包的安全漏洞或恶意软件。 仔细查看每个公告的有效性,并确保它们具有完整的说明,以及包含生态系统和包信息。

通常,我们以软件编程语言的相关包注册表命名支持的生态系统。 我们会审查与受支持注册表中的包中的漏洞相关的公告。

如果对我们应该支持的新生态系统有任何建议,请提出问题以供讨论。

如果为存储库启用 Dependabot alerts,则当经 GitHub 审核的新公告报告所依赖的包存在漏洞时,系统会自动通知你。 有关详细信息,请参阅“关于 Dependabot 警报”。

未审核的公告

未审核的公告是我们直接从国家漏洞数据库源自动发布到 GitHub Advisory Database 的安全漏洞。

Dependabot 不会为未审核的公告创建 Dependabot alerts,因为不会检查此类公告的有效性或完成情况。

恶意软件公告

注意:恶意软件的公告目前为 beta 版本,可能随时变动。

恶意软件公告与恶意软件造成的漏洞有关,并且是 GitHub 直接从 npm 安全团队提供的信息自动发布到 GitHub Advisory Database 的安全公告。 恶意软件公告仅适用于 npm 生态系统。 GitHub 不对这些建议进行编辑或接受社区贡献。

检测到恶意软件时,Dependabot 不会生成警报,因为大多数漏洞都无法由下游用户解决。 可通过在 GitHub Advisory Database 中搜索 type:malware 来查看恶意软件公告。

我们的恶意软件公告主要关于替代攻击。 在此类攻击期间,攻击者将包发布到公共注册表,其名称与用户从第三方或专用注册表依赖的依赖项相同,并希望恶意版本得到使用。 Dependabot 不会通过查看项目配置来确定包是否来自私有注册表,因此我们无法确定你使用的是恶意版本还是非恶意版本。 通过指定适当的依赖范围,用户就不会受到恶意软件的影响。

关于安全公告中的信息

在本部分中,可以在 GitHub Advisory Database 中找到有关安全公告的更多详细信息,例如:

  • 公告 ID 以及这些标识符使用的格式。
  • 用于分配严重性级别的 CVSS 级别。

关于 GHSA ID

每个安全公告(无论其类型如何)都有一个称为 GHSA ID 的唯一标识符。 在 GitHub.com 上创建新公告或从任何受支持的源添加到 GitHub Advisory Database 时,将分配 GHSA-ID 限定符。

GHSA ID 的语法遵循以下格式:GHSA-xxxx-xxxx-xxxx,其中:

  • x 是以下集中的字母或数字:23456789cfghjmpqrvwx
  • 名称的 GHSA 部分外:
    • 数字和字母是随机分配的。
    • 所有字母是小写的。

可以使用正则表达式验证 GHSA ID。

Bash
/GHSA(-[23456789cfghjmpqrvwx]{4}){3}/

关于 CVSS 级别

每个安全公告都包含有关漏洞和恶意软件的信息,可能包括说明、严重程度、受影响的包、包生态系统、受影响的版本和修补版本、影响以及可选信息(如引用、解决方法和积分)。 此外,国家漏洞数据库列表中的公告包含 CVE 记录链接,通过链接可以查看漏洞、其 CVSS 得分及其质化严重等级的更多详细信息。 有关详细信息,请参阅美国国家标准和技术研究院的“国家漏洞数据库”。

严重级别是“常见漏洞评分系统 (CVSS) 第 5 节”中定义的四个可能级别之一。

  • 严重

GitHub Advisory Database 使用上述 CVSS 级别。 如果 GitHub 获取 CVE,GitHub Advisory Database 将使用 CVSS 版本 3.1。 如果 CVE 是导入的,则 GitHub Advisory Database 支持 CVSS 版本 3.0 和 3.1。

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

延伸阅读