用途
该技能面向安全工程师场景,使用 Gitleaks 对代码库或 Git 历史执行敏感信息检测,找出硬编码的密钥、API 密钥、令牌和凭据。当被要求扫描代码库或 Git 历史中的密钥、凭据或 API 密钥时使用。
前置条件
需要已安装 Gitleaks,安装方式为 brew install gitleaks 或从 GitHub releases 下载。可通过 gitleaks version 验证。
主要能力
- 扫描当前状态(不含 Git 历史)
- 扫描 Git 历史
- 输出详细(verbose)结果
- 使用自定义配置
- 仅扫描已暂存的变更
使用方式
-
确定目标:确定要扫描的仓库或目录。
-
运行扫描:
扫描当前状态(无 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
- 解析结果:读取 JSON 输出并呈现发现,表格列包括编号、规则、密钥(脱敏)、文件:行号、提交、作者、日期。
重要:务必对密钥值进行脱敏,仅显示前 4 位和后 2 位字符。
- 汇总,提供:
- 按类型统计的密钥总数(API 密钥、密码、令牌等)
- 哪些密钥位于当前代码中,哪些仅存在于 Git 历史中
- 修复措施:轮换密钥、从代码中移除、加入 .env/保险库
- 建议为误报添加 .gitleaks.toml 允许列表
适用场景
适用于在代码库或 Git 历史中排查硬编码凭据相关风险的安全检测任务。
限制
除上述内容外,其余信息暂未提供。