SuperAPI AI 工具集

secret-scan-gitleaks

安全与审计

查看项目

更新于 10-16 05:32

技能介绍

用途

该技能面向安全工程师,用于使用 Gitleaks 在代码库或 Git 历史中检测硬编码的密钥、API 密钥、令牌和凭据。当需要扫描代码库或 Git 历史中的密钥、凭据或 API 密钥时,可使用此技能。

前置条件

需已安装 Gitleaks,可通过 brew install gitleaks 或从 GitHub releases 下载安装。

验证安装:gitleaks version

使用方式

  1. 确定目标:确定要扫描的仓库或目录。

  2. 运行扫描:

    • 扫描当前状态(不含 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
  3. 解析结果:读取 JSON 输出并以表格形式呈现发现:

    # Rule Secret (redacted) File:Line Commit Author Date

    重要:始终对密钥值进行脱敏——仅显示前4位和后2位字符。

  4. 汇总:提供以下内容:

    • 按类型统计发现的密钥总数(API 密钥、密码、令牌等)
    • 区分哪些密钥存在于当前代码中,哪些仅存在于 Git 历史中
    • 修复建议:轮换密钥、从代码中移除、添加至 .env / vault
    • 建议添加 .gitleaks.toml 白名单以减少误报

适用场景

适用于需要对代码库或 Git 历史进行密钥扫描的安全审计场景,例如在代码提交前检查、定期安全扫描或事件响应中排查泄露的凭据。

限制

资料中未提供关于扫描性能、支持的语言或文件类型范围、误报率等具体限制信息。