Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
klar — ClairとDocker Registryの統合 | Kitploit
ツール/GitHubGitHub/optiopay/klar
脆弱性スキャナーコンテナセキュリティ構成監査DevSecOps
GitHuboptiopay/klar

klar

ClairとDocker Registryの統合

リポジトリを見る
5031342年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Klar

ClairとDocker Registryの統合(Clair API v1およびv3をサポート)

Klarは、Clair(https://github.com/coreos/clair)を使用して、プライベートまたはパブリックなDockerレジストリに保存されたイメージのセキュリティ脆弱性を分析するためのシンプルなツールです。Klarは統合ツールとして使用されるように設計されているため、環境変数に依存します。依存関係が不要な単一のバイナリです。

Klarは、DockerレジストリとClair間のイメージチェックを調整するクライアントとして機能します。

バイナリインストール

最も簡単な方法は、https://github.com/optiopay/klar/releases/ から最新リリース(OSXおよびLinux用)をダウンロードし、バイナリを PATH 内のフォルダに配置することです(実行権限があることを確認してください)。

ソースコードからのインストール

Go言語コンパイラがインストールされ、構成されていることを確認してください https://golang.org/doc/install

その後、以下を実行します:

root@kitploit:~
go get github.com/optiopay/klar

Goのバイナリフォルダが PATH に含まれていることを確認してください(例:export PATH=$PATH:/usr/local/go/bin)

使用方法

Klarプロセスは、イメージで検出された高重要度の脆弱性の数がしきい値(下記参照)以下の場合は 0 を返し、それを超える場合は 1 を返します。エラーが発生してイメージを分析できなかった場合は 2 を返します。

Klarは以下の環境変数で設定できます:

  • CLAIR_ADDR - Clairサーバーのアドレス。形式は protocol://host:port です。protocol と port はそれぞれデフォルトで http と 6060 になり、省略可能です。URLに基本認証を指定することもできます:protocol://login:password@host:port。

  • CLAIR_OUTPUT - 重要度レベルのしきい値。このしきい値以上の重要度レベルの脆弱性が出力されます。サポートされるレベルは Unknown、Negligible、Low、Medium、High、Critical、Defcon1 です。デフォルトは です。

使用方法:

root@kitploit:~
CLAIR_ADDR=localhost CLAIR_OUTPUT=High CLAIR_THRESHOLD=10 DOCKER_USER=docker DOCKER_PASSWORD=secret klar postgres:9.5.1

デバッグ出力

KLAR_TRACE を true に設定することで、より詳細な出力を有効にできます。

  • 複数回実行間で永続化するには、export KLAR_TRACE=true を実行します。

Docker化バージョン

KlarをDocker化できます。$GOPATH/src/github.com/optiopay/klar に移動し、プロジェクトルートでKlarをビルドします。Linuxの場合:

root@kitploit:~
CGO_ENABLED=0 go build -a -installsuffix cgo .

Macの場合は、Linux用にビルドすることを忘れないでください:

root@kitploit:~
GOOS=linux go build .

Dockerイメージをビルドするには、プロジェクトルートで以下を実行します(必要に応じて klar を完全修飾名に置き換えてください):

root@kitploit:~
docker build -t klar .

次に、環境変数を個別の --env 引数として渡すか、envファイルを作成して --env-file 引数として渡します。例えば、env変数を my-klar.env として保存します:

root@kitploit:~
CLAIR_ADDR=localhost
CLAIR_OUTPUT=High
CLAIR_THRESHOLD=10
DOCKER_USER=docker
DOCKER_PASSWORD=secret

その後、以下を実行します:

root@kitploit:~
docker run --env-file=my-klar.env klar postgres:9.5.1

Amazon ECRサポート

Amazon ECRには永続的なユーザー名/パスワードはありません。認証情報は aws ecr get-login を使用して取得する必要があり、12時間有効です。以下は、KlarにECR認証情報を提供するために使用できるサンプルスクリプトです:

root@kitploit:~
DOCKER_LOGIN=`aws ecr get-login --no-include-email`
PASSWORD=`echo $DOCKER_LOGIN | cut -d' ' -f6`
REGISTRY=`echo $DOCKER_LOGIN | cut -d' ' -f7 | sed "s/https:\/\///"`
DOCKER_USER=AWS DOCKER_PASSWORD=${PASSWORD} ./klar ${REGISTRY}/my-image

Google GCRサポート

GCR(Google Container Registry)に対する認証の最も簡単な方法は、アプリケーションデフォルト認証情報を使用することです。これらはGCPからKlarを実行する場合にのみ機能します。唯一の要件はGoogle Cloud SDKです。

root@kitploit:~
DOCKER_USER=oauth2accesstoken
DOCKER_PASSWORD="$(gcloud auth application-default print-access-token)"

Dockerを使用する場合:

root@kitploit:~
DOCKER_USER=oauth2accesstoken
DOCKER_PASSWORD="$(docker run --rm google/cloud-sdk:alpine gcloud auth application-default print-access-token)"
ツールをダウンロード
Unknown
  • CLAIR_THRESHOLD - Klarが 1 を返す前に許容できる出力脆弱性の数。デフォルトは 0 です。

  • CLAIR_TIMEOUT - Klarがイメージスキャンをキャンセルするまでのタイムアウト(分)。デフォルトは 1 です。

  • DOCKER_USER - Dockerレジストリアカウント名。

  • DOCKER_PASSWORD - Dockerレジストリアカウントのパスワード。

  • DOCKER_TOKEN - Dockerレジストリアカウントトークン。(DOCKER_USER と DOCKER_PASSWORD の代わりに使用可能)

  • DOCKER_INSECURE - KlarがSSL証明書が不正なレジストリにアクセスできるようにします。デフォルトは false です。Clairはこれを機能させるために -insecure-tls で起動する必要があります。

  • DOCKER_TIMEOUT - Dockerレジストリからレイヤを取得する際のタイムアウト(分)

  • DOCKER_PLATFORM_OS - Dockerイメージのオペレーティングシステム。デフォルトは linux です。指定されたイメージが通常のマニフェストではなくDocker ManifestListを参照している場合にのみ設定する必要があります。

  • DOCKER_PLATFORM_ARCH - Dockerイメージが最適化されたアーキテクチャ。デフォルトは amd64 です。指定されたイメージが通常のマニフェストではなくDocker ManifestListを参照している場合にのみ設定する必要があります。

  • REGISTRY_INSECURE - Klarが安全でないレジストリ(HTTPのみ)にアクセスできるようにします。デフォルトは false です。

  • JSON_OUTPUT - JSONを出力します(プレーンテキストではなく)。デフォルトは false です。

  • FORMAT_OUTPUT - 脆弱性の出力形式。サポートされる形式は standard、json、table です。デフォルトは standard です。JSON_OUTPUT が true に設定されている場合、このオプションは無視されます。

  • WHITELIST_FILE - CVEホワイトリストを含むYAMLファイルへのパス。ファイル形式については whitelist-example.yaml を参照してください。

  • IGNORE_UNFIXED - 修正がない脆弱性をしきい値にカウントしない