用途:对代码仓库做敏感数据安全审计,检查提交中是否存在凭据、API 密钥、公司专属信息与 PII。适用于定期审计或首次仓库审查,也可在提交前或评审/发布流程中调用。
模式:默认执行全量扫描,遍历所有 git 跟踪文件并检查历史;--diff 模式只扫描暂存与未暂存改动(git diff 加 git diff --cached),速度快,且不会因既有文件产生误报,适合提交前使用。
工作流:全量模式先运行 bash scripts/scan-secrets.sh 匹配凭据模式;再按名称检查敏感跟踪文件,如 .env*(.env.example 除外)、.pem、.key、_rsa、secret、credential;随后用 git log --all --full-history -- ".env" ".pem" "*.key" "secret" "credential" 分析历史中已删除的密钥;再审查 .gitignore 规则,最后按模板报告。--diff 模式先用 git diff --name-only HEAD 和 git diff --name-only --cached 得到变更文件,仅对这些文件套用相同正则与文件名检查,跳过历史分析,报告仅限变更文件。
规则与限制:仅检查 git 跟踪文件(git ls-files),忽略本地配置;同时检查当前文件与 git 历史;过滤压缩 JS、node_modules、测试夹具与文档等误报;验证 .gitignore 是否覆盖敏感模式;报告含密跟踪文件与历史提交;报告中绝不输出真实密钥值。若历史扫描过慢,可用 git log --oneline -100 限制为最近 100 次提交。安装方式、收费与平台信息暂未提供。