Skip to main content

Contrast CLIコマンド

以下は、CodeSec利用者およびエンタープライズユーザ(企業ユース)が利用できるContrast CLIコマンドの一覧です。

使用法:contrast [コマンド] [オプション]

認証/接続

CodeSec利用者の場合、GitHubまたはGoogleアカウントを使用して認証します。ログイン用の新しいブラウザ画面が開きます。

  • 使用法: contrast auth

Contrastのアカウントを既にお持ちの場合は、以下のauthコマンドを実行すると、認証情報がローカルに保存されます。

  • 使用法:

    contrast auth 
    --api-key <your API key> 
    --authorization <your authorization header> 
    --host <your host domain> 
    --organization-id <your organization ID> 

そして、コマンドを使用してスキャンを開始します。

保存されている認証情報を表示します。

  • 使用法contrast config

  • オプション:

    • -c--clear

      保存されている認証情報を削除します。

Contrast CLIのバージョンを表示します。

  • 使用法:contrast version

メイン機能

作業ディレクトリ内にある依存関係の設定ファイルを検索して依存関係のセキュリティ検査を実行し、結果を返します。

  • 使用法:contrast audit [オプション]

  • オプション:

    • --fail

      検出されたCVEの深刻度に基づいて、ビルドを失敗させます。--severityオプションと一緒に使用します。例えば、contrast audit --fail --severity highです。深刻度を指定しない場合、すべての深刻度で失敗が返ります。失敗が検出された場合、CLIコマンドはコード2で終了します。

    • --file

      依存関係が宣言されているディレクトリまたはファイルを指定します(デフォルトでは、Contrast CLIによって現在のディレクトリ内でプロジェクトファイルが検索されます)。ディレクトリ内で複数のプロジェクトファイルが見つかった場合、監査するファイルを確認するプロンプトが表示されます。

      エイリアス:-f

    • --ignore-dev

      検査結果から開発・試験用ライブラリの依存関係を除外します。デフォルトでは、全ての依存関係が結果に含まれます。

      エイリアス:-i

    • --legacy

      Contrast Webインターフェイスにアプリケーションを作成します(旧CLIのワークフロー)。コードの依存関係ツリーを表示し、メタデータを利用します。これは、Contrast CLI V2.0でのみ利用可能であることにご注意ください。

    • --save

      SBOM(ソフトウェア部品表)をSPDXやCycloneDX形式で生成して保存します。有効なオプション:--save cyclonedx--save spdx (CycloneDX形式がデフォルト)

      エイリアス:-s

    • --severity

      ビルドを失敗させるCVEの最低レベルの深刻度を指定します。--failオプションと一緒に使用します。例えば、contrast audit --fail --severity highです。深刻度は、criticalhighmediumlow、またはnoteです。

    • --track

      デフォルトでは、結果は保持・保存されないため、コンソールでローカルチェックを行うことになります。--track フラグを追加すると、Contrast Webインターフェイスのライブラリページにある静的タブに、プロジェクトのSCA結果を表示できます。これは、Contrast CLI V2.0でのみ利用可能使用であることにご注意ください。

  • 詳細オプション:

    • --api-key

      エンタープライズユーザには必須です。Contrastで提供されるエージェントのAPIキーを指定します。キーの検索方法については、エージェントキーを参照してください。

    • --application-id

      Contrastに登録されているアプリケーションのIDを指定します。

    • --application-name

      Contrastに登録されているアプリケーションの名前です。

    • --app-groups

      アプリケーションのオンボーディング時に、1つ以上の既存のグループにアプリケーションを割り当てます。グループリストは、カンマで区切る必要があります。

    • --authorization

      エンタープライズユーザには必須です。Contrastで提供される認証ヘッダーです。

    • --code

      Contrastでアプリケーションに使用するアプリケーションコードです。

    • --host

      エンタープライズユーザには必須です。ホスト名を指定します。(例) https://app.contrastsecurity.com/

    • --maven-settings-path

      mavenのsettings.xmlファイルのパスを表示します。

    • --metadata

      アプリケーションに関連付けるユーザ定義のメタデータを指定するための、キーと値のペアのセット(RFC 2253に準拠)を定義します。

    • --organization-id

      エンタープライズユーザには必須です。Contrastでの組織IDを指定します。IDの検索方法については、エージェントキーを参照してください。

    • --tags

      アプリケーションにタグを適用します。タグは、カンマ区切りのリストとして書式設定する必要があります。(例) label1,label2,label3

  • プロキシの設定:

    • --cacert

      CaCert(認証局(CA)による証明書)ファイルのパスを表示します。

    • --cert

      Cert(証明書)ファイルのパスを表示します。

    • --cert-self-signed

      ローカルインストールしたContrastオンプレミス(EOP)をご利用のお客様の場合、SSL証明書をバイパスして自己署名証明書を認識します。

    • --key

      証明書の鍵のパスを表示します。

    • --proxy

      プロキシサーバ経由の接続を許可します。認証が必要な場合は、ユーザ名とパスワード、プロトコル、ホスト、ポートを例のように指定します。(例) "http://username:password@<host>:<port>"

SASTスキャンを実行します。

  • 使用法:contrast scan [オプション]

  • オプション:

    • --fail

      検出された脆弱性の深刻度に基づいて、ビルドを失敗させます。--severityオプションと一緒に使用します。例えば、contrast scan --fail --severity highです。深刻度を指定しない場合、すべての深刻度で失敗が返ります。失敗が検出された場合、CLIコマンドはコード2で終了します。

    • --file

      スキャンするファイルのパスを指定します。ファイルが指定されていない場合は、Contrastはサポート対象ファイル(.jar、 .war、.js、.zipファイル)を作業ディレクトリ内で検索します。

      エイリアス: -f

    • --host

      エンタープライズユーザには必須です。ホスト名を指定します。(例) https://app.contrastsecurity.com/

    • --language

      有効な値:JAVA、JAVASCRIPT、DOTNET

      エイリアス: -l

    • --name

      Contrastのプロジェクト名を指定します。指定されていない場合、Contrastはcontrast.settingsを使用してプロジェクトを識別するか、プロジェクトを作成します。

      エイリアス:-n

    • --save

      検出結果をSARIF(Static Analysis Results Interchange Format)ファイルでダウンロードします。ファイルは、デフォルトの名前のresults.sarifで現在の作業ディレクトリにダウンロードされます。このファイルは、任意のテキストエディタで表示できます。

      エイリアス:-s

    • --severity

      ビルドを失敗させる脆弱性の最低レベルの深刻度を指定します。--failオプションと一緒に使用します。例えば、contrast scan --fail --severity highです。深刻度は、criticalhighmediumlow、またはnoteです。

    • --timeout

      スキャンが完了するまでの待機時間(wait)を秒数で指定します。デフォルトの値は、300秒です。

      エイリアス:-t

  • 詳細オプション:

    • --api-key

      エンタープライズユーザには必須です。Contrastで提供されるエージェントのAPIキーを指定します。キーの検索方法については、エージェントキーを参照してください。

    • --authorization

      エンタープライズユーザには必須です。Contrastで提供される認証ヘッダーです。

    • -ff

      ファイア・アンド・フォーゲット(Fire-&forget)。実行させておくだけで、結果を監視・待つ必要がありません。

    • --host

      エンタープライズユーザには必須です。ホスト名を指定します。(例) https://app.contrastsecurity.com/

    • --label

      スキャンにラベルを付けます。デフォルトは、CLIツールで開始した日付[現在の日付]です。

    • --organization-id

      エンタープライズユーザには必須です。Contrastでの組織IDを指定します。IDの検索方法については、エージェントキーを参照してください。

    • --project-id

      スキャンプロジェクトに関連付けられたIDです。IDは、Contrast Webインターフェイスでスキャンプロジェクトを選択した際のURLにある最後の文字列です。

  • プロキシの設定:

    • --cacert

      CaCert(認証局(CA)による証明書)ファイルのパスを表示します。

    • --cert

      Cert(証明書)ファイルのパスを表示します。

    • --cert-self-signed

      ローカルインストールしたContrastオンプレミス(EOP)をご利用のお客様の場合、SSL証明書をバイパスして自己署名証明書を認識します。

    • --key

      証明書の鍵のパスを表示します。

    • --proxy

      プロキシサーバ経由の接続を許可します。認証が必要な場合は、ユーザ名とパスワード、プロトコル、ホスト、ポートを例のように指定します。(例) "http://username:password@<host>:<port>"

AWS Lambda関数をスキャンします。スキャンするAWS Lambdaの関数名を指定してください。

  • 使用法:contrast lambda --function-name <関数名> [オプション]

  • エイリアス:-f

  • オプション:

    • --endpoint-url

      AWSエンドポイントを上書きします。AWS CLIと同様です。

      エイリアス:-e

    • --region

      AWSリージョンを上書きします。デフォルトは、AWS_DEFAULT_REGIONです。AWS CLIと同様です。

      エイリアス:-r

    • --profile

      AWSの設定プロファイルを上書きします。AWS CLIと同様です。

      エイリアス:-p

    • --json

      人が判読できるデフォルトのフォーマットではなく、レスポンスをJSON形式で返します。

      エイリアス:-j

    • -–verbose

      ターミナルに詳細情報を返します。

      エイリアス:-v

    • --list-functions

      スキャン可能なLambda関数を一覧表示します。

    • -–help

      使用方法を表示します。

      エイリアス:-h

  • プロキシの設定:

    • --cacert

      CaCert(認証局(CA)による証明書)ファイルのパスを表示します。

    • --cert

      Cert(証明書)ファイルのパスを表示します。

    • --cert-self-signed

      ローカルインストールしたContrastオンプレミス(EOP)をご利用のお客様の場合、SSL証明書をバイパスして自己署名証明書を認識します。

    • --key

      証明書の鍵のパスを表示します。

    • --proxy

      プロキシサーバ経由の接続を許可します。認証が必要な場合は、ユーザ名とパスワード、プロトコル、ホスト、ポートを例のように指定します。(例) "http://username:password@<host>:<port>"

ヘルプと学習コンテンツ

使用方法を表示します。CLIコマンドの詳細なヘルプを一覧表示 するには、-h--helpフラグをコマンドに追加します。

  • 使用法:contrast scan --help

  • エイリアス:-h

ContrastのSecure Codeラーニングハブを表示します。

  • 使用法:contrast learn