Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
layerleak — layerleak Docker Hub シークレットスキャナー | Kitploit
ツール/GitHubGitHub/brumbelow/layerleak
脆弱性スキャナーコンテナセキュリティクラウドセキュリティDevSecOpsシークレット検出APIセキュリティ
GitHubbrumbelow/layerleak

layerleak

layerleak Docker Hub シークレットスキャナー

リポジトリを見る
4222419日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

layerleak

CI CodeQL Go

Layerleak は読み取り専用の OCI イメージシークレットスキャナーです。Docker デーモンを使用せずに公開イメージ参照を解決し、ダウンロードしたコンテンツを OCI ダイジェストと照合して検証し、レイヤーの状態を再構築し、削除されたアーティファクトとイメージメタデータを検査し、秘匿化された来歴情報に富む検出結果を返します。

Docker Hub、GHCR、Quay、GCR、MCR、Amazon ECR Public、およびその他の OCI 互換レジストリをサポートしています。結果は JSON として保存でき、同梱の API 用に PostgreSQL に永続化できます。

  • ドキュメント
  • OpenAPI 仕様
  • 変更履歴
  • セキュリティポリシー
  • コントリビューション

この開発ツリーは github.com/brumbelow/layerleak/v3 モジュールパス上の 3.0.0 系を文書化しています。以下に示すリリース候補のコマンドは、その正確なタグが公開された後にのみインストール可能になります。変更履歴と OpenAPI ドキュメント内の 3.0.0 というラベルは意図的に固定されており、承認されたリリース候補を同じソースコミットから昇格できるようにしています。

セキュリティモデル

Layerleak は信頼できないイメージコンテンツをスキャンするため、そのデフォルト設定は意図的に制限され、フェイルクローズドになっています:

  • イメージ、マニフェスト、設定、タグ応答、ファイル、レイヤー、保持状態、および検出結果の制限により、無制限の処理を防ぎます;
  • マニフェスト、設定、およびレイヤーの本体は、使用前にアドバタイズされた OCI ダイジェストと照合されます;
  • リダイレクトは上限が設けられ、再検証されます;
  • プライベート、ループバック、リンクローカル、およびその他の非公開のレジストリおよび認証先は、その正確なホストが明示的に許可されていない限りブロックされます;
  • 検出結果、API 応答、スキャン履歴、およびログはデフォルトで秘匿化されます;
  • 不完全なカバレッジは partial または failed として報告され、クリーンなスキャンとして報告されることはありません。

Layerleak は、検出された資格情報が有効であるかどうかを検証しません。API には認可モデルがありません: デフォルトでオープンであり、オプトインの LAYERLEAK_API_BEARER_TOKENS 共有トークンチェックは /api/ パスに対する多層防御であり、アクセス制御ではありません。いずれにせよ、信頼できるネットワーク上または認証済みゲートウェイの背後でのみ公開してください。

CLI のインストール

Layerleak には Go 1.27.1 以降が必要です。```bash go install github.com/brumbelow/layerleak/v3@latest layerleak --version layerleak --help

`/v3` モジュールパスが正規のインストール対象です。インストールされるバイナリは
引き続き `layerleak` という名前です。再現性が重要な場合は、安定版またはリリース候補を明示的に固定してください:```bash
go install github.com/brumbelow/layerleak/[email protected]
go install github.com/brumbelow/layerleak/[email protected]

/v3 パス上の @latest は、公開されている最新の v3 リリースを選択します。安定版が存在すると、Go は @latest からプレリリースを除外するため、リリース候補のみが公開されている間は @latest は最新の候補に解決されます。/v3 を付けないルートパス github.com/brumbelow/layerleak は永久に v1.0.0 のままです。常に /v3 を含めてください。チェックアウトビルドは、ダーティワークツリーマーカーを含む VCS 由来の開発バージョン、または VCS 情報がない場合は dev を報告します。リリースインストールされたバイナリは、layerleak --version を通じて解決されたモジュールバージョンを報告します。

リリースアーカイブのダウンロード

各リリースにはビルド済み CLI アーカイブも添付されているため、Go ツールチェーンは不要です。linux と darwin の amd64 および arm64 向けの layerleak_<version>_<os>_<arch>.tar.gz(layerleak、LICENSE、THIRD_PARTY_NOTICES.md を含む)と、layerleak_<version>_windows_amd64.zip(layerleak.exe)があります。各リリースには、リリースワークフローによってキーレス署名された layerleak_<version>_checksums.txt(layerleak_<version>_checksums.txt.sigstore.json)と、すべてのアーカイブに対するビルド来歴の証明が含まれています。実行する前に検証してください:```bash version=v3.0.0 archive="layerleak_${version}linux_amd64.tar.gz" checksums="layerleak${version}_checksums.txt" base="https://github.com/brumbelow/layerleak/releases/download/${version}" curl --fail --location --proto '=https' --tlsv1.2 --remote-name-all
"${base}/${archive}" "${base}/${checksums}" "${base}/${checksums}.sigstore.json"

sha256sum --check --ignore-missing "${checksums}" cosign verify-blob
--bundle "${checksums}.sigstore.json"
--certificate-identity 'https://github.com/Brumbelow/layerleak/.github/workflows/container-release.yml@refs/heads/main'
--certificate-oidc-issuer 'https://token.actions.githubusercontent.com'
"${checksums}" gh attestation verify "${archive}" --repo Brumbelow/layerleak
--signer-workflow Brumbelow/layerleak/.github/workflows/container-release.yml
--source-ref refs/heads/main --deny-self-hosted-runners

tar -xzf "${archive}" layerleak ./layerleak version

署名は、チェックサムファイルが `main` 上のこのリポジトリのリリースワークフローから来たことを証明し、チェックサムはアーカイブをそのファイルに結び付け、attestation はアーカイブをそれをビルドしたワークフロー実行に独立して結び付けます。リリース上の `release-manifest.json` には、すべてのアーカイブとその中にあるバイナリのダイジェストが一覧されています。安定版リリースは、受け入れられたリリース候補のコミットを安定版バージョン文字列で再ビルドし、その再ビルドが候補のバイナリをバイト単位で再現しない限り公開を拒否するため、`layerleak version` はダウンロードしたタグを正確に報告します。

### GitHub Action

リポジトリルートはコンポジットアクションであり、ランナー用のアーカイブをダウンロードし、上記のように検証し(チェックサム、`scripts/release-tools.sh` で固定された cosign リリースによるチェックサムファイルの cosign バンドル、およびアーカイブの attestation)、`layerleak scan` を実行します。リリースタグに固定してください。対応するアーカイブはそのリリースからダウンロードされます:```yaml
name: Image secrets
on: { push: { branches: [main] } }
permissions: { contents: read, security-events: write }
jobs:
  layerleak:
    runs-on: ubuntu-24.04
    steps:
      - id: scan
        uses: brumbelow/[email protected]
        with: { image: "ghcr.io/${{ github.repository }}:${{ github.sha }}", fail-on: none }
      - uses: github/codeql-action/upload-sarif@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
        if: ${{ always() && steps.scan.outputs.sarif-file != '' }}
        with: { sarif_file: "${{ steps.scan.outputs.sarif-file }}" }
入力デフォルト意味
image必須スキャンするイメージ参照。プライベートレジストリはステップの env で LAYERLEAK_REGISTRY_USERNAME/LAYERLEAK_REGISTRY_PASSWORD を使用します。
versionuses: のタグアーカイブがダウンロードされるリリース。uses: がブランチまたはコミットを指定している場合にのみ設定します。
formatsarifsummary、json、または sarif。
fail-onlow--fail-on に渡されます。none はステップを失敗させずにレポートします。
allow-partialfalse--allow-partial を渡します。
platformすべての linux マニフェスト--platform に渡されます。
output-file$RUNNER_TEMP/layerleak/results.<ext>フォーマットされた結果の書き込み先。
extra-args空追加の layerleak scan フラグ。空白で分割され、最後に追加されます(例: --all-tags --max-repository-tags 50)。

出力: exit-code(CLI の終了コード。「イメージのスキャン」の表を参照)、 result-file(書き込まれたファイル)、sarif-file(format が sarif の場合は同じパス、それ以外は空)、および version(ダウンロード され検証されたリリース)。このステップは CLI が非ゼロで終了したときに 正確に失敗するため、fail-on: none とアップロードステップの if: always() を 組み合わせるとレポート専用のスキャンになります。このアクションは検出結果を 決して出力しません。ログにエコーされるのは編集済みの summary 形式のみで、 スキャンは --no-artifacts 付きで実行されます。 必要なものは curl、tar(Windows では unzip/7z)、および GitHub CLI で、 これらはすべて GitHub ホストの Linux、macOS、Windows ランナーに存在します。

ソースからビルド:```bash git clone https://github.com/brumbelow/layerleak.git cd layerleak go build -o layerleak . ./layerleak --help

サポートされている配布パスは、CLI 用の上記 `/v3` モジュールパスと、API および同梱の migration、purge、healthcheck コマンド用の `ghcr.io/brumbelow/layerleak:<published-version>` です。`cmd/*` パッケージは開発用のソースビルドターゲットであり、個別にバージョン管理されたインストールパスではありません。PostgreSQL ベースの API バージョンを起動する前に、対応する `layerleak-migrate-up` バイナリまたはコンテナエントリポイントを実行し、マイグレーションの成功を待ってください。インストールされたスキーマが期待するバージョンと正確に一致しない限り API は起動を拒否し、起動後は `/readyz` がすべてのプローブでデータベースとスキーマを再チェックするため、その後の劣化が報告されます。

## プラットフォームサポート

| コンポーネント | プラットフォーム | 検証方法 |
| --- | --- | --- |
| `layerleak` CLI | `go install` による amd64 および arm64 上の Linux、macOS、Windows | テストは CI の linux/amd64 で実行されます。darwin/arm64、darwin/amd64、windows/amd64、linux/arm64 はすべての変更でコンパイルおよび vet されます。 |
| API イメージ | `linux/amd64`、`linux/arm64` | リリースワークフローによって両プラットフォーム向けにビルド、スモークテスト、スキャン、署名されます。 |

Windows では、動的プログレス表示がコンソールを仮想端末モードに切り替えます。拒否するコンソール(Windows 10 1511 より古いもの)はプレーンなプログレス行にフォールバックし、`--progress plain` も同様です。bash、zsh、fish、PowerShell のシェル補完は `layerleak completion <shell>` から提供されます。

CLI は HTTPS 経由で直接、または `HTTPS_PROXY` を介してレジストリに到達します([Configuration](#configuration) を参照)。API はプレーン HTTP でリッスンし、デプロイメントが TLS を終端し、クライアントを認証し、レート制限を行うことを想定しています。[SECURITY.md](https://github.com/brumbelow/layerleak/blob/main/SECURITY.md#security-boundaries) を参照してください。

## イメージのスキャン
ツールをダウンロード