Skip to main content

保护存储库快速入门

管理对你的代码的访问。 自动查找和修复易受攻击的代码和依赖项。

谁可以使用此功能?

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

简介

本指南向您展示如何配置仓库的安全功能。

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

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

管理对仓库的访问

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

从仓库的主页中,单击“ Settings”,然后向下滚动到“Danger Zone”****。

管理依赖关系图

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

  1. 从存储库的主页中,单击“ 设置”。
  2. 单击“Advanced Security”****。
  3. 在依赖项关系图旁边,单击“启用”或“禁用” 。

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

管理 Dependabot alerts

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

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

  1. 单击你的个人资料照片,然后单击“设置”。
  2. 单击“Advanced Security”****。
  3. 单击 Dependabot alerts 旁边的“Enable”****。

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

管理依赖项审查

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

依赖项评审是一项 GitHub Code Security 功能。 已为所有公共存储库启用了依赖项审查。 使用启用了 GitHub Code Security 的 GitHub Team 或 GitHub Enterprise Cloud 的组织还可以为专用和内部仓库启用依赖项评审。

若要为仓库启用依赖项评审,请确保已启用依赖项关系图并启用 GitHub Code Security。

  1. 从存储库的主页中,单击“ 设置”。
  2. 单击“Advanced Security”****。
  3. 在 Code Security 右侧,单击“Enable”****。
  4. 在 Code Security 下,检查是否为仓库启用了依赖项关系图。
    • 对于公共仓库,始终启用依赖项关系图。

管理 Dependabot security updates

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

  1. 从存储库的主页中,单击“ 设置”。
  2. 单击“Advanced Security”****。
  3. 在 Dependabot security updates 旁边,单击“启用”。

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

管理 Dependabot version updates

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

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

配置 Code Security

Note

Code Security 功能适用于所有公共仓库,以及使用 GitHub Code Security 的团队或企业中的组织所拥有的专用仓库。

GitHub Code Security 包括 code scanning、CodeQL CLI 和 Copilot Autofix 以及其他在代码库中查找和修复漏洞的功能。

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

  1. 从存储库的主页中,单击“ 设置”。
  2. 在边栏的“Security”部分,单击“ Advanced Security”****。
  3. 如果尚未单击“Code Security”,请单击“Enable”****。
  4. 在“Code Security”下的“CodeQL analysis”右侧,选择“Set up”,然后单击“Default”********。
  5. 在显示的弹出窗口中,查看仓库的默认配置设置,然后单击“Enable CodeQL”****。
  6. 选择是否要启用添加功能,例如 Copilot Autofix。

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

配置 Secret Protection

Note

Secret Protection 功能适用于 所有公共仓库,以及使用 GitHub Secret Protection 的团队或企业中的组织所拥有的专用仓库。

GitHub Secret Protection 包括 secret scanning 和推送保护以及其他可帮助在仓库中检测和防止机密泄露的功能。

  1. 从存储库的主页中,单击“ 设置”。
  2. 单击“Advanced Security”****。
  3. 如果尚未启用 Secret Protection,请单击“Enable”****。
  4. 选择是否要启用其他功能,例如有效性检查、扫描非提供商模式和推送保护。

设置安全策略

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

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

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

后续步骤

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

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

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

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