コンテナー化スキャンのトラブルシューティング

AppScan 360°のスキャンのトラブルシューティングは、AppScan on Cloudのスキャンとは少し異なります。AppScan 360°のスキャンの問題をトラブルシューティングするには、こちらのガイダンスに従ってください。

コンテナー化スキャンのトラブルシューティングは、まずユーザーが実行し、解決策に達しない場合は管理者にエスカレーションします。トラブルシューティングの一般的なパスは次のとおりです。
  1. ユーザーはエラー・メッセージを確認します。
  2. ユーザーは一般的なエラー・ケースをレビューします。
  3. 問題が解決しない場合は、ユーザーはスキャン・ログをダウンロードし、管理者にエスカレーションします。
  4. 管理者は、ユーザーが提供した情報を調査します。
  5. 問題が解決しない場合は、管理者がHCLサポートにエスカレーションします。

ユーザー: エラー・メッセージを確認

失敗したスキャンのスキャン・ページに移動します。以下のいずれかです。
  • [アプリケーション] > (アプリケーション) > [すべてのスキャンを表示] > (スキャン名)の順に選択します。または、
  • [スキャン] > (スキャン名) を選択します。
スキャン・ページに表示されるエラー・メッセージを確認します。一般的なエラー・ケースについては、以下で説明します。

ユーザー: 一般的なエラー・ケースの確認

最もよくあるエラーは、次のとおりです。

オープン・ソース

Error: Scan failed. Your subscription does not allow for Open Source scans. Please contact your sales representative for information regarding activating “Open Source” scanning. If you need further assistance, please reach out to our Technical Support team

オープン・ソース・ファイルをスキャンしようとしました。 AppScan 360° オープン・ソース・スキャンはサポートしていません。

スキャン用に ZIP ファイルをアップロードした場合は、ZIP ファイルの内容を確認します。

  • ZIP にオープン・ソース・ファイルのみが含まれている場合は、非オープン・ソース・ファイルを含む ZIP をアップロードして、スキャンを再試行します。
  • ZIP ファイルに構成ファイル appscan-config.xml が含まれている場合は、ファイルにリストされているプロパティを確認します。 AppScan 360° openSourceOnly プロパティをサポートしていません。openSourceOnly="true" が表示されている場合は、このプロパティを削除して、スキャンを再試行してください。
    注: ここでappscan-config.xml 用にサポートされているプロパティを確認します。
IRX をアップロードした場合:
  1. ターゲット・ファイルがオープン・ソース・ファイルでないことと、openSourceOnly パラメーターが使用されていないことを確認して、appscan prepare を再実行します。
    注: ここでappscan prepare 用にサポートされているパラメーターを確認します。
  2. 問題が解決しない場合は、スキャン・ログをダウンロードし、管理者にエスカレーションします

IPVA なし/破損した IRX

Error: We are unable to complete the scan successfully. The scan failed since the IRX was not created properly. It could possibly be due to an incorrect configuration or missing dependencies. If you need additional assistance, please reach out to our Technical Support team.

スキャンの IRX 生成ステップ中に問題が発生しました。

IRX をアップロードした場合:

  • appscan prepare が実行された場所にアクセスできる場合は、そのプロセス中に作成された logs.zip ファイルにエラーがないかどうかを確認します。
  • SAClientUtil/logs/client.log ファイルにエラーがないかどうかを確認します。
  • IRX の詳細な調査については、管理者にエスカレーションしてください

ZIP をアップロードした場合は、スキャン・ログをダウンロードし、管理者にエスカレーションします

不明エラー

Error. An unknown error occurred.

いくつかの原因が考えられます。詳細を調査するため、スキャン・ログをダウンロードし、スキャン管理者にエスカレーションします

ユーザー: スキャン・ログをダウンロードし、管理者にエスカレーションする

スキャン・ログをダウンロードするには:
  1. スキャン・ページ (アプリケーション > アプリケーション > すべてのスキャンの表示 > (スキャン名) または スキャン > (スキャン名)) で、スキャンの詳細の下に表示されている実行 ID をコピーします。
  2. スキャン・ページの右上で、管理スキャン > ダウンロード・ログを選択します。

    AppScan 360° ZIP ファイルをローカル・システムにダウンロードします。ダウンロードの場所を書き留めておきます。

  3. ZIP ファイルの内容を解凍します。
  4. service.log ファイルを開きます。

    このファイルから、エラーがスローされたステップを特定できるはずです。

    次に例を示します。
    Request received to perform scan for execution-id 4277b41a-18ad-44ad-81c9-9542e7af83d7.
    Initiated fetch scan data request with scan-id e7330058-c743-41af-8914-95eb30554d78.
    Downloaded scan data successfully.
    Request received to perform scan.
    Initiated prepare request with scan-id e7330058-c743-41af-8914-95eb30554d78.
    Received prepare (PERFORM_PREPARE) request with scan-id e7330058-c743-41af-8914-95eb30554d78 by preparer-6d7c4c9c58-c4kgq.
    Execution completed with exit code -1.
    Request received to publish status to server for scan-id e7330058-c743-41af-8914-95eb30554d78. (Failed: Execution completed with exit code -1.)

    この例では、エラーは PERFORM_PREPARE ステップ中にスローされました。prepare ステップ中に障害が発生したため、準備ポッドを調べます。

トラブルシューティングのためにスキャン管理者に問題をエスカレーションするには、次の情報を収集します。これらの情報の一部は service.log ファイルに含まれています。
  • 実行 ID

    上記の service.log の例では、 execution-id 4277b41a-18ad-44ad-81c9-9542e7af83d7

  • スキャン ID

    上記の service.log の例では、 scan-id e7330058-c743-41af-8914-95eb30554d78

  • 準備ポッド ID (該当する場合)

    上記の service.log の例では、 preparer-6d7c4c9c58-c4kgq

  • アナライザ・ポッド ID (該当する場合)
  • AppScan 360°または service.log のスキャン・ページに報告されたエラー。
  • ログ ZIP ファイル。
  • スキャンするアプリケーション/プロジェクトの詳細。

スキャン管理者: ユーザー提供の情報を調査する

スキャン・ログへのアクセス

スキャン・ログにアクセスするには:

  1. Swagger ページを開きます。
  2. 右上の [スキャンサービス] > [スキャン管理サービス] を選択します。
  3. [許可]をクリックします。
  4. デプロイメント中に渡したAppScan Central Platformシークレット (--auth-token flag) を入力し、[許可] をクリックします。
  5. [ぜひお試しください。] をクリックします。
  6. スキャン ID をテキストボックスに貼り付けて、[実行]をクリックします。

    スキャン ID がわからない場合は、スキャン・ページからダウンロードした service.log で確認できます。

  7. 応答の本文で、[ログのダウンロード] リンクをクリックします。

    これにより、複数のログ・ファイルを含む ZIP ファイルがローカル・マシンにダウンロードされます。ダウンロードしたファイルの場所を書き留めておきます。

  8. 次のログを抽出して、エラーを調査します:
    • prepare.log
    • StaticAnalyzer-Errors.log
    • SASTAgent.log
  9. エラーがあれば解決し、スキャンを再試行します。

IPVA なし/破損した IRX エラーが表示されている IRX を調査する

  1. Swagger ページを開きます。
  2. 右上の [スキャンサービス] > [スキャン管理サービス] を選択します。
  3. [許可]をクリックします。
  4. デプロイメント中に渡したAppScan Central Platformシークレット (--auth-token flag) を入力し、[許可] をクリックします。
  5. [IRX ファイルをダウンロードする] までスクロール・ダウンして、[ぜひお試しください。] をクリックします。
  6. スキャン ID を入力し、[実行] をクリックします。

    これにより、IRX ファイルがローカル・マシンにダウンロードされます。ダウンロードしたファイルの場所を書き留めておきます。

  7. 7-ZIP または同様のツールを使用して、IRX ファイルを右クリックし、[アーカイブを開く] をクリックします。

  8. internal.scan をダブルクリックして開きます。

  9. ルートの .log ファイルとログ・フォルダのログをチェックして、エラーがないかどうかを確認します。
  10. エラーがあれば解決し、スキャンを再試行します。

オープン・ソース・エラーのある IRX の調査

注: AppScan 360° オープン・ソース・スキャンはサポートしていません。
スキャンが Your subscription does not allow for Open Source scans. というエラーで失敗し、スキャン用に IRX をアップロードした場合は、IRX ファイルにエラーがないかどうかを確認します。
  1. Swagger ページを開きます。
  2. 右上の [スキャンサービス] > [スキャン管理サービス] を選択します。
  3. [許可]をクリックします。
  4. デプロイメント中に渡したAppScan Central Platformシークレット (--auth-token flag) を入力し、[許可] をクリックします。
  5. [IRX ファイルをダウンロードする] までスクロール・ダウンして、[ぜひお試しください。] をクリックします。
  6. スキャン ID を入力し、[実行] をクリックします。

    これにより、IRX ファイルがローカル・マシンにダウンロードされます。ダウンロードしたファイルの場所を書き留めておきます。

  7. 7-ZIP または同様のツールを使用して、IRX ファイルを右クリックし、[アーカイブを開く] をクリックします。

  8. scan.manifest ファイルを検査のために開きます。
    Total Languages Found = 1 であり、Language セクション内の唯一のエントリが Open Source である場合、IRX ファイルはオープン・ソース・スキャン専用に生成されたか、またはオープン・ソース・ファイルのみを含む場所を指定したことになります:
    • ターゲット・ロケーションに非オープン・ソース・ファイルが含まれていることを確認します。

      AppScan 360° オープン・ソース・スキャンはサポートしていません。

    • appscan prepare コマンドまたは appscan-config.xml ファイルでサポートされていないプロパティまたはパラメーターを使用していないことを確認します。openSourceOnly="true" がリストされている場合は、このプロパティを削除します。

      AppScan 360° openSourceOnly プロパティは appscan prepare または appscan-config.xml ではサポートされません。

  9. スキャンを再試行してください。

スキャンのためのポッド・ログへのアクセス

Swagger ダウンロードで提供できるよりも詳細なログが必要な場合は、ポッド自体からログを取得できます。
  1. Kubernetes IDE で、調査しているポッドのログをダウンロードします。
  2. このファイルで、スキャン ID 文字列を検索します。
    準備または分析ステージは、ログ内で次のようになります。
    Payload(id= e7330058-c743-41af-8914-95eb30554d78, type=PERFORM_PREPARE,
    Payload(id= e7330058-c743-41af-8914-95eb30554d78, type=PERFORM_ANALYSIS,
    これらの行の後に、準備コマンドと解析コマンドが実行されます。ここにエラーが表示されます。何が問題かがこのログに明確に示されていない場合は、ポッドに接続してさらに調査してください。
  3. ポッドに接続して、次のコマンドを実行します。
    >: cd ~/data/scans/<scan_id>/logs
  4. エラーの検索:
    1. 準備エラーについては、prepare.log および SAClientUtil/logs/client.log を参照してください。

      SAClientUtil/logs/client.log ~/SAClientUtil にあります。

    2. 解析エラーについては、StaticAnalyzer-Errors.log および SASTAgent.log を参照してください。
注: ポッドが強制終了した場合は、アクティブなポッドからこれらのコマンドを使用してポッド・ログにアクセスできます:
>: cd logs/<pod_type>/
>: cat <pod_id>.log

その他のエラー・ケースの調査

オープン・ソース・ファイルの種類

Problems found during validation. 
The prepare operation found only open source files types. To run opensource only, use the -oso flag. To run security and opensource, include additional supported file types.

オープン・ソースのみのスキャンを実行しようとしたか、サードパーティ・スキャンを実行しようとしましたが、スキャンには追加の構成が必要です。

AppScan 360° オープン・ソースのみのスキャンはサポートしていません。

スキャン構成を確認します:
  • appscan prepare コマンドでサポートされていないパラメーターを使用していないことを確認します。openSourceOnly="true" または -oso が表示されている場合は、このパラメーターを削除します。

    AppScan 360° appscan prepare では、 openSourceOnly または -oso パラメーターはサポートされていません。

  • IRX をアップロードし、サードパーティ・ライブラリのみがある場所でスキャンを実行する場合は、サードパーティ・スキャンを有効にします。以下のいずれかです。
    1. サードパーティ・フラグを appscan prepare に追加して、サードパーティ・ライブラリをピックアップし、スキャンを再試行します。

      コマンドは次のようになります: appscan prepare -tp

    2. thirdParty="true"appscan-config.xml に追加して、スキャンを再試行します。

      例については、CLI を使用した IRX ファイル生成の構成を参照してください。

  • ZIP をアップロードし、サードパーティ・ライブラリのみがある場所でスキャンを実行する場合は、サードパーティ・スキャンを有効にします:
    • サードパーティのコードをスキャンする場合は、 add thirdParty="true"appscan-config.xml に追加して、スキャンを再試行します。

既知のファイル・タイプがありません

No known scan file types were found during discovery. 
Please specify a location that contains .class, .jar, .war, .ear, .dll, .exe, PHP, Ruby, NPM packages, or JavaScript files.

スキャン可能なファイルが含まれていない場所をスキャンしようとしました。

ターゲット・ロケーションにあるファイルが有効なファイル・タイプであることを確認します。サポートされているファイル・タイプのリストは、静的解析言語サポートで確認してください。

appscan-config.xml を使用した場合は、ターゲット・パスが有効な場所であることを確認します。

スキャン可能なファイルがありません

Problems found during validation. 
No scannable files found. If you are trying to scan third party code, generate the IRX file using the --thirdParty option. If you are trying to scan for open source, generate the IRX using the -oso option. For a list of supported file types, refer to https://help.hcl-software.com/appscan/ASoC/src_language_support.html#src_language_support__table_ylp_rn5_jw.
  • サードパーティ・ライブラリのみがある場所でスキャンを実行する場合は、サードパーティ・スキャンを有効にする必要があります。以下のいずれかです。
    1. サードパーティ・フラグを appscan prepare に追加して、サードパーティ・ライブラリをピックアップし、スキャンを再試行します。

      コマンドは appscan prepare -tp のようになります。

    2. thirdParty="true"appscan-config.xml に追加して、スキャンを再試行します。

      例については、CLI を使用した IRX ファイル生成の構成を参照してください。

  • データ・フロー分析スキャンを実行する場合は、ターゲット・スキャンの場所に Java、.NET、または C/C++ 用の正しいコンパイル済みファイル・タイプが含まれていることを確認してから、スキャンを再試行してください。

  • ソース・コードのみのスキャンを実行する場合は、ターゲット・ロケーションに正しいソース・コード・ファイル・タイプが含まれていることを確認してから、スキャンを再試行してください。
  • ソース・コードのみのスキャンを実行しない場合は、appscan prepare コマンドまたは appscan-config.xml から –sco フラグを削除して、スキャンを再試行します。

スキャン管理者: HCL サポートとの連携

ここに記載されているトラブルシューティング・ガイダンスを適用した後も、スキャン・エラーの原因がわからない場合は、 HCL カスタマーサポートにお問い合わせください。サポートに次の情報を提供できるようにします。
  • 実行 ID
  • スキャン ID
  • 準備ポッド ID (該当する場合)
  • アナライザ・ポッド ID (該当する場合)
  • AppScan 360°または service.log のスキャン・ページに報告されたエラー。
  • ログ ZIP ファイル。
  • スキャンするアプリケーション/プロジェクトの詳細。
  • 問題のトラブルシューティングおよび/または解決のために実行された手順の詳細。
注: 重要な情報およびポッドからのスキャンの詳細のバックアップを安全な場所に保管します。ポッド上のデータは、デフォルトで 10 日後にクリーンアップされます。