首页/开发/CI/CD 与发布速查/提交与历史中的密钥扫描
环境与配置管理60 条

提交与历史中的密钥扫描

对仓库内容与历史做密钥检测:平台内置扫描(GitHub secret scanning / GitLab secret detection)叠加预提交钩子,发现即轮换。

CI/CD 与发布速查开发更新于 2026-10-12
层次提交前(pre-commit)、推送时(平台扫描)、历史(全量扫描)
处置判定有效性 → 立即轮换 → 清理历史(视情况)
姿势密钥「进过」仓库就视为已泄露,不要赌是否被看到

全历史扫描

全历史扫描
gitleaks detect --source . --redact
# 平台侧:
# GitHub → Settings → Code security → Secret scanning
发现密钥后应优先轮换,而不是删文件:删除不能撤回已发生的暴露。

易错点

  • 只在 PR 扫描不管历史:历史里的旧密钥仍在生效,安排一次性历史扫描
  • 扫描告警当成噪音:把有效性验证与轮换流程接到告警上

数据来源与参考

  • GitHub Docs《Secret scanning》
  • GitLab Docs《Secret Detection》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌