Azure DevOps 用の WhiteSource Bolt


前書き

WhiteSource Bolt は、Microsoft の Azure DevOps Services および Team Foundation Server(TFS)製品に統合された、軽量のオープンソースセキュリティおよび管理ソリューションです。これにより、次のことが可能になります。

  1. 脆弱なオープンソースコンポーネントを検出して修正します。
  2. プロジェクトまたはビルドごとに包括的なオープンソースインベントリレポートを生成します。
  3. 依存関係のライセンスを含むオープンソースのライセンス準拠を強制する。
  4. 旧式のオープンソースライブラリを識別し、更新することを推奨します。

インストール

WhiteSource Bolt 拡張機能は、Microsoft Visual Studio Marketplace からダウンロードできます  

Get it free(無料で入手)」をクリックし、Microsoftアカウントにサインインします:


次の画面が表示されます。


この段階で、インストールの種類を選択します。

  • オプション1: Azure DevOps の組織がある場合は、組織を選択して Install をクリックします。
  • オプション2: TFSインスタンスに拡張機能をインストールする場合は、Download をクリックしてWhiteSource Bolt 拡張機能を取得します。

オプション1:Azure DevOps組織に拡張機能をインストールする

Azure DevOps組織を選択し、Install をクリックします。

You are all set! メッセージが表示されます。Proceed to organization ボタンをクリックします。

Azure DevOpsの構成をビルドする」のセクションに  進みます。

オプション2:TFS用エクステンションをダウンロードする

Download ボタンをクリックします。

whitesource.ws-bolt-<version number>.vsix がダウンロードされます。TFS 環境内にこの拡張機能をインストールしてください。TFSの構成ビルドするに進みます。

Azure DevOpsの構成をビルドする

プロジェクトの作成

新しいプロジェクトを作成し、そのプロジェクトの名前とオプションの説明を入力します。

Welcome to the project!(プロジェクトへようこそ!)」メッセージが表示されます。

メインメニューから PipelinesWhiteSource Bolt を選択します。

登録フォームに記入してください:

ジョブの設定

'Pipelines' → 'Builds' → Click '+New Build''をクリック

ソースコードを選択します。YAMLでパイプラインを設定する (オプション1),もしくはYAMLを使わずに旧形式のエディタでパイプラインを作るか (オプション 2).

オプション1: パイプラインをYAMLで設定

Where is your code? 画面でYAML有効オプション設定。.

Select a repository 画面で、リポジトリを選択

Configure your pipeline で関連するするパイプライン構成を選択します。

Review your pipeline YAML で、ビルド後の手順として次のテキストを追加します。これにより、ビルドパイプラインのWhiteSource統合がアクティブになります。

 Save and run をクリック

オプション2: YAMLを使わずにパイプラインを設定する (旧形式のエディタ)

リポジトリのタイプを選択します。

Empty jobを選択:

ジョブの名前を入力し、Agent poolを選択します。

Agent Jobにタスクを追加する

関連するプレステップとWhiteSource Boltを最後のステップとして追加します。

[Save and Queue]をクリックします。

ビルド番号をクリックします。

レポートがロードされている間に、[Monitored Build Definitions]テーブルが表示されます。

Bolt scan report が表示されます。

[Export Report]ボタンをクリックすると、レポートをエクスポートすることができます。

TFSの構成をビルドする


次の手順を実行します:

  1. アクティブなプロジェクトページに移動します。
  2. 移動し  Build & Release  タブをクリックし  Buildsをクリック
  3.  +New  をクリックして、解析するビルド定義を選択するか、新しいビルド定義を作成します。
  4.  画面の右上にある  Edit をクリックし  ます。
  5.  Add build step を選択する と、Task catalog がポップアップウィンドウに表示されます。
  6. Utility カテゴリを選択 
  7. WhiteSource Bolt までスクロールして Add をクリックし、次に Close をクリックします。



  8.  'npm install' や 'NuGet restore'のようなパッケージングステップの後に、WhiteSource Bolt ビルドステップ  を実行します。これにより、WhiteSource Bolt がすべてのオープンソースコンポーネントにアクセスできるようになります。
  9. オプション:WhiteSource Bolt をビルドに追加した後、WhiteSource ビルドステップをクリックします。右側には、その構成表示が表示されます。



    デフォルト設定では、プロジェクトの作業ディレクトリ全体が分析されます。必要に応じて、次の手順でカスタム設定を作成し、WhiteSource Bolt のスキャンまたは除外フォルダを指定します。

    1.  Work directory フィールドの右側にある3ドットの select path ボタンをクリックします。
    2. パスを選択します。
    3. フォルダを除外するには、[Advanced settings]の横にあるチェックボックス をオンにして、下にポップアップするフォルダを Exclude list フィールドに入力します  

設定が完了したら 、画面の左側にある Save をクリック  し、 OK をクリックし  ます。

WhiteSource Bolt を TFS で使用する

新しいビルドを開始するには、次の手順を実行します。

  1.  画面の右上にある Queue new build をクリックし、 OK  をクリックし  ます。
  2. ビルドプロセスが完了するとすぐに、 Build Summary ページの WhiteSource Bolt Build Report という新しいタブが表示されます。



    上記のビルド確認ではなく、エラーメッセージが表示された場合は、support@whiteitesoftware.com までご連絡ください。
  3.  WhiteSource Bolt 分析レポートを表示するには、WhiteSource Bolt Build Report タブをクリックし  ます。

これ以降、WhiteSource はビルドを実行するたびにレポートを生成します。

レポートの理解

WhiteSource Bolt レポートは、ビルドレベルまたはプロジェクトレベル(すべてのビルドの集計レポート)で表示できます。WhiteSource Bolt はアカウントレベルのレポートを提供していません。

レポートは、セキュリティ分析、セキュリティ脆弱性、ライセンスリスクとコンプライアンス、旧式のライブラリとインベントリの5つのセクションで構成されています。

セクション1:セキュリティ分析

検出されたオープンソースの脆弱性の概要と、それを含むライブラリ。

Vulnerability Score には、低(黄色)、ミディアム(オレンジ)または高(赤)、セキュア(緑)が表示されます。スコアは、検出された脆弱性の重大度が最も高い単一のレベルに基づいて決定されます。 安全性は、脆弱なコンポーネントがまったく存在しないことを示します。低、中、高の重大度は、 NVD(National Vulnerability Database)の脆弱性の重大度ランキングに従って表示され  ます。

Vulnerable Libraries  は、存在するライブラリの総数を表示します。左側のパネルにはセキュアなライブラリの数が表示され、右側のパネルには脆弱なライブラリの数が表示されます。旧式のライブラリの数は赤い字体でカッコで囲まれています。

Severity Distribution  は、脆弱なライブラリの重大度に応じた内訳を提供します。

Aging Vulnerable Libraries には、検出された脆弱性がオープンソースコミュニティで最初に確認されてからの経過時間が表示されます。

セクション2:セキュリティ上の脆弱性

すべてのセキュリティ上の脆弱性を列挙した表。

[Vulnerability]列には、脆弱性の深刻度スコア、そのCVEまたはWhiteSourceプロファイル(脆弱性がCVE / NVDに未登録の場合)、およびそれが発行された日付へのリンクを示しています。この列は重大度に応じて順序付けされ、最も重大な脆弱性が最初に表示されます。

[Library]列には、この脆弱性が存在するライブラリの名前が表示されます。脆弱性が複数のソースファイルに影響する場合、影響を受けるすべてのソースファイルが表示され、括弧でくくられ、コンマで区切られます。バイナリコンポーネントには、ソースファイル(例:jar、dll、tgzなど)は含まれません。

[Description]列には、CVEデータベースに記載されている脆弱性の  説明が表示されます。この脆弱性が登録抹消されている場合(WS)、別のオープンソース脆弱性リソースの記述にリンクが提供されます。

[Top Fix]列はWhiteSourceは、各脆弱性のために推奨しています一流のソリューションを示しています。推奨される行動コースを要約して説明し、続いてより幅広い説明にリンクしています。

セクション3:ライセンスのリスクとコンプライアンス

オープンソースコンポーネントのライセンスタイプの概要。

License Distribution テーブルは、検出されたオープンソースコンポーネントに関連付けられているライセンスの種類を一覧表示し、ライセンスの公式の説明へのリンクを提供します。リスクのレベルは、各ライセンスタイプ、およびライセンスタイプの合計発生数に応じて与えられます。

 License Risk Distributionは、そのリスクレベルによってライセンス数を分解します。未知のリスクレベルは、ライセンスリスクがWhiteSourceの法律専門家によって分析されなかったことを意味します。

セクション4:更新されていないままのライブラリ

最新の使用可能なバージョンに更新されていないライブラリをリストした表。

[Library]  の列は、古いままのライブラリの名前が一覧表示されます。

[Versions ]列には、古いままのライブラリのバージョン番号とリリース日、ライブラリの最新バージョン番号とリリース日、およびその間にリリースされたバージョンの数が表示されます。

[Recommendations ] 列には、WhiteSourceが推奨する対策コースと、ライブラリのホームページへのリンクが記載されています。

セクション5:インベントリ

すべてのオープンソースコンポーネントのインベントリが検出されました。

[Library]列には、オープンソースライブラリの名前とそのホームページまたは直接ダウンロードへのリンクが表示されます。

[Licenses ]列には、各ライブラリで検出されたライセンスが表示され、正式ライセンスの説明にリンクされています。ライブラリのライセンスタイプを識別する参照サイトもリンクされています。

WhiteSourceプラットフォームへのフルアップグレード

Azure DevOps Services / TFSと統合された軽量製品WhiteSource Boltをお楽しみください。オープンソースのコンポーネントをより詳細に制御するには、完全なWhiteSourceプラットフォームにアップグレードすることを検討してください  

 プラットフォームの拡張機能と簡単なアップグレードプロセスの詳細については、お気軽にお問い合わせください