
[!IMPORTANT] macOS: 1.54.0 へのアップグレード時に
ggshield-pyの Keychain プロンプトが表示されます。これはパフォーマンス改善の一環として、保存されたトークンを読み取るようになった 2 つ目のバイナリです。常に許可 をクリックしてください。以降は確認されません。
ggshield は、ローカル環境または CI 環境で実行される CLI アプリケーションで、500 種類以上のシークレットを検出するのに役立ちます。
ggshield は py-gitguardian を通じて 公開 API を使用し、ファイルやその他のテキストコンテンツ内の潜在的な脆弱性をスキャンして検出します。
ggshield を使用したスキャンからは、呼び出し時刻、リクエストサイズ、スキャンモードなどのメタデータのみが保存されるため、シークレットがダッシュボードに表示されることはなく、あなたのファイルとシークレットは保存されません。
ggshield をインストールする最速の方法です。
Linux / macOS:
curl -sSfL \
https://raw.githubusercontent.com/GitGuardian/ggshield/main/scripts/install/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/GitGuardian/ggshield/main/scripts/install/install.ps1 | iex
または、curl (Windows 10 以降に同梱) を使用する場合:
curl.exe -sSL https://raw.githubusercontent.com/GitGuardian/ggshield/main/scripts/install/install.ps1 | powershell -NoProfile -ExecutionPolicy Bypass -Command -
このスクリプトは --instance や --plugin (プラグインをインストール) などのオプションを受け付けます。EU ワークスペースまたはセルフホストインスタンスの場合は、実行前に GITGUARDIAN_INSTANCE 環境変数を設定する (または --instance <URL> を渡す) してください。
オプションの完全なリスト、その他のインストール方法、アンインストール方法については scripts/install/README.md を参照してください。
以下の方法では、代わりに CLI を手動でインストールします。
Homebrew を使用して ggshield をインストールできます:
brew install ggshield
アップグレードは Homebrew によって処理されます。
あるいは、ggshield リリースページ からスタンドアロン .pkg パッケージをダウンロードしてインストールできます。
このパッケージは Python のインストールを必要としませんが、新しいバージョンは手動でダウンロードする必要があります。
Deb および RPM パッケージは Cloudsmith で利用可能です。
セットアップ手順:
アップグレードはパッケージマネージャーによって処理されます。
ggshield は Chocolatey パッケージマネージャー から利用可能です:
choco install ggshield
ggshield リリースページ から MSI インストーラーをダウンロードしてインストールします:
msiexec /i ggshield-VERSION-x86_64-pc-windows-msvc.msi
ggshield リリースページ でスタンドアロン .zip アーカイブを提供しています。
アーカイブをディスクに展開し、ggshield.exe ファイルを含むディレクトリを %PATH% に追加します。
このアーカイブは Python のインストールを必要としませんが、新しいバージョンは手動でダウンロードする必要があります。
ggshield は、その PyPI パッケージ を介して、サポートされているすべてのオペレーティングシステムにインストールできます。
これには サポートされているバージョンの Python (EOL でないもの) (スタンドアロンパッケージを除く) と git が必要です。
ggshield のパッケージ版を使用しない場合は、私たちが Python リリースサイクル に従っており、EOL に達したバージョンはサポートしていないことにご注意ください。
PyPI から ggshield をインストールする推奨方法は、pipx を使用することです。これにより、分離された環境にインストールされます:
pipx install ggshield
インストールをアップグレードするには、次を実行します:
pipx upgrade ggshield
pip を使用して PyPI から ggshield をインストールすることもできますが、インストールが分離されていないため、この方法でインストールされた他のアプリケーションやパッケージが ggshield のインストールに影響を与える可能性があるため、推奨されません。この方法は、Python のインストールが外部管理として宣言されている場合 (たとえば Debian 12 などのオペレーティングシステムでシステム Python を使用する場合) にも機能しません:
pip install --user ggshield
インストールをアップグレードするには、次を実行します:
pip install --user --upgrade ggshield
ggshield auth login を使用するggshield を使用するには、GitGuardian サーバーに対して認証する必要があります。そのためには、ggshield auth login コマンドを使用します。このコマンドは、パーソナルアクセストークンのプロビジョニングとローカルワークステーションへの設定を自動化します。
詳細については、ggshield auth login ドキュメント を参照してください。
認証後、ggshield machine setup を実行して、AI および git フックを設定し、ハニートークンを設置し、最初のスキャンの前にマシンを Endpoints ページに登録します。登録には現在のユーザー、または root として実行している場合はすべてのハニートークン対象ユーザーが含まれます。これはベストエフォートで、最大 5 秒かかり、コマンドの終了コードには影響しません。
ggshield secret scan pre-commit、pre-push、ai-hook のスキャンもマシンのホスト名を送信し、GitGuardian はそこからこれらのフックのユーザーを登録します。他のスキャンコマンドはホスト名を送信せず、スタンドアロンおよびプラットフォーム固有の pip インストールが実行するネイティブ AI フックも送信しません。
CI では、ggshield はマシンを登録せず、ホスト名も送信しません。それ以外の場所で両方を無効にするには、.gitguardian.yaml で endpoint_registration: false を設定するか、GGSHIELD_NO_ENDPOINT_REGISTRATION に空でない値を設定します。
パーソナルアクセストークンを手動で作成し、GITGUARDIAN_API_KEY 環境変数に保存してセットアップを完了することもできます。
これで ggshield を使用してシークレットを検索できます:
ggshield secret scan path -r .ggshield secret scan repo .docker コマンドが利用可能である必要があります): ggshield secret scan docker ubuntu:22.04pip コマンドが利用可能である必要があります): ggshield secret scan pypi flaskggshield secret scan --help の出力を参照してください。ggshield が .gitguardian.yaml (または .gitguardian.yml) 設定ファイルが非推奨の形式を使用していると報告した場合は、次のコマンドで最新バージョンに移行します:
ggshield config migrate
デフォルトでは、現在のディレクトリで設定ファイルを探すため、ファイルを含むディレクトリから実行してください。どこからでも実行するには、ggshield にファイルを明示的に指定します:
ggshield --config-path path/to/.gitguardian.yaml config migrate
ファイルの以前のバージョンは、その隣に .old バックアップとして保持されます。
ggshield を CI/CD ワークフロー に統合できます。