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