跳至主要内容
REST API 现在已版本化。 有关更多信息,请参阅“关于 API 版本控制”。

全局安全公告的 REST API 端点

使用 REST API 查看全局安全公告。

列出全局安全公告

列出与指定参数匹配的所有全局安全公告。如果未定义其他参数,则请求将仅返回 GitHub 审查过的且不是恶意软件的安全公告。

默认情况下,所有响应都将排除恶意软件的安全公告,因为恶意软件不是标准漏洞。要列出恶意软件的安全公告,您必须在请求中包含 `type` 参数,其值为 `malware`。有关不同类型安全公告的更多信息,请参阅“关于 GitHub 安全公告数据库”。

“列出全局安全公告”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌不需要任何权限。

如果仅请求公共资源,则可以在不进行身份验证的情况下使用此端点。

“列出全局安全公告”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 `application/vnd.github+json`。

查询参数
名称、类型、描述
ghsa_id 字符串

如果指定,则仅返回具有此 GHSA(GitHub 安全公告)标识符的安全公告。

type 字符串

如果指定,则仅返回此类型的安全公告。默认情况下,未定义其他参数的请求将仅返回已审查且不是恶意软件的安全公告。

默认值: reviewed

可以是以下之一: reviewedmalwareunreviewed

cve_id 字符串

如果指定,则仅返回具有此 CVE(通用漏洞和披露)标识符的安全公告。

ecosystem 字符串

如果指定,则仅返回这些生态系统的安全公告。

可以是以下之一: rubygemsnpmpipmavennugetcomposergorusterlangactionspubotherswift

severity 字符串

如果指定,则仅返回具有这些严重级别的安全公告。

可以是以下之一: unknownlowmediumhighcritical

cwes

如果指定,则仅返回具有这些通用弱点枚举 (CWE) 的安全公告。

示例:cwes=79,284,22cwes[]=79&cwes[]=284&cwes[]=22

is_withdrawn 布尔值

是否仅返回已撤回的安全公告。

affects

如果指定,则仅返回影响任何 `package` 或 `package@version` 的安全公告。最多可以指定 1000 个软件包。如果查询参数导致 URL 超过客户端支持的最大 URL 长度,则必须指定更少的软件包。

示例:affects=package1,[email protected],package3@^2.0.0affects[]=package1&affects[][email protected]

published 字符串

如果指定,则仅返回在指定日期或日期范围内发布的安全公告。

有关日期范围语法的更多信息,请参阅“了解搜索语法”。

updated 字符串

如果指定,则仅返回在指定日期或日期范围内更新的安全公告。

有关日期范围语法的更多信息,请参阅“了解搜索语法”。

modified 字符串

如果指定,则仅显示在指定日期或日期范围内更新或发布的安全公告。

有关日期范围语法的更多信息,请参阅“了解搜索语法”。

epss_percentage 字符串

如果指定,则仅返回 EPSS 百分比分数与提供的值匹配的安全公告。EPSS 百分比表示 CVE 被利用的可能性。

epss_percentile 字符串

如果指定,则仅返回 EPSS 百分位数分数与提供的值匹配的安全公告。EPSS 百分位数表示与其他 CVE 相比,CVE 被利用可能性的相对排名。

before 字符串

游标,如 链接标头 中所示。如果指定,则查询仅搜索此游标之前的结果。有关更多信息,请参阅“在 REST API 中使用分页”。

after 字符串

游标,如 链接标头 中所示。如果指定,则查询仅搜索此游标之后的结果。有关更多信息,请参阅“在 REST API 中使用分页”。

direction 字符串

排序结果的方向。

默认值: desc

可以是以下之一: ascdesc

per_page 整数

每页的结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。

默认值: 30

sort 字符串

要按其排序结果的属性。

默认值: published

可以是以下之一: updatedpublishedepss_percentageepss_percentile

“列出全局安全公告”的 HTTP 响应状态代码

状态代码描述
200

OK

422

验证失败或端点已被垃圾邮件轰炸。

429

请求过多

“列出全局安全公告”的代码示例

请求示例

get/advisories
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/advisories

响应

状态:200
[ { "id": 1, "ghsa_id": "GHSA-abcd-1234-efgh", "cve_id": "CVE-2050-00000", "url": "https://api.github.com/advisories/GHSA-abcd-1234-efgh", "html_url": "https://github.com/advisories/GHSA-abcd-1234-efgh", "repository_advisory_url": "https://api.github.com/repos/project/a-package/security-advisories/GHSA-abcd-1234-efgh", "summary": "Heartbleed 安全公告", "description": "此错误允许攻击者读取受影响服务器内存的部分内容,可能会泄露敏感信息。", "type": "reviewed", "severity": "high", "source_code_location": "https://github.com/project/a-package", "identifiers": [ { "type": "GHSA", "value": "GHSA-abcd-1234-efgh" }, { "type": "CVE", "value": "CVE-2050-00000" } ], "references": [ "https://nvd.nist.gov/vuln/detail/CVE-2050-00000" ], "published_at": "2023-03-23T02:30:56Z", "updated_at": "2023-03-24T02:30:56Z", "github_reviewed_at": "2023-03-23T02:30:56Z", "nvd_published_at": "2023-03-25T02:30:56Z", "withdrawn_at": null, "vulnerabilities": [ { "package": { "ecosystem": "npm", "name": "a-package" }, "first_patched_version": "1.0.3", "vulnerable_version_range": "<=1.0.2", "vulnerable_functions": [ "a_function" ] } ], "cvss": { "vector_string": "CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H", "score": 7.6 }, "cvss_severities": { "cvss_v3": { "vector_string": "CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H", "score": 7.6 }, "cvss_v4": { "vector_string": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N", "score": 9.3 } }, "cwes": [ { "cwe_id": "CWE-400", "name": "Uncontrolled Resource Consumption" } ], "epss": [ { "percentage": 0.00045, "percentile": "0.16001e0" } ], "credits": [ { "user": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false }, "type": "analyst" } ] } ]

获取全局安全公告

使用其 GitHub 安全咨询 (GHSA) 标识符获取全局安全咨询。

“获取全局安全咨询”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌不需要任何权限。

如果仅请求公共资源,则可以在不进行身份验证的情况下使用此端点。

“获取全局安全咨询”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 `application/vnd.github+json`。

路径参数
名称、类型、描述
ghsa_id 字符串 必填

咨询的 GHSA(GitHub 安全咨询)标识符。

“获取全局安全咨询”的 HTTP 响应状态码

状态代码描述
200

OK

404

资源未找到

“获取全局安全咨询”的代码示例

请求示例

获取/advisories/{ghsa_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/advisories/GHSA_ID

响应

状态:200
{ "ghsa_id": "GHSA-abcd-1234-efgh", "cve_id": "CVE-2050-00000", "url": "https://api.github.com/advisories/GHSA-abcd-1234-efgh", "html_url": "https://github.com/advisories/GHSA-abcd-1234-efgh", "repository_advisory_url": "https://api.github.com/repos/project/a-package/security-advisories/GHSA-abcd-1234-efgh", "summary": "咨询的简要摘要。", "description": "关于咨询内容的详细说明。", "type": "已审查", "severity": "高", "source_code_location": "https://github.com/project/a-package", "identifiers": [ { "type": "GHSA", "value": "GHSA-abcd-1234-efgh" }, { "type": "CVE", "value": "CVE-2050-00000" } ], "references": [ "https://nvd.nist.gov/vuln/detail/CVE-2050-00000" ], "published_at": "2023-03-23T02:30:56Z", "updated_at": "2023-03-24T02:30:56Z", "github_reviewed_at": "2023-03-23T02:30:56Z", "nvd_published_at": "2023-03-25T02:30:56Z", "withdrawn_at": null, "vulnerabilities": [ { "package": { "ecosystem": "npm", "name": "a-package" }, "first_patched_version": "1.0.3", "vulnerable_version_range": "<=1.0.2", "vulnerable_functions": [ "a_function" ] } ], "cvss": { "vector_string": "CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H", "score": 7.6 }, "cvss_severities": { "cvss_v3": { "vector_string": "CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H", "score": 7.6 }, "cvss_v4": { "vector_string": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N", "score": 9.3 } }, "cwes": [ { "cwe_id": "CWE-400", "name": "不受控制的资源消耗" } ], "credits": [ { "user": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false }, "type": "分析师" } ] }