Skip to main content

CLIコマンド

CLIで-hまたは--helpオプションを指定すると、コマンドラインのヘルプを参照できます。ヘルプガイドには、Contrastの設定、アプリケーション、脆弱性などに関する情報を理解するために使用できる以下のコマンドオプションがあります。

下記の例では、<string><level>をご利用の環境に合わせた値に置き換えてください。

一般的なコマンド

接続や設定に関するコマンドオプションです。

オプション

説明

--api_key <string>

Contrastで提供されるエージェントのAPIキー(必須)

--application_id <string>

Contrastに登録されているアプリケーションのID(必須)

--application_name <string>

Contrastに登録されているアプリケーションの名前(任意)

--authorization <string>

Contrastで提供されるユーザの認証ヘッダ(必須)

-h, --help

ヘルプを表示します。

--host <string>

ホスト名。オプションでポートを<host>:<port>と指定することもできます。 URLのプロトコル要素(https://)は含めません。デフォルトは、app.contrastsecurity.comです。(任意)

--language <string>

アプリケーションの言語。有効な値は、JAVA、DOTNET、NODE、PHP、PYTHON、RUBY、GO。project_pathに複数のプロジェクトの設定ファイルがある場合、言語の指定が必須。(catalogue操作には必須)

--organization_id <string>

Contrastでの組織ID(必須)

--project_path <string>

検査したいプロジェクトやアプリケーションのディレクトリのルート。デフォルトは現在のディレクトリです。(任意、但しWindowsで実行する場合は必須)

--proxy <string>

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

--silent

JSON出力をサイレントにします。(任意)

--sub_project <string>

Gradleアプリケーション内のサブプロジェクトを指定します。(任意)

-v, --version

現在使用しているCLIのバージョンを表示します。

--yaml_path <string>

YAMLファイルからパラメータを読み込む場合に指定するYAMLファイルへのパス(任意)

yaml_pathを使用すると、ターミナルからの以下の接続パラメータは無視されます。

  • yamlOnly:

  • key:pathToKey

  • cert:pathToCert

  • cacert:pathToCaCert

注記

特殊文字の問題を回避するために、これらのコマンドのパラメータを引用符で囲む必要がある場合があります。例:

--application_name = "My_app_name_$+=(/\"

SCA

Contrast SCAの検査に関するコマンドオプションです。

オプション

説明

アプリケーションのカタログ作成

--app_groups <string>

catalogueコマンドを使用時に、アプリケーションを1つ以上の既存のグループに割り当てます。グループリストは、カンマで区切る必要があります。(任意)

--catalogue_application

アプリケーションを登録(catalogue)します(必須)。アプリケーション名が存在しない場合は、アプリケーションを作成して依存関係ツリーが送信され、存在する場合は既存のアプリケーションに依存関係ツリーが追加されます。

--code <string>

Contrastでこのアプリケーションに使用するアプリケーションコード(任意)

--metadata <string>

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

--tags <string>

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

スナップショット - Javaのみ

--maven_settings_path <PathToFile>

Mavenのsettings.xmlファイルの別の場所を指定できます。<PathToFile>の箇所をファイルのフルパスに置き換えます。Contrast CLIでアプリケーションを登録するときに、一連のキーにこのパスを追加してください。(任意)

アプリケーションの登録

--cli_api_key <string>

--cli_authorization <string>

--cli_organization_id <string>

--cli_host <string>

--language <string>

--application_name <string>

--sbom

アプリケーションの登録とSBOMレポートの取得を同時に行うには、この一連のコマンドオプション(値は前述と後述の表に記載)を使用します。

注:パラメータの"cli_"という接頭辞は、将来のリリースで廃止される予定です。

レポート

--cve_severity <level>

--reportと組み合わせると、選択した深刻度以上の脆弱性があるライブラリが報告されます。例えば、cve_severity mediumを指定すると、(Medium)と中より高い深刻度の脆弱性のみが報告されます。

--cve_threshold <number>

ビルドが失敗するまでに許容するCVEの数をしきい値として設定します。しきい値を超えるCVEがあると、ビルドは失敗になります。

--fail

脆弱性が検出された場合、ビルドを失敗にします。cve_severityと組み合わせて使用すると、定義した深刻度の脆弱性検出時にビルドを失敗にすることができます。

--report

コンパイル時のアプリケーションの脆弱性情報を表示します。

--ignore_dev

--reportコマンドと組み合わせると、開発・試験用ライブラリの依存関係を脆弱性レポートから除外します。デフォルトでは、全ての依存関係がレポートに含まれます。

SBOM

--sbom

SBOM(ソフトウェア部品表)をCycloneDX JSONフォーマットで生成してダウンロードします。

ヒント

--reportコマンドを使用すると、全ての脆弱なライブラリの情報がターミナル に返されます。検出された全てのCVEは、以下のように出力されます。

org.webjars/jquery-ui/1.11.4 is vulnerable

CVE-2016-7103 MEDIUM Cross-site scripting (XSS) vulnerability in jQuery UI before 1.12.0 might allow remote attackers to inject arbitrary web script or HTML via the closeText parameter of the dialog function.

--cve_severityパラメータを使用して、レポートするCVEの最小しきい値を設定することで、出力される脆弱性情報を制限できます。

--failパラメータを、自動化されたCI/CDパイプラインの一部に使用することで、深刻度のしきい値を超えたライブラリでアプリケーションがデプロイされないようにできます。例えば、次のようにYAMLファイルを使用してCLIを実行できます。

contrast-cli --yaml_path path/to/yaml --report --cve_severity high --fail

スキャン

Contrast Scanに関連するコマンドオプションです。ビルドとスキャンのインテグレーションもご覧ください。

Contrast Scanは、.NETプロジェクトのEXEおよびZIPファイルをサポートします。アプリケーションの言語はDOTNETに設定し、ZIPはDLLを含む./binフォルダのZIPである必要があります。

オプション

説明

--project_id <ProjectID>

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

推奨:最初のスキャンでは、このオプションの代わりに--project_nameオプションを使用してください。スキャンによってプロジェクトが作成されます。

--project_name

スキャンプロジェクトの名前を指定します。プロジェクト名にスペースが含まれる場合は、二重引用符(")で囲みます。

新しい名前を指定すると、プロジェクトが作成されます。既存の名前を指定すると、アップロードされたファイルはそのプロジェクトに追加されます。

--save_scan_results

このオプションが指定された場合は、SARIFファイルがresults.jsonとして現在のディレクトリに保存されます。(任意)

--scan<FileToBeScanned>

指定されたWARまたはJARファイルの静的スキャンを開始します。<FileToBeScanned>を、スキャン用にアップロードするWARまたはJARファイルのパスに置き換えます。

--scan_results_file_name

JSONファイル形式である必要があります。このオプションが指定された場合は、SARIFファイルを保存するためのデフォルトファイル名が上書きされます。(任意)

--scan_timeout

スキャンがタイムアウトするまでの時間(秒単位で)を指定します。scan_timeoutが設定されていない場合、デフォルトのタイムアウトは20秒です。

--wait_for_scan

スキャンの結果を待機(wait)します。