关于警报类型
密钥扫描警报共有三种类型
- **用户警报**: 当在代码库中检测到受支持的密钥时,会向 **安全** 选项卡中的用户报告。
- **推送保护警报**: 当贡献者绕过推送保护时,会向 **安全** 选项卡中的用户报告。
- **合作伙伴警报**: 直接向参与密钥扫描合作伙伴计划的密钥提供商报告。这些警报不会在代码库的 **安全** 选项卡中报告。
关于用户警报
当 GitHub 检测到已启用密钥扫描的代码库中存在受支持的密钥时,会生成用户警报并在代码库的 **安全** 选项卡中显示。
如果访问资源需要配对凭据,则密钥扫描只有在同一文件中检测到配对的两部分时才会创建警报。这确保了最严重的泄漏不会隐藏在关于部分泄漏的信息后面。配对匹配还有助于减少误报,因为必须同时使用配对的两个元素才能访问提供商的资源。
关于推送保护警报
推送保护会扫描推送的受支持密钥。如果推送保护检测到受支持的密钥,它将阻止推送。当贡献者绕过推送保护将密钥推送到代码库时,会生成推送保护警报并在代码库的 **安全** 选项卡中显示。要查看代码库的所有推送保护警报,必须在警报页面上按 `bypassed: true` 进行筛选。有关更多信息,请参阅“查看和筛选密钥扫描警报”。
如果访问资源需要配对凭据,则密钥扫描只有在同一文件中检测到配对的两部分时才会创建警报。这确保了最严重的泄漏不会隐藏在关于部分泄漏的信息后面。配对匹配还有助于减少误报,因为必须同时使用配对的两个元素才能访问提供商的资源。
注意
您还可以为您的个人帐户启用推送保护,称为“用户的推送保护”,这可以防止您意外地将受支持的密钥推送到任何公共代码库。如果您选择仅绕过基于用户的推送保护,则不会创建警报。只有当代码库本身启用了推送保护时,才会创建警报。有关更多信息,请参阅“用户的推送保护”。
某些令牌的旧版本可能不受推送保护的支持,因为这些令牌产生的误报数量可能高于其最新版本。推送保护可能也不适用于旧版令牌。对于 Azure 存储密钥等令牌,GitHub 只支持最近创建的令牌,而不支持与旧模式匹配的令牌。有关推送保护限制的更多信息,请参阅“秘密扫描疑难解答”。
关于合作伙伴警报
当 GitHub 在公共仓库或 npm 包中检测到泄露的密钥时,如果密钥提供商参与了 GitHub 的秘密扫描合作伙伴计划,则会直接向其发送警报。有关合作伙伴秘密扫描警报的更多信息,请参阅“秘密扫描合作伙伴计划”和“受支持的秘密扫描模式”。
不会向代码库管理员发送合作伙伴警报,因此您无需针对此类警报采取任何措施。