GitHub在10月13日的官方博客中介绍了一款专门为密钥扫描训练的上下文感知分类器。该分类器用于区分真实凭据与外观相似的字符串,其效率提升使GitHub得以将通用密钥检测扩展至推送保护,在推送被接受前返回检测结果。
难点在于,通用密钥未必具有明确的格式特征。GitHub解释,结构化凭据通常带有特定前缀、长度、字符集或校验和;通用密钥的形式却可能与构建标识符、校验和、资源哈希及示例值重叠。同一字符串可能是真实凭据,也可能只是文档占位符,周围的代码和文本因此成为判断依据。
GitHub公布的对比数据显示,相较此前基于大语言模型的流程,新流程的推送后扫描执行时间中位数降低86%,按所有者加权的告警精确度指标提高11.5%。在服务成本方面,紧凑模型相较远程大语言模型调用降低98%。这些数字对应不同指标,不能合并理解为整体检测能力的提升幅度。
这项变化涉及密钥扫描的两个环节:推送保护在推送被接受前扫描变更,让开发者有机会处理发现的问题;推送后扫描则在代码提交后持续检查仓库内容,发现潜在密钥时生成告警,供开发者和安全团队调查、修复。此次扩展把通用密钥检测带到了前一个环节,而不只是在代码提交后发出告警。
原始来源:GitHub’s model for secret detection: Finding more secrets with less noise
