Static Analyzer コマンド行ユーティリティー の使用

Static Analyzer コマンド行ユーティリティー (SAClientUtil) は、AppScan on Cloud または AppScan 360° でスキャンできる IRX を生成するために使用します。この appscan prepare コマンドは、AppScan 360° 静的分析 との併用に対応しています。

IRX ファイルとは

IRX は、暗号化されたセキュアな zip アーカイブで、ご使用のプログラムのすべての静的分析を実行するために必要な情報が含まれています。このファイルは、クラウドへの転送時 (SSL 経由) だけでなく、作成した際の保管時にも暗号化されます。

内部的に、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 ファイルを生成します。

注: コードをスキャンしたり IRX ファイルを生成したりする際に、最新の Static Analyzer コマンド行ユーティリティー への更新に関するメッセージを受け取ることがあります。このメッセージは、更新または更新拒否に関する ガイダンスとなります。

オプションのフラグ/設定:

  • -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> には simplebalanceddeep、または thorough が入ります。
    • simple スキャンでは、ファイルの表面レベルの分析を実行して、修復に最も急を要する問題を特定します。完了に要する時間が最も短いスキャンです。
    • balanced スキャンでは、中程度の詳細レベルでセキュリティー問題の分析および特定を行うことができ、「単純」スキャンよりは完了までに多少時間がかかります。

    • 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