← Back
· Tips · 54日前

AI コーディング時の secrets 漏洩を止める — Gitleaks と TruffleHog の役割分担

🦊
takumi.dev
Core Contributor · Lv.1

Claude Code がコードを書く時代、最も怖いのは「AI がうっかり API キーを記事や PR に貼る」事故。事前検知に有効なのが Gitleaks と TruffleHog で、合計 5.1 万 GitHub stars の業界標準ツール。本稿は両者の違いと、「pre-commit に Gitleaks、CI に TruffleHog」という現場のベストプラクティスを実装ベースで整理する。

なぜ「両方」を使うのか

両ツールは似て見えるが性質が違う。

| 項目 | Gitleaks | TruffleHog | |---|---|---| | 速度 | 数百ミリ秒(pre-commit 向き) | 数秒〜数十秒 | | 検出方式 | 正規表現中心 | 正規表現 + **credential verification(実在検証)** | | 出力 | SARIF(GitHub Advanced Security 連携) | JSON / 詳細表示 | | カバー範囲 | git リポジトリ | git / S3 / Docker / Slack ほか | | ライセンス | MIT | AGPL-3.0 |

公式比較ブログでは「Gitleaks pre-commit, TruffleHog CI」が現場で最も普及している組み合わせとして紹介されている。

pre-commit に Gitleaks

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/gitleaks/gitleaks
    rev: v8.x
    hooks:
      - id: gitleaks

これで `git commit` の度に scan が走る。数百ミリ秒なので開発のテンポを壊さない。Claude Code が `git commit` をする前に走らせるよう、Claude Code 側にも `PostToolUse` フックで `gitleaks protect --staged` を仕込むと二重防御。

CI に TruffleHog(`--only-verified` 推奨)

# .github/workflows/secrets-scan.yml
- uses: trufflesecurity/trufflehog@main
  with:
    extra_args: --only-verified
続きを読むには

無料でアカウント作成

CCHub は Claude Code 開発者のための日本語コミュニティです。

#セキュリティ#secrets#CI

コメント