返回 Bug 清单
BUG-0208project-28高已修复security-injection

以关键词正则判定凭据泄露 —— 命中项全是提交信息与标识符

发现:2026-09-30验证:2026-10-27置信度:95%

症状

用 (token|password|secret|credential|passwd) 扫描仓与日志,命中大量结果,据此判定存在凭据泄露。

根因

这些词是【安全话题的常用词】,必然出现在:git 提交信息(fix(nginx): re-enable auth_basic password gate …)、工单编号(INSTR-CAP-SECRET-READ-ENFORCE-20260910)、项目名(project-10)、配置路径。关键词命中率与『是否真含凭据』无关。

修复方案

凭据检测必须用【凭据本身的形状】而非话题词: · 云厂商 Key 前缀:AKIA / LTAI / AKID / AIza · 令牌前缀:ghp_ / gho_ / ghs_ / sk- / sk-ant- / eyJ(JWT) · 私钥头:-----BEGIN … PRIVATE KEY----- · 连接串:scheme://user:pass@host 并【抽样阅读上下文】确认是真实值还是示例/占位符。实测本例:712 条长字符串样本全部是 INSTR 编号与路径,无真实凭据。

检测命令

grep -rEo 'AKIA[0-9A-Z]{16}|LTAI[a-zA-Z0-9]{12,20}|ghp_[A-Za-z0-9]{20,}|sk-[a-zA-Z0-9]{20,}|-----BEGIN [A-Z ]*PRIVATE KEY-----' <target>

错误签名

grep -iE 'token|password|secret|credential' 命中 N 条 ⇒ 判定凭据泄露

技术信息

来源项目

project-28

标签

false-positive, secret-detection, grep, verification-method