株式会社イーエルティ

01-20

01. 「Begin Analysis」ボタンを押して解析中に終了してしまい解析結果が出ない

解析中に、その解析が異常終了してしまう場合があります。この場合には、Code Dx は解析ツールから解析結果のデータが得られず、「Findings」の件数がゼロ件になります。

この場合、以下のステップで、原因の絞り込みを行って、原因を取り除いてから解析を再度実行する必要があります。

  1. Code Dx 画面右上のアイコンから、「Vidual Log(設定アイコンのようなシンボル)」ボタンを押して、Visual Log を開きます。
  2. Visual Log を見て、現在処理中のプロジェクトのエラーで一番新しいエラーを参照し、原因を推定します。このサンプル「Visual Log の例」の場合は、Code Dx 側ではなく、ツール側の原因と思われます。原因が分からなければ、c. へ。
  3. Code Dx の詳細ログである、codedx.log を調査します。例えば、下図の「condedx.logの例」であれば、Visual Log と同等の情報しかなく、原因推定にいたらないので、次の d. へ。(codedx.log は、Code Dx のデータフォルダのなかの、ログフォルダに作成されます。詳しくは、「インストールの手引き」を参照願います。
  4. 解析ツールの解析対象を絞ります。Analysis Config の中で、「Zip content exclusion rules」を設定して、本当に解析したいソース(全体出なく、一部)以外を、このExclution Rule で解析対象から除外する。(Exclusion Rule については、Users Guiuideを参照)さらに、実行するツールについても、Code Dx が自動選択するツールを全部実行するのではなく、対象の言語を一つに絞り(複数の言語が混じっている場合)、解析に最低限必要なツールを一つに絞ります。その状態で、再度解析を実行します。
  5. その実行結果を見て、前記 a. b. を確認して、問題の範囲を絞り混みます。
  6. 対象を絞り込むと、最終的には、c. のcodedx.log に原因が見えてきます。解析ツールが異常終了する多くの場合は、解析のために入力したソース・コードに原因があります。特に、ビルドが不完全な状態のソース・コードは異常終了の要因になります。また、ビルドのフォルダ全部をZipファイルにして、Code Dx に入力している場合は、解析不能のファイルが混じっている場合があります。その場合は、純粋に解析対象の言語のソース・コードだけをZipファイルにするか、あるいは、前記のExclusion Rule を設定することで、解析対象を絞り込みます。

02. Dependency-Checkの処理に時間が掛っているようだ

Dependency-Check は既知の脆弱性データベースを参照して、今解析しようとする対象のソースコードやライブラリの脆弱性をチェックするものです。

Dependency-Check は、脆弱性データベースを参照するために、インターネット接続が必須です。インターネット接続が出来ない場合、データベースを最新の状態に更新できないため、チェックが不正確になる可能性があります。

Dependency-Check に異常な程時間がかかる現象は確認しておりますが、原因は特定出来ていません。もし、お客様が解析を始めた初期段階であれば、一旦、Dependency-Check を実行させないで、解析を進める事を提案します。Dependency-Check を使わないで、他の解析ツールが正常に解析完了して、Code Dx がその解析結果をインポートできるようにする事を、最初のゴールとして下さい。

また、合わせて、以下の条件を確認して下さい。

  • Code Dx を実行しているマシンはインターネットに接続できているか?合わせて、ProxyやFirewallの有無と、これらを使っている場合にこれらを通り抜けるための設定情報を確認して下さい。
  • 当面、Dependency-Check が本当に必要なのかを再確認して下さい。必要ないか、優先度が低い場合には、Code Dxから解析を開始するために、「Begin Analysis」ボタンを押す前に、Dependency-Check を実行対象から外すことを検討して下さい。また、プロジェクトの設定により、Dependency-Checkをデフォルトで使用しない設定も可能です。
  • 解析対象のソースコードやライブラリは、正しくビルドできる集合になっているでしょうか?また、ライブラリの場合、同一のライブラリがZipに複数子含まれている場合には、正しく解析ができない場合があります。Zipには、重複してライブラリを含まないようにして下さい。