关于 GitHub 的安全功能
GitHub 的安全功能有助于确保存储库和组织中的代码和机密的安全。
- 某些功能适用于所有 GitHub 计划。
- 其他功能适用于购买了 GitHub Advanced Security 产品并使用 GitHub Team 和 GitHub Enterprise Cloud 的组织和企业:
- 此外,许多 GitHub Secret Protection 和 GitHub Code Security 功能可以免费在公共存储库上运行。
适用于所有 GitHub 计划
无论是否使用 GitHub 计划,都可以使用以下安全功能。 无需购买 GitHub Secret Protection or GitHub Code Security 即可使用这些功能。
其中大多数功能都适用于公共存储库、内部存储库、和专用存储库。 某些功能仅适用于公共存储库__。
安全策略
让您的用户能够轻松地秘密报告他们在仓库中发现的安全漏洞。 有关详细信息,请参阅“将安全策略添加到存储库”。
依赖关系图
依赖关系图允许您探索仓库所依赖的生态系统和包,以及依赖于您的仓库的仓库和包。
你可以在存储库的“见解”选项卡上找到依赖项关系图。 有关详细信息,请参阅“关于依赖关系图”。
软件材料帐单 (SBOM)
可以将存储库的依赖项关系图导出为与 SPDX 兼容的软件材料清单 (SBOM)。 有关详细信息,请参阅“导出存储库的软件物料清单”。
GitHub Advisory Database
GitHub Advisory Database 包含您可以查看、搜索和过滤的安全漏洞列表。 有关详细信息,请参阅“在 GitHub Advisory Database 中浏览安全公告”。
Dependabot alerts 和安全更新
查看有关已知包含安全漏洞的依赖项的警报,并选择是否自动生成拉取请求以更新这些依赖项。 有关详细信息,请参阅 关于 Dependabot 警报 和 关于 Dependabot 安全更新。
还可以使用由 GitHub 策展的默认 Dependabot 自动分类规则 自动筛选掉大量误报。
有关 Dependabot 提供的不同功能的概述以及如何入门的说明,请参阅“Dependabot 快速入门指南”。
Dependabot version updates
使用 Dependabot 自动提出拉取请求以保持依赖项的更新。 这有助于减少您暴露于旧版本依赖项。 如果发现安全漏洞,使用更新后的版本就更容易打补丁,Dependabot security updates 也更容易成功地提出拉取请求以升级有漏洞的依赖项。 还可以自定义 Dependabot version updates 以简化其在存储库中的集成。 有关详细信息,请参阅“关于 Dependabot 版本更新”。
安全通知
私下讨论并修复公共存储库代码中的安全漏洞。 然后,您可以发布安全通告,提醒您的社区注意漏洞并鼓励社区成员升级。 有关详细信息,请参阅“关于存储库安全公告”。
存储库规则集
跨分支和标记强制实施一致的代码标准、安全性和合规性。 有关详细信息,请参阅“关于规则集”。
项目证明
为自己构建的软件创建不可伪造的来源和完整性保证。 有关详细信息,请参阅“使用项目证明确立生成的来源”。
合作伙伴的机密扫描警报
当 GitHub 检测到公共存储库或公共 npm 包中有泄露的机密时,GitHub 会通知相关服务提供商机密可能已泄露。 有关支持的机密和服务提供商的详细信息,请参阅 支持的机密扫描模式。
用户的推送保护
无论存储库本身是否启用了 secret scanning,用户的推送保护都会自动防止意外将机密提交到公共存储库。 默认情况下,用户的推送保护处于开启状态,但可以随时通过个人帐户设置禁用该功能。 有关详细信息,请参阅“用户的推送保护”。
适用于 GitHub Secret Protection
对于 GitHub Team 和 GitHub Enterprise Cloud 上的帐户,可以在购买 GitHub Secret Protection 时访问其他安全功能****。
GitHub Secret Protection 包括可帮助你检测和防止机密泄露的功能,例如 secret scanning 和推送保护。
这些功能适用于所有存储库类型。 其中一些功能免费用于公共存储库,这意味着无需购买 GitHub Secret Protection 即可在公共存储库上启用该功能。
用户的机密扫描警报
自动检测已签入存储库的令牌或凭据。 可在存储库的“Security”选项卡中查看 GitHub 在代码中发现的任何机密的警报,以便知道将哪些令牌或凭据视为已泄露****。 有关详细信息,请参阅“关于机密扫描警报”。
默认情况下可用于公共存储库。
Copilot 机密扫描
Copilot 机密扫描 的通用机密检测是 AI 支持的 secret scanning 扩展,用于标识源代码中的非结构化机密(密码),然后生成警报。 有关详细信息,请参阅“使用 Copilot 机密扫描负责任地检测通用机密”。
推送保护
推送保护可主动扫描代码以及任何存储库参与者的代码,以检查推送过程中是否涉及机密,并在检测到任何机密时阻止推送。 如果参与者绕过此块,GitHub 将创建警报。 有关详细信息,请参阅“关于推送保护”。
默认情况下可用于公共存储库。
推送保护委派绕过
通过对推送保护进行委派绕过,你可以控制哪些个人、角色和团队可以绕过推送保护,并实现包含机密的推送的评审和审批周期。 有关详细信息,请参阅“关于推送保护委派绕过”。
自定义模式
可以定义自定义模式来标识 secret scanning 支持的默认模式未检测到的机密,例如组织内部的模式。 有关详细信息,请参阅“为机密扫描定义自定义模式”。
安全概述
通过安全概述,可以查看组织的整体安全环境、查看趋势和其他见解以及管理安全配置,从而轻松监视组织的安全状况并确定风险最大的存储库和组织。 有关详细信息,请参阅“关于安全概述”。
适用于 GitHub Code Security
对于 GitHub Team 和 GitHub Enterprise Cloud 上的帐户,可以在购买 GitHub Code Security 时访问其他安全功能****。
GitHub Code Security 包括有助于查找和修复漏洞的功能,例如 code scanning、高级 Dependabot 功能和依赖项评审。
这些功能适用于所有存储库类型。 其中一些功能免费用于公共存储库,这意味着无需购买 GitHub Code Security 即可在公共存储库上启用该功能。
Code scanning
自动检测新代码或修改代码中的安全漏洞和编码错误。 潜在的问题被高亮显示,并附有详细信息,允许您在将代码合并到默认分支之前修复它。 有关详细信息,请参阅“关于代码扫描”。
默认情况下可用于公共存储库。
CodeQL CLI
对软件项目本地运行 CodeQL 进程,或生成 code scanning 结果以上传到 GitHub。 有关详细信息,请参阅“关于 CodeQL CLI”。
默认情况下可用于公共存储库。
Copilot Autofix
为 code scanning 警报获取自动生成的修复。 有关详细信息,请参阅“负责使用 Copilot Autofix 进行代码扫描”。
默认情况下可用于公共存储库。
Dependabot 的 自定义自动分类规则
帮助你大规模管理 Dependabot alerts 通过 自定义自动分类规则,可以控制要忽略、暂停或触发 Dependabot 安全更新的警报。 有关详细信息,请参阅 关于 Dependabot 警报 和 自定义自动分类规则以确定 Dependabot 警报的优先级。
依赖项检查
在合并拉取请求之前显示依赖项更改的全部影响以及任何有漏洞版本的详情。 有关详细信息,请参阅“关于依赖项评审”。
默认情况下可用于公共存储库。
安全性活动
通过创建安全性活动并与开发人员协作来大规模修复安全性警报,以减少安全性积压工作。 有关详细信息,请参阅“关于安全性活动”。
安全概述
通过安全概述,可以查看组织的整体安全环境、查看趋势和其他见解以及管理安全配置,从而轻松监视组织的安全状况并确定风险最大的存储库和组织。 有关详细信息,请参阅“关于安全概述”。
利用 GitHub Copilot Chat 了解安全性警报
使用 GitHub Copilot Enterprise 许可证,还可以向 GitHub Copilot Chat 寻求帮助,以更好地了解组织的存储库中来自 GitHub Advanced Security 功能的安全警报(code scanning、secret scanning 和 Dependabot alerts)。 有关详细信息,请参阅“在 GitHub 中向 GitHub Copilot 提问”。