読者です 読者をやめる 読者になる 読者になる

ローグウェーブソフトウェアのブログ

開発をシンプルに 安全で高品質のコードを 素早くお客様のもとへ

OpenLogic の OSS Deep Discovery によるオープンソース スキャニングの手順

概要

ローグウェーブ ソフトウェアOSS管理サービス OpenLogic の大きな柱にスキャニングがあります。SaaS型プラットフォーム OLEX のアドオン OSS Deep Discovery を使ってプロジェクト内で使用しているオープンソース・ソフトウェア(OSS)を洗い出し、社内ポリシーやライセンス規約に適合しているかどうか容易に判断しコントロールすることができます。

この投稿ではスキャニングの大まかな流れを説明してイメージをつかんでいただきます。管理者側のポリシーの事前設定方法などはまた別の記事で紹介します。

手順としては、 以下のような流れになります。

  1. ログイン
  2. プロジェクト作成
  3. スキャンの条件作成
  4. スキャナのダウンロード
  5. スキャンしたいディレクトリの選択
  6. スキャン結果の確認
  7. ライセンスや組織ポリシーとの照合

OpenLogicのOSS関連サービスやOLEXの概要については過去記事を参照してください。

blog.roguewave.jp

blog.roguewave.jp

動画による説明(英語)もあります。

OpenLogicのサービスに興味を持たれた方はお気軽にローグウェーブソフトウェアにご連絡ください。

スキャニングの手順

まずはOLEXにログインします。アカウントを持っていない場合はこちらより申請してください。

f:id:RWSJapan:20150717162412p:plain

プロジェクト作成/選択

メニューから Governance > Projects に進んでください。組織内プロジェクトを管理するダッシュボードが表示されます。

リストからスキャンを実行したいプロジェクトを選んでください。新しくプロジェクトを作る場合はプロジェクトの名前を指定してSaveボタンを押してください。プロジェクトの詳細ページが表示されます。スキャンを実行したことのあるプロジェクトでは、含まれるOSSについて新しい順に脆弱性(CVE)のリストが表示され、検討を促します。

スキャン実行

「New Scan」ボタンを押すと、プロジェクトの特性を選択できます。デフォルトでは Comprehensive になっていますが、拡張子などで探索項目をあらかじめ減らすなどカスタマイズしてスキャンの時間を節約することもできます。スキャンの時に使うメモリの上限を設定することもできます。

f:id:RWSJapan:20150717155305j:plain

Submitを押すとJavaで書かれたスキャナがダウンロードされます。

実行し、スキャン対象のディレクトリを選んでください。サブディレクトリも同様にスキャンされます。スキャンが始まるとプログレスバーが表示され、スキャンの進行具合を教えます。スキャンの間、スキャナはOLEXサーバと通信を行います。スキャンの間、ネットワークに接続されていることを確認してください。進行状態はいつでもOLEX上で見ることができます。終了したらパネルの「View results in OLEX」をクリックしてOLEXの結果表示画面に飛びます。メールで終了を通知させることもできます。

なお、照合に必要なOSSの指紋情報とディレクトリ名だけがサーバに送られます。通信内容にソースコードが含まれることはありません。

スキャン結果の確認/照合

f:id:RWSJapan:20150717162555p:plain

OLEXにスキャンの結果が表示され、どのディレクトリにどのOSSが存在するのかが見やすくツリーで表現されます。多くの場合確認されたOSSはそれぞれポリシーに適合しているかどうかが自動的に判別され confirmされますが、いくつかの場合は手動で確認する必要があるかもしれません。License Analysisワークスペースのステータスボックスに未確認のOSSの個数が表示されます。

f:id:RWSJapan:20150717173521p:plain

いくつかのOSSは複数のライセンスを持っています。組織内のポリシーに応じて適切なライセンスを Set License で選んでください。適合するライセンスがない場合は管理者に申請し承認を必要があるでしょう。

照合はパッケージごとでも、またファイルごとでも行うことができます。作成したソースにOSSのコードをコピーした場合も Deep Discovery は検出することができます。検出した場合は、 Compare Source Code によってファイルのどの場所がOSSから得られたものなのか見ることができます。検出はOLEX上で行われますが、この表示は利用者のローカル環境で行われるため、驚くべきことにここでもソースコードが外部に伝わることはありません。

f:id:RWSJapan:20150717175032p:plain

全ての過程は自動的にOLEXに保存され、いつでもどこからでも作業を再開することができます。

CLI (コマンドラインインターフェイス)

スキャンはコマンドラインツールで行うこともできます。プロジェクトページからCLIスキャナをダウンロードしてコマンドを実行してください。

コマンド例。ダウンロードの際にOLEXから提供されます。

CLIのツールを使うことにより、より柔軟にバッチ実行やCIプロセスへの組み込みなど多彩な運用方法が実現できます。

お問い合わせ

OpenLogicのサービスに興味を持たれた方はお気軽にローグウェーブソフトウェアにご連絡ください。

http://roguewave.jp/forms/request.htmlroguewave.jp

ローグウェーブ セールスエンジニア 柄澤(からさわ)