Static Analyzer コマンド行ユーティリティー の使用
Static Analyzer コマンド行ユーティリティー (SAClientUtil) は、AppScan on Cloud または AppScan 360° でスキャンできる IRX を生成するために使用します。この appscan prepare コマンドは、AppScan 360° 静的分析 との併用に対応しています。
IRX ファイルとは
IRX は、暗号化されたセキュアな zip アーカイブで、ご使用のプログラムのすべての静的分析を実行するために必要な情報が含まれています。作成後、保管中は暗号化されます。
内部的に、IRX アーカイブには以下のファイルおよび成果物が含まれます。
- お客様のデプロイ済みソース・コード (例えば、Java バイトコードや .Net MSIL) から作成されたデプロイ可能なプログラム成果物の、独占所有物である難読化された表記。静的分析スキャンでサポートされている言語について詳しくは、「静的分析のシステム要件」を参照してください。
- セキュリティーの脆弱性について分析対象となり得ると分析されたご使用のプログラムと一緒にデプロイされたランタイム・スクリプト・ファイル (例えば、.js (Javascript) や .rb (Ruby) ファイル)。
- アプリケーションまたはプロジェクト階層、およびご使用のプログラムの関係または従属関係について記述した Static Analyzer 設定ファイル。これにより、ご使用のアプリケーション内のプロジェクト境界を越えて、正確かつ完全なセキュリティー分析を行うことが可能になります。
- アーカイブ (診断およびサポート用) の作成時に生成される Static Analyzer ログ・ファイル。
IRX ファイルの生成
appscan prepare または appscan.sh prepare を使用して IRX を生成します。
構文:
appscan.sh prepare -c <configuration_file> -d <save_path> -jdk <jdk_path> -l <log_path> -n <file_name> -v, -X,--debug
説明:
IRX ファイルを生成します。
オプションのフラグ/設定:
-acceptssl: 信頼できない証明書の使用を受け入れます。注: この設定は、すべてのSAClientUtilコマンドで使用できます。重要: クライアントと AppScan 360° の間の通信用にインストールされた証明書を信頼できる証明書にすることを強く推奨します。「AppScan 360° 分散環境のセットアップ」を参照してください。-
-c: このオプションは、スキャンの構成に使用します。 -
-d:-d <save_path>と指定します。<save_path>には IRX ファイルの保存先ディレクトリーが入ります。 -
-dr, --dryrun:-dr or --dryrunを指定してスキャン対象を見つけて検証しますが、.irxファイルは生成しません。 -
-jdk:-jdk <jdk_path>と指定して、デフォルトの JDK 11 の代わりに使用される JDK インストールへのパスを指定します。構成ファイル (-c <configuration_file>) とjdk_path属性の両方を使用した場合は、構成ファイルで指定された値が優先されます。 -
-l:-l <log_path>と指定します。<log_path>にはログ・ファイルの保存先ディレクトリーが入ります。 -
-n:-n <file_name>と指定します。<file_name>には IRX ファイルの名前が入ります。.irx ファイルの拡張子はつけてもつけなくても、ファイル名を指定できます。ファイル拡張子なしで指定すると、ファイル生成時に自動的に拡張子が付けられます。 -
-s:-s <value>と指定して、スキャンの速度と深さを指定します。<value>にはsimple、balanced、deep、またはthoroughが入ります。simpleスキャンでは、ファイルの表面レベルの分析を実行して、修復に最も急を要する問題を特定します。完了に要する時間が最も短いスキャンです。
-
balancedスキャンでは、中程度の詳細レベルでセキュリティー問題の分析および特定を行うことができ、「simple」スキャンよりは完了までに多少時間がかかります。 -
deepスキャンでは、ファイルをさらに完全な分析を実行して脆弱性を特定することから、通常、完了までの時間は長くなります。 -
thoroughスキャンでは、包括的な分析を実行して、最も包括的な脆弱性リストを特定するため、完了までの時間は最も長くなります。注: スキャンの速度は、コードで検出された脆弱性の相対数と相関するとは限りません。例えば、simpleスキャンでレポートされる可能性のある誤検出がthorough分析では除外されるため、レポートされる脆弱性が少なくなることがあります。注: このオプションのパラメーターは大文字小文字を区別します。スキャンの速度が指定されていない場合は、クライアント・ユーティリティーはdeepスキャンをデフォルトで実行します。
-
-sco, --sourceCodeOnly:-scoまたは--sourceCodeOnlyを指定して、ソース・コード・ファイルのみをスキャンします。この設定では.dll、.exe、.jar、.war、.slnなど、サポートされている他のファイル・タイプのスキャンが無効になります。ソース・コードのみのスキャンは、ソース・コードへのアクセス権限のみを持っている場合、より高速なスキャンを実行したい場合、またはスキャンの深さよりも速度を優先したい場合に便利です。ビルド出力へのアクセス権限のみを持っている場合、またはスキャンの速度よりも深さを優先する場合は、代替スキャン・オプションを選択します。
注: 組み込まれているソース・コードのみのファイル・タイプのリストについては、「静的分析の言語サポート」を参照してください。
-
-t, --thirdParty: デフォルトで、サード・パーティーの Java と .NET コードは IRX ファイルの生成中にスキャンされません。サード・パーティーの Java と .NET の除外管理 の手順に従って、サード・パーティーのコードの除外設定を変更できます。サード・パーティーのコードを含めるには、prepareコマンドを発行するときに-tまたは--thirdPartyオプションを指定します。サード・パーティー・コードがスキャンで標準的に除外されるようにする開発者の場合、この設定を使用してサード・パーティー・コードをスキャンに含める必要があります。
-
-v,--verbose:-vまたは--verboseを指定すると、IRX ファイルの生成中により多くの出力情報が表示されます。 -
-X,--debug:-Xまたは--debugを指定すると、デバッグ・モードでコマンド全体が実行されます。デバッグ・モードで実行すると、トラブルシューティング用のログ・ファイルがより多く生成されます。
例:
この構成ファイル (c:\my_config_files\my_config.xml) を使用し、IRX ファイルを c:\my_irx_files\my_scan.irx に保存する IRX ファイルを生成するには、このコマンドを発行します。
appscan.sh prepare -c c:\my_config_files\my_config.xml -d c:\my_irx_files -n my_scan.irx