跳至主要内容

保护存储库的快速入门

您可以使用许多 GitHub 功能来帮助保护您的存储库安全。

谁可以使用此功能?

存储库所有者、组织所有者、安全管理员和具有 **管理员** 角色的用户

简介

本指南介绍如何为存储库配置安全功能。您必须是存储库管理员或组织所有者才能配置存储库的安全设置。

您的安全需求对您的存储库是唯一的,因此您可能不需要为您的存储库启用每个功能。有关更多信息,请参阅“GitHub 安全功能”。

某些功能可用于所有计划上的存储库。其他功能可用于使用 GitHub 高级安全性的企业。GitHub 高级安全功能也已为 GitHub 上的所有公共存储库启用。有关更多信息,请参阅“关于 GitHub 高级安全”。

管理对存储库的访问

保护存储库的第一步是确定谁可以查看和修改您的代码。有关更多信息,请参阅“管理存储库的设置和功能”。

在存储库的主页上,单击 ** 设置**,然后向下滚动到“危险区域”。

管理依赖关系图

依赖关系图会自动为所有公共存储库生成。您可以选择为分支和私有存储库启用它。依赖关系图解释存储库中的清单和锁定文件以识别依赖关系。

  1. 在您的仓库主页面,点击 ** 设置**。
  2. 点击 **安全与分析**。
  3. 在依赖关系图旁边,点击 **启用** 或 **禁用**。

更多信息,请参阅“探索仓库的依赖关系”。

管理 Dependabot 警报

当 GitHub 在依赖关系图中识别到存在漏洞的依赖项时,会生成 Dependabot 警报。您可以为任何仓库启用 Dependabot 警报。

此外,您可以使用 Dependabot 自动分类规则来大规模管理您的警报,以便您可以自动关闭或延迟警报,并指定您希望 Dependabot 为其打开拉取请求的警报。有关不同类型的自动分类规则以及您的仓库是否符合条件的信息,请参阅“关于 Dependabot 自动分类规则”。

有关 Dependabot 提供的不同功能的概述以及入门说明,请参阅“Dependabot 快速入门指南”。

  1. 点击您的个人资料照片,然后点击 **设置**。
  2. 点击 **安全与分析**。
  3. 在 Dependabot 警报旁边点击 **全部启用**。

更多信息,请参阅“关于 Dependabot 警报”和“管理您个人帐户的安全和分析设置”。

管理依赖项审查

依赖项审查允许您在将更改合并到您的仓库之前,可视化拉取请求中的依赖项更改。更多信息,请参阅“关于依赖项审查”。

依赖项审查是 GitHub 高级安全功能。所有公共仓库都已启用依赖项审查。使用具有高级安全功能的 GitHub Enterprise Cloud 的组织还可以为私有和内部仓库启用依赖项审查。更多信息,请参阅GitHub Enterprise Cloud 文档

管理 Dependabot 安全更新

对于任何使用 Dependabot 警报的仓库,您都可以启用 Dependabot 安全更新,以便在检测到漏洞时,使用安全更新提出拉取请求。

  1. 在您的仓库主页面,点击 **设置**。
  2. 点击 **安全与分析**。
  3. 在 Dependabot 安全更新旁边,点击 **启用**。

更多信息,请参阅“关于 Dependabot 安全更新”和“配置 Dependabot 安全更新”。

管理 Dependabot 版本更新

您可以启用 Dependabot 以自动提出拉取请求,以使您的依赖项保持最新。更多信息,请参阅“关于 Dependabot 版本更新”。

  1. 在您的仓库主页面,点击 ** 设置**。
  2. 点击 **安全与分析**。
  3. 在 Dependabot 版本更新旁边,点击 **启用** 以创建基本的 dependabot.yml 配置文件。
  4. 指定要更新的依赖项和任何关联的配置选项,然后将文件提交到仓库。更多信息,请参阅“配置 Dependabot 版本更新”。

配置代码扫描

注意

代码扫描适用于所有公共仓库,以及由属于具有 GitHub 高级安全许可证的企业的组织拥有的私有仓库。

您可以配置代码扫描以通过使用 CodeQL 分析工作流或第三方工具来自动识别存储在您的仓库中的代码中的漏洞和错误。根据您仓库中的编程语言,您可以使用 CodeQL 配置代码扫描,使用默认设置,其中 GitHub 会自动确定要扫描的语言、要运行的查询套件以及将触发新扫描的事件。更多信息,请参阅“配置代码扫描的默认设置”。

  1. 在您的仓库主页面,点击 设置.
  2. 在侧边栏的“安全”部分,点击 ** 代码安全与分析**。
  3. 在“代码扫描”部分,选择 **设置**,然后点击 **默认**。
  4. 在出现的弹出窗口中,查看仓库的默认配置设置,然后点击 **启用 CodeQL**。

或者,您可以使用高级设置,它会生成一个您可以编辑的工作流文件,以使用 CodeQL 自定义您的代码扫描。更多信息,请参阅“配置代码扫描的高级设置”。

配置密钥扫描

密钥扫描适用于以下仓库

  • 公共仓库(免费)
  • 在使用已启用GitHub 高级安全功能的 GitHub Enterprise Cloud 的组织中的私有和内部仓库
  1. 在您的仓库主页面,点击 **设置**。

  2. 点击 **代码安全与分析**。

  3. 在密钥扫描旁边,点击 **启用**。

设置安全策略

如果您是仓库维护者,建议您通过在仓库中创建名为 SECURITY.md 的文件来为您的仓库指定安全策略。此文件指示用户在希望报告您仓库中的安全漏洞时如何最好地联系您并与您协作。您可以从仓库的 **安全** 选项卡查看仓库的安全策略。

  1. 在仓库的主页面上,点击** 安全**。
  2. 点击**安全策略**。
  3. 点击**开始设置**。
  4. 添加有关项目支持的版本以及如何报告漏洞的信息。

更多信息,请参阅“向你的仓库添加安全策略”。

后续步骤

您可以查看和管理来自安全功能的警报,以解决代码中的依赖项和漏洞。更多信息,请参阅“查看和更新 Dependabot 警报”,“管理依赖项更新的拉取请求”,“评估仓库的代码扫描警报”和“管理来自密钥扫描的警报”。

您还可以使用 GitHub 的工具来审核对安全警报的响应。更多信息,请参阅“审核安全警报”。

如果公共仓库中存在安全漏洞,您可以创建一个安全建议,私下讨论并修复该漏洞。更多信息,请参阅“关于仓库安全建议”和“创建仓库安全建议”。

如果您使用 GitHub Actions,则可以使用 GitHub 的安全功能来提高工作流的安全性。更多信息,请参阅“使用 GitHub 的安全功能来保护您对 GitHub Actions 的使用”。