如果您曾经在大量密钥扫描警报中艰难筛选,想知道"这些警报中哪些是当前真正危险的?"——那么这个增强功能正是为您准备的。
GitHub Advanced Security for Azure DevOps(以及独立的密钥保护体验)中的密钥有效性检查为每个警报添加了一个高信号字段:活跃(仍可使用)或未知(无法验证)。
现在,您无需将每个警报都视为重大紧急事件,而是可以快速处理真正有风险的密钥,减少在无效警报上花费的时间。
TL;DR
| 状态 | 实际含义 | 首要处理方式 |
|---|---|---|
| 活跃 | 该凭据当前仍然有效 | 立即修复 |
| 未知 | 无法验证(无活动、不支持、提供商问题、限制、网络) | 视为可能活跃;如果是敏感密钥则重试或轮换 |
为什么这很重要
传统密钥扫描: 发现内容 → 发出警报 → 您进行调查 → 有时发现密钥数月前已撤销 → 浪费周期
密钥扫描 + 有效性检查: 发现内容 → 自动查询提供商 → 您知道密钥是否仍然有效
此功能不会为您撤销密钥——它改进了优先级排序。您可以将时间花在"活跃"密钥上,而不是过时的密钥上。
工作原理
- 密钥扫描检测到与支持的合作伙伴/提供商模式匹配的字符串
- 平台安全地查询提供商以确认凭据是否仍然有效
- 您获得状态:活跃或未知
- 修复后,您可以触发按需验证以确认密钥不再活跃
支持的提供商模式在此处列出(请收藏;它将不断更新)。如果模式不受支持,警报可能保持未知状态——这是预期的。
开始之前
确保:
- 为项目/存储库启用了 GitHub Advanced Security for Azure DevOps(或在独立体验中启用了密钥保护)
- 密钥扫描已开启(有效性检查是增强功能,不是独立功能)
满足这些条件后,有效性检查就会开始对新检测到的受支持密钥类型生效。无需额外切换,无需 YAML 配置。
典型工作流程
-
筛选活跃密钥
- 使用列表筛选器仅显示活跃结果
-
处理活跃警报
- 打开活跃警报并查看上次验证时间
- 按照推荐的修复步骤进行操作,包括轮换/撤销和代码移除
-
运行按需验证
- 点击"验证密钥"
- 等待几分钟,验证已更新
-
清理未知密钥
- 策略:稍后重试验证,或者如果是高权限或高影响则视为活跃处理
-
关闭警报
- 根据您的策略,在修复 + 验证(如果适用)完成后关闭警报
处理"未知"状态
未知 ≠ 安全。通过三个快速问题对未知密钥进行分类:
- 潜在影响范围是什么?(生产基础设施 vs 内部沙箱)
- 它保护的数据有多敏感?
- 轮换成本是多少?(容易轮换?那就执行)
如果 2+ 个因素倾向于"有风险",就像处理活跃密钥一样进行修复。
常见问题速览
这会自动撤销密钥吗? 不会。它用于通知优先级排序;修复是手动的(或通过您的自动化)。
所有密钥类型都支持验证吗? 随着时间的推移,更多合作伙伴将加入——请关注支持的模式列表。
最终行动号召
- 确认密钥扫描已启用
- 今天就开始筛选活跃密钥
- 使用内置的建议和修复功能
- 运行按需验证以确认修复
- 跟踪您消除活跃凭据的速度,然后在此基础上改进
减少无效警报,获得更多实际成果。 祝您狩猎愉快。
附录:参考链接
- 深入了解密钥扫描
- 支持验证的提供商模式
- 配置 GitHub Advanced Security for Azure DevOps 功能 - Azure Repos | Microsoft Learn
- 想了解最新动态?我们的发布说明中有重点内容