Skip to main content

关于机密扫描

通过在利用机密之前自动检测公开的凭据,防止机密的欺诈性使用。

将 API 密钥和密码等凭据提交到存储库时,它们将成为未经授权的访问的目标。 Secret scanning 会自动检测这些暴露的机密,以便你在其被利用前加以保护。

提示

随时可以针对泄露的机密运行对组织代码的免费评估。

要生成报告,请打开 在组织的“ Security”选项卡中,显示“ Assessments”页面,然后��击“Scan your organization”************。

密钥扫描如何保护您的代码

Secret scanning 会扫描存储库所有分支上的完整 Git 历史记录,查找 API 密钥、密码、令牌和其他已知机密类型。 当添加新的机密类型时,GitHub 还会定期重新扫描存储库。

GitHub 也会自动扫描:

  • 问题中的说明和注释
  • 标题、描述和评论,在开放和关闭的_历史_问题中
  • 拉取请求中的标题、描述和评论
  • GitHub Discussions 中的标题、说明和评论
  • Wiki
  • 私密代码片段

Secret scanning 警报与修复

当 secret scanning 发现潜在机密时,GitHub 会在存储库的“安全”**** 选项卡上生成警报,并提供有关暴露凭据的详细信息。

查看警报并立即轮换受影响的凭据,以确保不再使用它。 虽然还可以从 Git 历史记录中删除机密,但如果你已经撤销了凭据,这很耗时,而且通常不必要。

合作伙伴整合

GitHub 与众多服务提供商合作,以验证检测到的机密。 当检测到合作伙伴机密时,我们会通知服务提供商,让他们采取行动,例如撤销凭据。 合作伙伴机密将直接报告给提供程序,不会显示在存储库警报中。 有关详细信息,请参阅“密码扫描合作伙伴计划”。

可自定义性

除了默认检测合作伙伴和提供商的机密外,你还可以扩展和自定义 secret scanning 以满足自身需求。

  •         **非供应者模式。** 将检测扩展到未绑定到特定服务提供商的机密,例如私钥、连接字符串和通用 API 密钥。
    
  •         **自定义模式。** 定义自己的正则表达式,以检测默认模式未涵盖的组织特定机密。
    
  •         **有效性检查。** 通过检查检测到的机密是否仍然处于活动状态来确定修正的优先级。
    
  •         **Copilot 机密扫描。** 使用 AI 检测非结构化机密(如密码)或为自定义模式生成正则表达式。
    

如何访问此功能?

Secret scanning 可用于以下存储库类型:

  •         **公共存储库**:Secret scanning 自动且免费地运行。
    
  •           **组织拥有的私有和内部存储库**:在 GitHub Team 或 GitHub Enterprise Cloud 上启用 [GitHub Secret Protection](/get-started/learning-about-github/about-github-advanced-security) 后可用。
    
  •         **用户拥有的存储库**:在 GitHub Enterprise Cloud 上可用,配合 Enterprise Managed Users。 当企业启用了 [GitHub Secret Protection](/get-started/learning-about-github/about-github-advanced-security) 时,可在 GitHub Enterprise Server 上使用。
    

后续步骤

  •         **如果收到警报**,请参阅 [AUTOTITLE](/code-security/secret-scanning/managing-alerts-from-secret-scanning) ,了解如何查看、解决和修正公开的机密。
    
  •         **如果要保护组织**,请参阅 [AUTOTITLE](/code-security/how-tos/secure-at-scale/configure-organization-security/configure-specific-tools/assess-your-secret-risk) 来确定组织的机密泄露情况。
    

延伸阅读