简介
本指南向您展示如何配置仓库的安全功能。
您的安全需求是仓库独有的,因此您可能不需要启用仓库的每个功能。 有关详细信息,请参阅“GitHub 安全功能”。
某些功能可用于 所有计划中的存储库。 使用 GitHub Secret Protection, GitHub Code Security, or GitHub Advanced Security 的组织和企业还可使用其他功能。 GitHub Advanced Security 功能也针对 GitHub 上的所有公共仓库中启用。 有关详细信息,请参阅“关于GitHub高级安全性”。
管理对仓库的访问
保护存储库的第一步是建立谁可以查看和修改你的代码。 有关详细信息,请参阅“管理存储库的设置和功能”。
从存储库的主页中,单击“ Settings”,然后向下滚动到“Danger Zone”****。
- 若要更改可以查看存储库的人员,请单击更改可见性。 有关详细信息,请参阅“设置存储库可见性”。
- 若要更改可以访问存储库并调整权限的人员,请单击管理访问权限。 有关详细信息,请参阅“管理有权访问存储库的团队和人员”。
管理依赖关系图
存储库管理员可以启用或禁用存储库的依赖关系图。 依赖项关系图解释存储库中的清单和锁定文件来标识依赖项。
- 从存储库的主页中,单击“ Settings”****。
- 单击“Advanced Security”****。
- 在依赖项关系图旁边,单击启用或禁用。
有关详细信息,请参阅“探索仓库的依赖项”。
管理 Dependabot alerts
当 GitHub 在依赖关系图中标识具有漏洞的依赖项时,将生成 Dependabot alerts 。 您可以为任何存储库启用 Dependabot alerts。
有关 Dependabot 提供的不同功能的概述以及如何入门的说明,请参阅“Dependabot 快速入门指南”。
- 单击你的个人资料照片,然后单击“Settings”****。
- 单击“Advanced Security”****。
- 单击 Dependabot alerts 旁边的“Enable”****。
有关详细信息,请参阅 关于 Dependabot 警报 和 管理安全和分析功能。
管理依赖项审查
依赖项审查可让您在合并到仓库之前在拉取请求中显示依赖关系的变化。 有关详细信息,请参阅“关于依赖项评审”。
依赖项评审是一项 GitHub Code Security 功能。 所有启用了依赖项关系图的存储库都启用了依赖关系评审。 使用启用了 GitHub Code Security 的 GitHub Team 或 GitHub Enterprise Cloud 的组织还可以为专用和内部仓库启用依赖项评审。
若要为存储库启用依赖项评审,请确保启用依赖项关系图。
- 从存储库的主页中,单击“ Settings”****。
- 单击“Advanced Security”****。
- 在 Code Security 右侧,单击“Enable”****。
- 在 Code Security 下,检查是否为仓库启用了依赖项关系图。
管理 Dependabot security updates
对于任何使用 Dependabot alerts 的仓库,您可以启用 Dependabot security updates 在检测到漏洞时提出带有安全更新的拉取请求。
- 从存储库的主页中,单击“ Settings”****。
- 单击“Advanced Security”****。
- 在 Dependabot security updates 旁边,单击启用。
有关详细信息,请参阅 关于 Dependabot 安全更新 和 配置 Dependabot 安全更新。
管理 Dependabot version updates
您可以让 Dependabot 自动提出拉取请求以保持依赖项的更新。 有关详细信息,请参阅“关于 Dependabot 版本更新”。
- 从存储库的主页中,单击“ Settings”****。
- 单击“Advanced Security”****。
- 在 Dependabot version updates
旁,单击启用以创建基本
dependabot.yml配置文件。 - 指定要更新的依赖项和任何关联的配置选项,并将文件提交到存储库。 有关详细信息,请参阅“配置 Dependabot 版本更新”。
配置 Code Security
注意
Code Security 功能适用于所有公共仓库,以及属于使用 GitHub Code Security 或 GitHub Advanced Security 的团队或企业的组织所拥有的专用仓库。
GitHub Code Security 包括 code scanning、CodeQL CLI 和 Copilot自动修复 以及其他在代码库中查找和修复漏洞的功能。
可以配置 code scanning 使用 CodeQL 分析工作流程 或第三方工具自动识别存储库中存储的代码中的漏洞和错误。 根据仓库中的编程语言,可使用默认设置配置 CodeQL 的 code scanning,其中 GitHub 将自动确定要扫描的语言、要运行的查询套件以及将触发新扫描的事件。 有关详细信息,请参阅“配置代码扫描的默认设置”。
- 从存储库的主页中,单击“ Settings”****。
- 在边栏的“Security”部分,单击“ Advanced Security”****。
- 如果尚未启用“Code Security”或“GitHub Advanced Security”,请单击“Enable”****。
- 在“CodeQL analysis”的右侧,选择“Set up”,然后单击“Default”。
- 在显示的弹出窗口中,查看仓库的默认配置设置,然后单击“Enable CodeQL”****。
- 选择是否要启用添加功能,例如 Copilot自动修复。
作为默认设置的替代方案,可以使用高级设置,这会生成一个可编辑的工作流文件,以自定义 CodeQL 的 code scanning。 有关详细信息,请参阅“配置代码扫描的高级设置”。
配置 Secret Protection
注意
Secret Protection 功能适用于所有公共仓库,以及属于使用 GitHub Secret Protection 或 GitHub Advanced Security 的团队或企业的组织所拥有的专用仓库。
GitHub Secret Protection 包括 secret scanning 和推送保护以及其他可帮助在仓库中检测和防止机密泄露的功能。
- 从存储库的主页中,单击“ Settings”****。
- 单击“Advanced Security”****。
- 如果尚未启用“Secret Protection”或“GitHub Advanced Security”,请单击Enable。
- 如果显示“Secret scanning”选项,请单击Enable。
- 选择是否要启用其他功能,例如扫描非提供商模式和推送保护。
设置安全策略
如果你是存储库维护者,最好通过在存储库中创建名为 SECURITY.md 的文件来为存储库指定安全策略。 此文件指示用户在想要报告存储库中的安全漏洞时,如何最好地联系你并与你协作。 可以从存储库的安全选项卡查看存储库的安全策略。
- 从存储库的主页中,单击“ Security”****。
- 在左侧边栏中的“Reporting”下,单击“ Policy”****。
- 单击开始设置。
- 添加关于项目受支持版本以及如何报告漏洞的信息。
有关详细信息,请参阅“将安全策略添加到存储库”。
后续步骤
您可以查看和管理来自安全功能的警报,以解决代码中的依赖项和漏洞。 有关详细信息,请参阅“查看和更新 Dependabot 警报”、“管理依赖项更新的所有拉取请求”、“评估存储库的代码扫描警报”和“管理机密扫描警报”。
此外,还可以使用 GitHub 的工具来审核对安全警报的响应。 有关详细信息,请参阅“审核安全警报”。
如果公共存储库存在安全漏洞,你可以创建安全公告,以私下讨论和修复该漏洞。 有关详细信息,请参阅 关于存储库安全公告 和 创建存储库安全公告。
如果使用 GitHub Actions,则可以使用 GitHub 的安全功能来提高工作流的安全性。 有关详细信息,请参阅“安全使用指南”。