OpenClaw ggshield Scanner スキルガイド
リポジトリのハードコードされたシークレットをスキャン(500+ 種類対応)。
最終更新: 2026-03-11
クイックインストール
$ npx clawhub@latest install ggshield-scanner主な機能
OpenClaw ggshield Scanner スキル概要
ggshield Scannerスキルは、GitGuardianの強力なシークレット検出エンジンをOpenClawワークフローに統合します。ggshield CLIのフラグや出力形式を覚える必要はありません。自然言語でOpenClawにコード内の漏洩シークレットをスキャンするよう依頼できます。
ggshieldは500種類以上のハードコードされたシークレットを検出します — APIキー、データベース認証情報、クラウドトークン、秘密鍵など。OpenClaw ggshield scannerスキルはこれらの機能を会話型インターフェースにラップし、オンデマンドスキャン、pre-commitフックの設定、結果の解釈を開発フローから離れることなく実行できます。
典型的なワークフロー:
- OpenClawにプロジェクトのシークレット漏洩スキャンを依頼します。
- エージェントがコードベースまたは指定ファイルに対して
ggshield secret scanを実行します。 - 検出されたシークレット、タイプ、場所をハイライトした読みやすいサマリーが返されます — CLI出力を手動で解析する必要はありません。
既存リポジトリの監査でも開発プロセスへのシークレットスキャン追加でも、このスキルが重い作業を処理します。1Passwordスキルと組み合わせて、完全なシークレット管理ワークフローを構築しましょう。
ggshield Scanner スキルの前提条件
ggshield Scannerスキルをインストールする前に、以下を確認してください:
- OpenClawがインストールされ実行中(v1.0+)
- ggshieldがインストール済み — 公式インストールガイド
- Python 3.9+(pip/pipxでインストールする場合)またはスタンドアロンパッケージを使用
- Gitがインストール済み(リポジトリスキャン用)
- clawhub CLIがインストール済み — インストールガイド
お好みの方法でggshieldをインストール:
# macOS (Homebrew) brew install gitguardian/tap/ggshield # 全プラットフォーム (pipx — 推奨) pipx install ggshield # 全プラットフォーム (pip) pip install --user ggshield
セットアップを確認:
ggshield --version
ggshield Scanner スキルのインストール方法
ggshield Scannerスキルを1つのコマンドでインストール:
npx clawhub@latest install ggshield-scanner
インストールを確認:
clawhub list
インストール済みスキルリストにggshield-scannerが表示されるはずです。このスキルはggshieldがPATHで利用可能である必要があります。
ggshield Scanner スキルの設定
GitGuardian認証
ggshield Scannerスキルはシークレット検出にGitGuardian APIキーが必要です。2つの方法で認証できます:
対話型ログイン(ローカル開発に推奨):
ggshield auth login
ブラウザが開き、パーソナルアクセストークン(PAT)が自動生成されます。
環境変数(CI/CDに推奨):
export GITGUARDIAN_API_KEY="your-api-key-here"
環境変数設定
| 変数 | 必須 | 説明 |
|------|------|------|
| GITGUARDIAN_API_KEY | はい | GitGuardianパーソナルアクセストークン |
| GITGUARDIAN_INSTANCE | いいえ | オンプレミスGitGuardianインスタンスのURL |
重要: APIキーを設定ファイルにハードコードしないでください。環境変数または1PasswordやBitwardenなどのシークレットマネージャーを使用してください。
Pre-commitフック設定
シークレットがコミットされる前にブロック:
# 現在のリポジトリにフックをインストール ggshield install --mode local # 全リポジトリにグローバルにフックをインストール ggshield install --mode global
ggshield Scanner スキルの使用例
1. プロジェクトディレクトリのシークレットスキャン
あなた: 「プロジェクトディレクトリにハードコードされたシークレットがないかスキャンして」
エージェントがggshield secret scan path -r .を実行してワーキングディレクトリをスキャンし、検出されたシークレットのサマリー(ファイルパス、行番号、シークレットタイプ)を返します。シークレットが見つからなければ、コードが安全であることを確認するレポートが返されます。
2. Gitリポジトリ履歴の監査
あなた: 「git履歴全体で漏洩したシークレットがないかチェックして」
エージェントがggshield secret scan repo .を実行してリポジトリの全コミットをスキャンします。レガシーコードベースの監査や、過去にコミットされたシークレットが適切にローテーションおよび削除されたことの確認に役立ちます。
3. デプロイ前のDockerイメージスキャン
あなた: 「nginx:latest Dockerイメージにシークレットがないかスキャンして」
エージェントがggshield secret scan docker nginx:latestを実行してDockerイメージの全レイヤーを検査します。ビルドプロセス中にコンテナイメージに組み込まれたシークレットをキャッチします — これは本番環境での認証情報漏洩の一般的な原因です。
4. Pre-commit保護の設定
あなた: 「シークレットのコミットをブロックするpre-commitフックをインストールして」
エージェントがggshield install --mode localを実行してリポジトリにgit pre-commitフックを追加します。以後のすべてのコミットが自動スキャンされ、シークレットを含むコミットはリポジトリに入る前にブロックされます。
セキュリティとベストプラクティス
ggshield Scannerスキル使用時は以下のガイドラインに従ってください:
- デフォルトで読み取り専用スキャンを使用。 スキルはスキャンとレポートのみ — 各検出結果を慎重にレビューせずに自動修復を行わないでください。
- 確認前にレビュー。 エージェントが検出されたシークレットの削除やローテーションを提案した場合、アクションを取る前に検出結果が真陽性であることを確認してください。
- 暴露されたシークレットは直ちにローテーション。 ggshieldがリポジトリ履歴で実際のシークレットを検出した場合、すぐに認証情報をローテーションしてください — コミットの削除だけでは不十分です。
- pre-commitフックを有効化。 検出よりも予防が重要です。
ggshield installでフックを設定し、シークレットがバージョン管理に入る前にキャッチしましょう。 - ggshieldを最新に保つ。 新しいシークレットパターンが定期的に追加されます。
pipx upgrade ggshieldまたはbrew upgrade ggshieldで最新状態を維持してください。
よくあるエラーのトラブルシューティング
"Error: Invalid API key"
GitGuardian APIキーが不足しているか期限切れです。ggshield auth loginで再認証するか、GITGUARDIAN_API_KEY環境変数が正しく設定されているか確認してください。GitGuardianダッシュボードでトークンが取り消されていないか確認してください。
"Error: ggshield command not found"
ggshieldがインストールされていないかPATHにありません。pipx install ggshieldまたはbrew install gitguardian/tap/ggshieldでインストールしてください。pipでインストールした場合、Pythonスクリプトディレクトリがpathに含まれていることを確認してください。
"Error: Docker is not available"
DockerイメージスキャンにはDockerデーモンの実行が必要です。Docker Desktopまたは Dockerサービスを起動してからリトライしてください。ソースコードのみスキャンする場合は、ggshield secret scan pathまたはggshield secret scan repoを使用してください。
よくある質問
はい。ggshieldは検出にGitGuardian APIを使用しますが、実際のソースコードやファイルはGitGuardianサーバーに保存されません。スキャン時間やリクエストサイズなどのメタデータのみが保持されます。スキャンプロセスはプライバシーファーストで設計されており、プロプライエタリおよび機密性の高いコードベースに適しています。
ggshieldはGitGuardian検出エンジンを使用して500種類以上のシークレットを検出します。これはgit-secrets(正規表現ベース、パターンが限定的)やtruffleHog(エントロピーベース、誤検出率が高い)よりも包括的です。ggshieldはDockerイメージスキャンやPyPIパッケージスキャンもサポートしており、ほとんどの代替ツールにはない機能です。[Guardrails](/skills/guardrails)スキルは補完的なポリシー適用を提供します。
はい。CI/CD環境で`GITGUARDIAN_API_KEY`環境変数を設定し、ggshieldをパイプラインステップとして実行します。OpenClawスキルはインタラクティブな開発スキャンに最適で、直接的なggshield CLI統合は自動化パイプラインチェックに適しています。両方とも同じ検出エンジンとAPIキーを使用するため、結果はすべての環境で一貫しています。