株式会社イーエルティ

はじめての Code Dx Enterprise

Code Dx を使うまでのアプローチ

本項では、初めてCode Dx をお使い頂くお客様が、最短でCode Dx のメリットを体験して頂けるよう、概略の手順をご紹介します。

ゴールまでステップを踏んで進みましょう

アプローチの手順を図1に示します。5つのステップでご紹介します。以下、図中の①~⑤と項番が対応しています。
  1. 目的・用途をきめます。初めての段階では、必要なステップを最後まで順番に実行できることで、細かい情報の内容は二の次でも良いかもしれません。動作することが確認出来た以降は、チーム・組織としての必要な情報が取れるように、解析ツールの環境やCode Dxの細かい設定を仕上げて実行できるようにすることです。
  2. 解析対象の範囲を決めます。最初は、一つの言語、一番小さいビルド単位、等に限定した方が良いでしょう。ビルドがエラーなく実行されるソースコードを入力すべきです。
  3. 解析のために実行するツールを一つ決めます。Code Dxのバンドル解析ツールを使用する場合、Code Dxは2つ以上のツールを適用することを提案してくる場合があります。最初は、どれか一つに絞って実行することを推奨します。実行するツールの絞り込みは、Code Dxから指示可能です。お客様所有のツール(Code Dxサポート対象であること)を利用する場合も、最初の動作確認時は代表のツールだけを対象にするのが無難です。
  4. 解析を実行します。解析は、Code DxのバンドルツールはCode Dxから解析実行を指示します。お客様所有のツールを使う場合には、事前に解析を実行して下さい。実際にはこのステップは、繰り返しになる事が多いです。解析中に解析ツールがエラーを検出するなどして、解析結果が出力されない場合があります。その場合は、エラーの原因を取り除いて、解析が完了かつ解析結果が出力されるようにして下さい。
  5. (解析した)結果をCode Dxで確認します。Code Dx にバンドルされたツールについては、解析結果は自動的にCode Dxに取り込まれます。お客様所有のツールの場合は、解析結果をインポートする指示をCode Dxにした時点で、データが取り込まれます。一旦データが取り込まれると、Code Dx は自動的にデータを整理統合してデータベースに格納します。そのデータは、Code Dxの Findings画面で確認することができます。初めてCode Dxを使う場合は、このFindings画面で、解析ツール実行結果の脆弱性一覧が見れれば、最低限のゴールを達成したことになります。

以上が、大まかなステップです。図1の⑤まで到達すれば、次は、①の目的を本来の目的に近づけて決め直し、それに合わせて②と③を調整して、④と⑤を再度実行します。(図2)

図1 初めて動作確認する場合のステップ
図2 動作確認後は、ツールの種類を増やし、解析内容を広げる

簡単なアプローチの例

以下、実際に初めてCode Dxを使う場合の例を見てみましょう。項目の番号は、図1の①~⑤に対応します。

  1. 目的・用途:Code Dxバンドルツールを実行して、脆弱性の一覧を見れる事を確認する。
  2. 解析対象の決定:脆弱性を故意に作り込んだサンプルソースコードである、WebGoatを対象とする。言語はJava言語。ソースは、warファイル1本とする。(このwarファイルのダウンロード先は、Quick Start Guide ご参照)
  3. ツールの決定:WebGoat.war内のJavaソース・コードだけをチェックするため、Spotbugsのみ実行する。(SpotBugsはJavaソースコードを解析する、バンドルツール)
  4. 解析を実行:Code Dxから解析実行開始を指示します。
  5. Code Dxで解析結果を確認:前ステップの解析が完了したら、Project List画面からFindings一覧画面に移動して、脆弱性の一覧を確認します。
図3 「A Sample Project」を開き「New Analyses」を実行
図5 実行すべき解析ツールをCheckStyleに限定
図7 Findings一覧画面
図4 WebGoat.warファイルを解析後ツール一覧表示
図6 解析が完了した通知(処理時間、Findings一覧へのリンク)
図8 脆弱性の詳細画面(その1)
図8 脆弱性の詳細画面(その2)