{"meta":{"title":"机密扫描检测范围","intro":"机密扫描使用模式匹配和验证来检测机密。 检测因模式对、令牌类型和推送保护设置而异。","product":"安全性和代码质量","breadcrumbs":[{"href":"/zh/code-security","title":"安全性和代码质量"},{"href":"/zh/code-security/reference","title":"Reference"},{"href":"/zh/code-security/reference/secret-security","title":"机密安全性"},{"href":"/zh/code-security/reference/secret-security/secret-scanning-scope","title":"机密扫描范围"}],"documentType":"article"},"body":"# 机密扫描检测范围\n\n机密扫描使用模式匹配和验证来检测机密。 检测因模式对、令牌类型和推送保护设置而异。\n\n## 公共监视范围\n\n为企业启用公共监视后， secret scanning 将检测扩展到企业拥有的存储库之外。 公共监控会扫描 GitHub 上的公开仓库，包括拉取请求评论等非代码内容，以查找与您的企业成员或电子邮件地址与您的企业已验证域名匹配的用户相关联的机密。\n\n公共监视警报显示在企业级安全概述中，位于专用 **公共监视** 页上。 请参阅“[机密扫描的公开监控](/zh/code-security/concepts/secret-security/public-monitoring)”。\n\n## 模式对检测\n\nSecret scanning 如果 ID 和机密位于同一文件中，并且两者都推送到存储库，则仅检测模式对（例如 AWS 访问密钥和机密）。 对匹配有助于减少误报，因为对的两个元素（ID 和机密）必须一起使用才能访问提供商的资源。\n\n推送到不同文件或未推送到同一存储库的对不会导致警报。 有关受支持模式对的详细信息，请参阅 [支持的机密扫描模式](/zh/code-security/reference/secret-security/supported-secret-scanning-patterns) 中的表。\n\n## 关于旧 GitHub 令牌\n\n对于 GitHub 令牌，我们将检查机密的有效性，以确定机密是活动机密还是非活动机密。 这意味着对于旧版令牌，secret scanning将无法检测到 GitHub Enterprise Server 上的 personal access tokenGitHub Enterprise Cloud。 同样，在GitHub Enterprise Cloud上也找不到personal access tokenGitHub Enterprise Server。\n\n## 推送保护限制\n\n如果推送保护未检测到你认为应该检测到的机密，你应首先检查推送保护是否支持受支持机密列表中的机密类型。 有关详细信息，请参阅 [支持的机密扫描模式](/zh/code-security/reference/secret-security/supported-secret-scanning-patterns)。\n\n如果你的机密位于受支持的列表中，则推送保护可能无法检测到它的原因有多种。\n\n* 推送保护仅阻止最可识别的用户警报模式子集上的已泄漏机密。 当此类机密被阻止时，参与者可以信任安全防御，因为这些模式的误报数最少。\n* 机密的版本可能太旧。 推送保护可能不支持某些旧版令牌，因为这些令牌生成的误报数可能高于其最新版本。 推送保护也可能不适用于旧令牌。 对于 Azure 存储密钥等令牌，GitHub 仅支持“最近创建”令牌，不支持与旧模式匹配的令牌。\n* 例如，如果尝试推送数千个大文件，则推送可能过大。 如果推送过大，推送保护扫描可能会超时并且不会阻止用户。\n  GitHub 推送后仍会扫描并创建警报（如果需要）。\n* 如果推送导致检测到五个以上新机密，我们将仅显示前五个机密（我们将始终一次向你显示最多五个机密）。\n* 如果推送包含 1,000 个以上现有机密（即已为其创建了警报的机密），则推送保护不会阻止推送。\n* 如果公共存储库中的推送大于 50 MB，推送保护将跳过它，并且不会扫描它。\n* 如果看到没有提交或文件路径详细信息的绕过请求，则意味着推送保护已超时。 推送的内容过大，或者历史记录过于复杂，导致无法定位引入机密的提交。"}