Skip to main content

保护存储库快速入门

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

谁可以使用此功能?

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

介绍

本指南向您展示如何配置仓库的安全功能。 您必须是仓库管理员或组织所有者才能配置仓库的安全设置。

您的安全需求是仓库独有的,因此您可能不需要启用仓库的每个功能。 有关详细信息,请参阅“GitHub 安全功能”。

某些功能可用于 所有计划中的存储库。 使用 GitHub Advanced Security 的企业可以使用其他功能。 GitHub Advanced Security 功能也针对 GitHub 上的所有公共存储库启用。 有关详细信息,请参阅“关于 GitHub 高级安全性”。

管理对仓库的访问

保护存储库的第一步是建立谁可以查看和修改你的代码。 有关详细信息,请参阅“管理存储库的设置和功能”。

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

管理依赖关系图

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

  1. 从存储库的主页中,单击“ 设置”。
  2. 单击“安全性和分析”。
  3. 在依赖项关系图旁边,单击“启用”或“禁用” 。

有关详细信息,请参阅“探索仓库的依赖项”。

管理 Dependabot alerts

当 GitHub 在依赖关系图中标识具有漏洞的依赖项时,将生成 Dependabot alerts 。 您可以为任何存储库启用 Dependabot alerts。

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

  1. 单击你的个人资料照片,然后单击“设置”。
  2. 单击“安全性和分析”。
  3. 单击 Dependabot alerts 旁边的“全部启用”。

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

管理依赖项审查

依赖项审查可让您在合并到仓库之前在拉取请求中显示依赖关系的变化。 有关详细信息,请参阅“关于依赖项评审”。

依赖项审查是一项 GitHub Advanced Security 功能。 已为所有公共存储库启用了依赖项审查。 要为 私有或内部 存储库启用依赖项审查,请确保已启用依赖项关系图并启用 GitHub Advanced Security。

  1. 从存储库的主页中,单击“设置”。
  2. 单击“安全性和分析”。
  3. 如果尚未启用依赖项关系图,请单击“启用”。
  4. 如果尚未启用 GitHub Advanced Security,请单击“启用”。

管理 Dependabot security updates

对于任何使用 Dependabot alerts 的仓库,您可以启用 Dependabot security updates 在检测到漏洞时提出带有安全更新的拉取请求。

  1. 从存储库的主页中,单击“设置”。
  2. 单击“安全性和分析”。
  3. 在 Dependabot security updates 旁边,单击“启用”。

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

管理 Dependabot version updates

您可以让 Dependabot 自动提出拉取请求以保持依赖项的更新。 有关详细信息,请参阅“关于 Dependabot 版本更新”。

  1. 从存储库的主页中,单击“ 设置”。
  2. 单击“安全性和分析”。
  3. 在 Dependabot version updates 旁,单击“启用”以创建基本 dependabot.yml 配置文件。****
  4. 指定要更新的依赖项和任何关联的配置选项,并将文件提交到存储库。 有关详细信息,请参阅“配置 Dependabot 版本更新”。

配置 code scanning

Note

Code scanning 适用于所有公共存储库,以及属于具有许可证的企业一部分的组织所拥有的私有存储库GitHub Advanced Security)。

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

  1. 从存储库的主页中,单击“ 设置”。
  2. 在边栏的“安全性”部分中,单击“ 代码安全性和分析”。
  3. 在“Code scanning”部分中,选择“设置”,然后单击“默认” 。
  4. 在显示的弹出窗口中,查看存储库的默认配置设置,然后单击“启用 CodeQL”。

或者,可以使用高级设置,这会生成一个可编辑的工作流文件,以使用 CodeQL 自定义 code scanning。 有关详细信息,请参阅“配置代码扫描的高级设置”。

配置 secret scanning

Secret scanning 可用于以下存储库:

  • 公共存储库(免费)
  • 使用启用了 GitHub Advanced Security 的 GitHub Enterprise Cloud 的组织中的专用存储库和内部存储库
  • GitHub Enterprise Cloud 的用户拥有的存储库,包含 Enterprise Managed Users
  1. 从存储库的主页中,单击“设置”。

  2. 单击“代码安全和分析”。

  3. 如果尚未启用 GitHub Advanced Security,请单击“启用”。

  4. 在 Secret scanning 旁边,单击“启用”。

设置安全策略

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

  1. 从存储库的主页中,单击“ 安全性”。
  2. 单击“安全策略”。
  3. 单击“开始设置”。
  4. 添加关于项目受支持版本以及如何报告漏洞的信息。

有关详细信息,请参阅“将安全策略添加到存储库”。

后续步骤

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

此外,还可以使用 GitHub 的工具来审核对安全警报的响应。 有关详细信息,请参阅“审核安全警报”。

如果公共存储库存在安全漏洞,你可以创建安全公告,以私下讨论和修复该漏洞。 有关详细信息,请参阅“关于存储库安全公告”和“创建存储库安全公告”。

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