用途
该技能面向安全工程师,用于使用 Gitleaks 在代码库或 Git 历史中检测硬编码的密钥、API 密钥、令牌和凭据。当需要扫描代码库或 Git 历史中的密钥、凭据或 API 密钥时,可使用此技能。
前置条件
需已安装 Gitleaks,可通过 brew install gitleaks 或从 GitHub releases 下载安装。
验证安装:gitleaks version
使用方式
-
确定目标:确定要扫描的仓库或目录。
-
运行扫描:
- 扫描当前状态(不含 Git 历史):
gitleaks detect --source=<path> --no-git --report-format=json --report-path=gitleaks-results.json - 扫描 Git 历史:
gitleaks detect --source=<path> --report-format=json --report-path=gitleaks-results.json - 详细输出:添加
--verbose - 自定义配置:
--config=<path-to-.gitleaks.toml> - 仅扫描暂存变更:
gitleaks protect --staged --report-format=json
- 扫描当前状态(不含 Git 历史):
-
解析结果:读取 JSON 输出并以表格形式呈现发现:
# Rule Secret (redacted) File:Line Commit Author Date 重要:始终对密钥值进行脱敏——仅显示前4位和后2位字符。
-
汇总:提供以下内容:
- 按类型统计发现的密钥总数(API 密钥、密码、令牌等)
- 区分哪些密钥存在于当前代码中,哪些仅存在于 Git 历史中
- 修复建议:轮换密钥、从代码中移除、添加至 .env / vault
- 建议添加 .gitleaks.toml 白名单以减少误报
适用场景
适用于需要对代码库或 Git 历史进行密钥扫描的安全审计场景,例如在代码提交前检查、定期安全扫描或事件响应中排查泄露的凭据。
限制
资料中未提供关于扫描性能、支持的语言或文件类型范围、误报率等具体限制信息。