跳至主要内容

评估代码库的安全设置

安全研究人员可以评估公共代码库的安全设置,建议安全策略并报告漏洞。

谁可以使用此功能?

任何人都可以查看公共代码库的安全设置,并联系代码库维护者处理安全问题。

关于评估代码库的安全设置

评估公共代码库的安全设置可以帮助安全研究人员了解代码库的安全态势。此信息可以帮助您决定是否与代码库维护者联系,例如,报告代码库中的漏洞。

如果代码库是公开的,则任何人都可以访问有关代码库安全设置的高级信息。例如,您可以查看代码库是否具有安全策略,以及是否启用了私有漏洞报告。您还可以查看代码库的已发布和已关闭的安全建议。如果代码库没有关联安全策略,您可以建议一个。如果代码库启用了私有漏洞报告,您可以直接向代码库维护者私下报告安全漏洞。

如果您对代码库具有管理员权限,并且代码库归组织所有,则可以通过安全概述查看有关代码库安全设置的更详细信息。有关安全概述的更多信息,请参阅 GitHub Enterprise Cloud 文档中的“安全概述”。

如果代码库是私有的,则只有在您对代码库具有管理员权限或已授予涵盖该代码库的特殊安全权限(例如,作为组织范围的安全管理员)时,才能看到安全设置。

如果您想大规模评估代码库的安全态势,可以使用 API 检查代码库中是否启用了某些安全设置,例如私有漏洞报告。有关更多信息,请参阅“代码库的 REST API 端点”。

建议代码库的安全策略

如果您没有公共代码库的管理员或安全权限,如果代码库不存在安全策略,您仍然可以向代码库维护者建议安全策略。然后,代码库维护者可以选择接受或拒绝您的建议。如果代码库维护者接受您的建议,则安全策略将与代码库相关联。

  1. 在 GitHub 上,导航到代码库的主页。
  2. 在代码库名称下,单击 ** 安全**。如果您看不到“安全”选项卡,请选择 **** 下拉菜单,然后单击 **安全**。
    Screenshot of a repository header showing the tabs. The "Security" tab is highlighted by a dark orange outline.
  3. 如果代码库有安全策略,它将被显示。如果代码库没有关联的安全策略,请单击 **建议策略**。
  4. 将在代码库的默认分支中创建一个 SECURITY.md 文件。该文件将包含安全策略的模板。您可以编辑该文件以添加您建议的安全策略。
  5. 完成后,单击 **提交更改**。
  6. 填写 **提交更改** 对话框。
    • 在“提交消息”下,输入提交消息。
    • 可选地,在“扩展说明”下,描述正在进行的更改。
    • 选择“为此提交创建一个新分支并启动拉取请求”
    • 单击 **提交更改**。
  7. 单击 **创建拉取请求**。
  8. 可选地,留下评论。
  9. 单击 **创建拉取请求**。

报告代码库中的漏洞

如果您没有公共代码库的管理员或安全权限,如果启用了私有漏洞报告,您仍然可以私下向代码库维护者报告安全漏洞。然后,代码库维护者可以选择接受或拒绝您的报告。如果代码库维护者接受您的报告,则将为代码库创建一个安全建议。

注意

如果代码库未启用私有漏洞报告功能,则需要按照代码库的安全策略中的说明启动报告流程,或创建一个问题,要求维护者提供首选的安全联系方式。更多信息,请参阅“关于安全漏洞的协调披露”。

  1. 在 GitHub 上,导航到代码库的主页。

  2. 在代码库名称下,单击 ** 安全**。如果您看不到“安全”选项卡,请选择 **** 下拉菜单,然后单击 **安全**。

    Screenshot of a repository header showing the tabs. The "Security" tab is highlighted by a dark orange outline.

  3. 点击报告漏洞打开咨询表单。

  4. 填写咨询详细信息表单。

    提示

    在此表单中,只有标题和描述是必填项。(在代码库维护者启动的通用草稿安全咨询表单中,还要求指定生态系统。)但是,我们建议安全研究人员在表单中提供尽可能多的信息,以便维护者能够对提交的报告做出明智的决定。您可以采用 GitHub 安全实验室的安全研究人员使用的模板,该模板可在“github/securitylab 代码库”中找到。

    有关可用字段的更多信息以及填写表单的指导,请参阅“创建代码库安全咨询”和“编写代码库安全咨询的最佳实践”。

  5. 在表单底部,点击提交报告。GitHub 将显示一条消息,告知您维护者已收到通知,并且您将获得此安全咨询的待处理积分。

    提示

    提交报告后,GitHub 会自动将漏洞报告者添加为建议的咨询中的协作者和已获认可的用户。

  6. 或者,如果您想开始修复问题,请点击启动临时私有分支。请注意,只有代码库维护者才能将来自该私有分支的更改合并到父代码库中。

    Screenshot of the bottom of a security advisory. A button, labeled "Start a temporary fork" is outlined in dark orange.