Git 密钥泄露扫描器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 的说明,安装 @user_3c6cb52e/git-secret-scanner。
技能介绍
解决什么问题
Git 仓库的提交历史是默认保留的:哪怕今天把泄露的 API Key 或 Token 从最新代码里删掉,它仍然留在过往 commit 中。一旦仓库被克隆、fork,或提交历史被推送到远端,这些凭据就等于已经公开。人工 grep 只能覆盖当前工作区,通常看不到 git log 里更早的补丁内容,也容易漏掉格式多变的令牌。
技能如何工作
- 以 Gitleaks 规则定义为基础做 模式匹配扫描,再结合 GitHub Secret Scanning API 的能力,对仓库密钥泄露做识别。
- 通过
git log --all -p分析全量提交历史,不只检查当前文件状态,而是回到补丁级别排查暴露内容。 - 面向常见敏感对象:API Keys、Tokens、凭据,并汇总在提交历史中出现过的泄露证据。
适用边界与注意点
- 规则库能命中的主要是已知模式;未覆盖的自定义密钥格式仍可能漏报,需要把扫描结果当作强信号而不是绝对结论。
- 扫描范围取决于仓库历史是否完整; shallow clone、改写历史或远端可见性变化,都会影响可检查的提交集合。
- 扫描出的结果应配合密钥轮换、审计与访问控制一起处理;修复泄露不是删除最新代码就结束。
使用场景
- 代码合并前,检查仓库所有提交历史中是否残留未清理的 API Key
- 仓库准备公开或 fork 时,审计全量 commit 中的 Token 与凭据信息
- 处理仓库泄露事件,定位历史上哪些提交引入了敏感凭据
- 接手第三方仓库,排查过往提交历史中是否存在已泄露的访问密钥
适合人员
- 后端开发工程师,需要在代码合入主分支前确认仓库历史中没有泄露的数据库凭据
- 安全运维人员,需要定期扫描公司内部 Git 仓库的全提交历史排查密钥泄露
- 开源项目维护者,需要在仓库公开前验证所有历史 commit 中不存在合作方 API Key
- DevOps 工程师,需要在仓库推送到远端前审计历史提交里的敏感访问令牌