Skip to main content

评估存储库的安全设置

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

谁可以使用此功能?

Anyone can view a public repository's security settings, and contact the repository maintainers regarding security issues.

关于评估存储库的安全设置

评估公共存储库的安全设置可帮助安全研究人员了解存储库的安全状况。 此信息可帮助你决定是否与存储库维护人员联系,例如通过报告存储库中的漏洞与之联系。

如果存储库是公共存储库,则任何人都可以获得有关存储库安全设置的概要信息。 例如,可以查看存储库是否具有安全策略,以及是否启用了专用漏洞报告。 还可以查看存储库已发布和已关闭的安全公告。 如果没有与存储库关联的安全策略,可以建议一个。 如果存储库启用了专用漏洞报告,则可以直接向存储库维护人员私下报告安全漏洞。

如果具有存储库的管理员权限,而存储库归组织所有,则可以通过安全概述查看有关存储库安全设置的更多详细信息。 有关安全概述的详细信息,请参阅 GitHub Enterprise Cloud 文档中的“关于安全概述"

如果存储库是专用存储库,则只有拥有存储库的管理员权限或已被授予涵盖存储库的特殊安全权限(例如组织范围内的安全经理这一身份)时,才能看到安全设置。

若要大规模评估存储库的安全状况,可以使用 API 来检查存储库是否启用了某些安全设置,例如专用漏洞报告。 有关详细信息,请参阅“存储库的 REST API 终结点”。

为存储库建议安全策略

如果没有公共存储库的管理员或安全权限,仍可以向存储库维护人员建议一个安全策略(如果尚不存在)。 然后,存储库维护人员可以选择接受或拒绝你的建议。 如果存储库维护人员接受你的建议,该安全策略将与存储库相关联。

  1. 在 GitHub 上,导航到存储库的主页面。
  2. 在存储库名称下,单击“ 安全性”。 如果看不到“安全性”选项卡,请选择 下拉菜单并单击“安全性” 。
    存储库标头的屏幕截图,其中显示了选项卡。 “安全性”选项卡以深橙色边框突出显示。
  3. 如果存储库具有安全策略,则会显示该策略。 如果没有与存储库关联的安全策略,请单击“建议策略”。
  4. 存储库的默认分支中会创建 SECURITY.md 文件。 该文件将包含安全策略的模板。 可以编辑该文件,以添加建议的安全策略。
  5. 完成后,单击“提交更改”。
  6. 填写“提交更改”对话框。
    • 在“提交消息”下,输入提交消息。
    • (可选)在“扩展说明”下,描述所进行的更改。
    • 选择“为此提交创建新分支并启动拉取请求”
    • 单击“提交更改”。
  7. 单击“创建拉取请求”****。
  8. (可选)留下评论。
  9. 单击“创建拉取请求”****。

报告存储库中的漏洞

如果没有公共存储库的管理员或安全权限,在启用了专用漏洞报告的情况下,仍可以私下向存储库维护人员报告安全漏洞。 然后,存储库维护人员可以选择接受或拒绝你的报告。 如果存储库维护人员接受你的报告,则会为存储库创建安全公告。

注意:如果存储库未启用私下漏洞报告,则需要按照存储库的安全策略中的说明启动报告过程,或者创建问题,让维护人员提供首选的安全联系人。 有关详细信息,请参阅“关于安全漏洞的协调披露”。

  1. 在 GitHub 上,导航到存储库的主页面。

  2. 在存储库名称下,单击“ 安全性”。 如果看不到“安全性”选项卡,请选择 下拉菜单并单击“安全性” 。

    存储库标头的屏幕截图,其中显示了选项卡。 “安全性”选项卡以深橙色边框突出显示。

  3. 单击“报告漏洞”可打开咨询表单。

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

    提示:在此表单中,只有标题和说明是必填的。 (在存储库维护人员启动的一般安全咨询表单草稿中,还需要指定生态系统。)但是,建议安全研究人员在表单上提供尽可能多的信息,以便维护人员可以就提交的报告做出明智的决定。 可以采用我们的安全研究人员使用的来自 GitHub Security Lab 的模板,此模板可以在“github/securitylab 存储库”上获取。

    有关可用字段的详细信息和填写表单的指导,请参阅“创建存储库安全公告”和“编写存储库安全公告的最佳做法”。

  5. 在表单底部,单击“提交报告”。 GitHub 将显示一条消息,告知你已通知维护人员,并且你拥有此安全公告的待处理额度。

    提示:提交报告后,GitHub 会自动将漏洞报告者添加为协作者,并在建议的公告中作为信用用户添加。

  6. (可选)如果要开始修复问题,单击“启动临时专用分支”。 请注意,只有存储库维护者才能将来自该专用分支的更改合并到父存储库中。

    安全公告底部的屏幕截图。 标记为“启动临时分支”的按钮以深橙色标出。