Unified Agent の導入


概要概要

このページでは、Unified Agent の使用を開始する方法について説明します。

前提条件

Unified Agent を実行するコンピュータに次の Java バージョンのいずれかがあることを確認します 。 

  • Java JDK 8

  • Java JRE 8

  • Java JDK 11

さらに、プロジェクトタイプに応じて、関連するパッケージマネージャーがインストールされていることを確認します。

プロジェクトタイプ

パッケージマネージャー

プロジェクトタイプ

パッケージマネージャー

C#

  • NuGet + .Net

  • Paket

Elixir, Erlang

MIX

Go

  • Dep

  • Godep

  • Vndr

  • Gogradle

  • Govendor

  • Gopm

  • Glide

  • Vgo

  • Modules

  • Bazel

Haskell

Cabal

Java

  • Maven

  • Gradle

  • ANT

  • Bazel

JavaScript

  • Yarn プロジェクトがビルドされていない場合にのみ必要

  • NPM プロジェクトがビルドされていない場合(または検出がNPMを使用するように設定されている場合)にのみ必要

  • Bower

Objective-C, Swift

CocoaPods プロジェクトがビルドされていない場合にのみ必要  

OCaml

Opam

PHP

Composer プロジェクトがビルドされていない場合にのみ必要

Python

  • PIP

  • Poetry

  • Pipenv

NS

Packrat-使用する場合

R

Packrat プロジェクトがビルドされていない場合(または検出がNPMを使用するように設定されている場合)にのみ必要です

Ruby

Bundler

Rust

Cargo プロジェクトが構築されていない場合にのみ必要

Scala

SBT

統合エージェントの使用の概要

Step #

Step Name

Step #

Step Name

1

Download the latest version of the Unified Agent

 and verify its integrity.

2

Download the latest Unified Agent's configuration file. 

3

Set up the Unified Agent.

4

次のいずれかを実行します。

(このページの実行例を参照してください)

5

White Source 組織ポータルで結果を表示します

ユニファイドエージェントのダウンロード

ユニファイドエージェントの最新バージョンは Amazon S3 もしくは GitHubからダウンロードされます。

 

最新の統合エージェントバージョン

ファイル

特徴

発売日

MD5

コメント

最新の統合エージェントバージョン

ファイル

特徴

発売日

MD5

コメント

21.9.1.1

wss-unified-agent.jar

リリースノート21.9.1 0.1

25-10-2021

706694E349EA14CB04C4621B70D99A93

該当なし

 



Version

File

Features

Release Date

MD5

Comments

Version

File

Features

Release Date

MD5

Comments

21.9.1.1

wss-unified-agent-21.9.1.1.jar

リリースノート21.9.1.1

25-10-2021

706694E349EA14CB04C4621B70D99A93

該当なし

21.9.1

wss-unified-agent-21.9.1.jar

Release Notes 21.9.1

17-10-2021

510303D7588212C666F16B042A05BC3F

該当なし

21.8.2

wss-unified-agent-21.8.2.jar

Release Notes 21.8.2

03-10-2021

7F2D383794A6FBAA2B45C5D2E99B9FE1

N/A

21.8.1.1

wss-unified-agent-21.8.1.1.jar

Release Notes 21.8.1.1

31-08-2021

239DAD256F1E8BFAF7361FDEECE3E2CE

N/A

21.8.1

wss-unified-agent-21.8.1.jar

Release Notes 21.8.1

29-08-2021

5E066881180AB1C1C24748145F784B32

N/A

21.7.2

wss-unified-agent-21.7.2.jar

Release Notes 21.7.2

15-08-2021

90BE9617B380EF507C5D5ABE0191FCFA

N/A

21.7.1

wss-unified-agent-21.7.1.jar

Release Notes 21.7.1

01-08-2021

B18E7F9CACB80993151F4518F852710B

N/A

21.6.3

wss-unified-agent-21.6.3.jar

Release Notes 21.6.3

18-07-2021

B897BADFEBA66A39963717899E327F86

N/A

21.6.2.2

wss-unified-agent-21.6.2.2.jar

Release Notes 21.6.2.2

06-07-2021

BAC44FB66BE88130ECA094A37B81F527

N/A

21.6.2

wss-unified-agent-21.6.2.jar

Release Notes 21.6.2

04-07-2021

5E7FE501C0B1BEF76F64EE683B917012

N/A

21.6.1

wss-unified-agent-21.6.1.jar

Release Notes 21.6.1

20-06-2021

F2EB843816A572904954052756EB66E7

N/A

21.5.2

wss-unified-agent-21.5.2.jar

Release Notes 21.5.2

06-06-2021

8E51FDC3C9EF7FCAE250737BD226C8F6

N/A

21.5.1

wss-unified-agent-21.5.1.jar

Release Notes 21.5.1

23-05-2021

B50664F3840004A868D34D608030005C

N/A

21.4.2

wss-unified-agent-21.4.2.jar

Release Notes 21.4.2

09-05-2021

19ADD8EB5637DBD6BE63B9553576DAF9

N/A

21.4.1

wss-unified-agent-21.4.1.jar

Release Notes 21.4.1

25-04-2021

AD4F3747F519F83A2DF8963FF36D61B4

N/A

21.3.2.1

wss-unified-agent-21.3.2.1.jar

Release Notes 21.3.2.1

13-04-2021

707B193FEB891C1B40DD98A0B433ECA8

N/A

21.3.2

wss-unified-agent-21.3.2.jar

Release Notes 21.3.2

11-04-2021

C3576952F70F574FE6745E754A16A0EE

N/A

21.3.1

wss-unified-agent-21.3.1.jar

Release Notes 21.3.1

04-04-2021

C5639E304DEC915F664CE2B391D5A9D7

N/A

21.2.2

wss-unified-agent-21.2.2.jar

Release Notes 21.2.2

14-03-2021

5118B3403C578EC3AD922901CF70EF85

N/A

21.2.1

wss-unified-agent-21.2.1.jar

Release Notes 21.2.1

28-02-2021

490F2217238889F0EC22A4D9352174B9

N/A

21.1.2.1

wss-unified-agent-21.1.2.1.jar

Release Notes 21.1.2.1

14-02-2021

9C6B4DE63AAC89EBB4E7411F792C0AA8

N/A

21.1.2

wss-unified-agent-21.1.2.jar

Release Notes 21.1.2

14-02-2021

15D50AB0EF4D43907393515BF19F6897

N/A

21.1.1

wss-unified-agent-21.1.1.jar

Release Notes 21.1.1

31-01-2021

FDC75043196E49882BCBE19CBCBBD81D

N/A

20.12.3

wss-unified-agent-20.12.3.jar

Release Notes 20.12.3

17-01-2021 

00198172C5724A389CCD6EACD41B8D96

N/A

20.12.2

wss-unified-agent-20.12.2.jar

Release Notes 20.12.2

03-01-2021

DA174CC191818A3763CC79934C2AEAE8

N/A

20.12.1

wss-unified-agent-20.12.1.jar

Release Notes 20.12.1

20-12-2020

70C387ECCA4FA7DCEA02C6C27FFE9247

N/A

20.11.2

wss-unified-agent-20.11.2.jar

Release Notes 20.11.2

06-12-2020

20FC4F59F3183F98D12E82882039531A

N/A

20.11.1

wss-unified-agent-20.11.1.jar

Release Notes 20.11.1

22-11-2020

75293725F596010982E7B831B6BC2F98

N/A

20.10.2

wss-unified-agent-20.10.2.jar

Release Notes 20.10.2

08-11-2020

AD6F30452BAB599BA13CFBE6CDC59AC1

N/A

20.10.1

wss-unified-agent-20.10.1.jar

Release Notes 20.10.1

25-10-2020

2D4624B239234177C851F7204ADB21F3

N/A

20.9.2.1

wss-unified-agent-20.9.2.1.jar

Release Notes 20.9.2.1

15-10-2020

673218A312EB4BF2EB4BB2122E66D2EC

N/A

20.9.1

wss-unified-agent-20.9.1.jar

Release Notes 20.9.1

04-10-2020

F375670B1F651330254AF5C65830CB10

N/A

20.8.2

wss-unified-agent-20.8.2.jar

Release Notes 20.8.2

13-09-2020

6CD6522EB3BFA9D5893505B618303C72

N/A

20.8.1.1

wss-unified-agent-20.8.1.1.jar

Release Notes 20.8.1.1

09-02-2020

E4D40C9C156BA1F284D23A09061FCAA9

N/A

20.8.1

wss-unified-agent-20.8.1.jar

Release Note 20.8.1

30-08-2020

2D4624B239234177C851F7204ADB21F3

N/A

20.7.3.1

wss-unified-agent-20.7.3.1.jar

Release Notes 20.7.3.1

24-08-2020

F15A81CA898EF48378C004F0C30DAC17

N/A

20.7.3

wss-unified-agent-20.7.3.jar

Release Notes 20.7.3

16-08-2020

088FE4495C2636DB12DDE290599D3487

N/A

20.7.2

wss-unified-agent-20.7.2.jar

Release Notes 20.7.2

02-08-2020

C4C1C03EAD650710F41BA06F934E6C8A

N/A

20.7.1

wss-unified-agent-20.7.1.jar

Release Notes 20.7.1

19-07-2020

B0E5171D9187DD5DCF0DC2E31065F210

N/A


Click here for earlier versions of the Unified Agent (previously called the File System Agent (FSA)).

 



Unified Agent の設定

Unified Agent を設定するには、いくつかの方法があります。

: バージョン20.9.1以降、設定ファイルを使用して Unified Agent を実行する必要がなくなりました。必須パラメータが Unified Agent に再渡されると、サポートされているいずれかの方法で、設定ファイルが欠落している場合でも、Unified Agent を失敗することなく実行できます。

  • 設定ファイル
    設定ファイルへのパスは、-c 引数を使用してコマンドラインで Unified Agent に渡すことができます。ファイルが指定されていない場合、Unified Agent は現在の作業ディレクトリで wss-unified-agent.config という名前の設定ファイルを探します。詳細については、こちらを参照してください。構成ファイルをダウンロードするには、ここをクリックしてください。完全な設定パラメータリファレンスについては、Unified Agent 設定パラメータのページを参照してください。   

  • 環境変数
    設定ファイルで使用可能なすべてのパラメータは、環境変数を使用して Unified Agent に渡すこともできます。詳細については、こちらを参照してください。

  • コマンドラインパラメータ
    Unified Agent は、コマンドラインオプションとパラメータをサポートしています。詳細については、こちらを参照してください。

構成は、次の優先順位で適用されます。

  1. コマンドラインパラメータ

  2. 環境変数

  3. 設定ファイル

  4. デフォルト値

設定パラメーターの設定

Unified Agent を実行するために、使用可能な任意の方法で次の設定パラメータを設定します。

パラメータ名

環境変数名

設定ファイルのパラメーター名

 コマンドラインパラメータ名 

説明

パラメータ名

環境変数名

設定ファイルのパラメーター名

 コマンドラインパラメータ名 

説明

API Key

WS_API_KEY

apiKey

-apiKey

組織の識別子

WhiteSource URL

WS_WSS_URL

wss.url

-wss.url

WhiteSource URL: 

https://[saas/app/app-eu/saas-eu].whitesourcesoftware.com/agent

Project Name

WS_PROJECT_NAME

projectName

-project

スキャンの実行後に作成されたプロジェクトの名前

Includes

WS_INCLUDES

includes

N/A

GLOBパターン(つまり、  すべての.cファイルをスキャンするための **/*.c )を使用して、スキャンに含める/除外するファイル(ファイル拡張子、ファイル名、フォルダー名など)。参照してください詳細についてはここで参照してください。

 

より高度で特定の環境関連パラメータの設定については、 こちらを参照してください。

スキャンのベストプラクティス

一般的なヒント

  • WhiteSourceツールを使用した最適な検出は、製品の作成に使用された依存関係ファイルが利用可能なビルド中(またはビルド前)にスキャンするときに実現されます。 

  • 検出中、マニフェストファイル(Pythonのrequirements.txtなど)がスキャンされ、使用されているパッケージの特定のバージョンを特定するために使用されます。  

  • スキャンおよび検出プロセス中に依存関係/マニフェストファイルが欠落している場合、WhiteSource Unified Agentはソースファイル(Pythonの.pyファイルなど)を検出し、それらをソースファイルのWhiteSourceインデックスと照合します。

  • 一致したソースファイルごとに、そのソースの可能性のあるオリジン/レポが決定されます。 

ソースファイルのスキャンの概要

WhiteSourceは、一連の高度なアルゴリズムを利用して、ソースファイルを(GitHub、SourceForge、またはその他のSCMからの)ソースライブラリと照合します。WhiteSourceのナレッジベースには、最大3億4000万のソースファイルと最大4500万のオープンソースプロジェクト(ソースライブラリ)が含まれています。

依存関係解決プロセスを利用して解決できる既知のパッケージがない場合は、ソースファイルの照合方法が必要です。代わりに、オープンソースライセンス情報を検出するために、スキャンされたソースファイルのリストを、ファイルがダウンロードされたソースライブラリ(そのバージョンとともに)と照合する必要があります。

この情報はソースファイルに依存するため、アルゴリズムはセキュリティの脆弱性のレポートには影響しないことに注意してください。

スキャン手順 

以下は、CおよびC ++ソースファイルのスキャンの例です。

ncludes = **/*。c**/*。cc**/*。cp**/*。cpp**/*。cxx**/*。c++**/*。h**/ *。 hpp **/*。hxx

ignoreSourceFiles = false(デフォルト)

[統合]タブの[詳細設定]セクションで、既存の組織に対してSmartMatch *(拡張マッチングアルゴリズム)を有効にすることをお勧めします。

ユニファイドエージェントの実行 

コマンドラインからUnifiedAgentを実行するには、コードベースが配置されているマシンで、またはビルドパイプラインの一部としてシェルスクリプトタスクで次のコマンドを実行します。

Linux / macOS:

java -jar /path/to/wss-unified-agent.jar -c /path/to/wss-unified-agent.config -d / path / to / project / root / directory

ウィンドウズ:

java -jar "C:\ path \ to \ wss-unified-agent.jar" -c "C:\ path \ to \ wss-unified-agent.config" -d "C:\ path \ to \ project \ root \ディレクトリ"

ノート:

  • フルパスまたは相対パスのいずれかを使用できます

  • 引数値にスペースが含まれる場合は常に、二重引用符で囲む必要があります

  • -c パラメータでファイルが指定されていない場合、UnifiedAgent は現在の作業ディレクトリでwss-unified-agent.configという名前の設定ファイルを探します。 

  • -d パラメータでパスが指定されていない場合、  UnifiedAgentは現在の作業ディレクトリをスキャンします

DockerコンテナでのUnifiedAgentの実行

Unified Agentは、Dockerコンテナを介して実行することもできます。さまざまなパッケージマネージャー(maven、npmなど)を含むDockerfileテンプレートはここにあります。このファイルには、プロジェクト/ファイルをスキャンするためのカスタマイズ可能な実行環境を作成できるインストールコマンドと、基本的な(編集可能な)パッケージマネージャーのセットが含まれています。

注:このオプションは現在、Dockerスキャンをサポートしていません。

スキャン手順と概要の表示と理解

Unified Agentコマンドラインインターフェイスを使用すると、スキャンの一部として実行されたステップを表示し、各ステップにかかった時間を理解できます。

開始/終了表示

スキャンステップごとに開始/終了表示が表示されます。例えば:

開始/終了表示

スキャンステップごとに開始/終了表示が表示されます。例えば:

コードブロック

コードブロック

1 2 3 4 5 6 7 8 9 10 11 12 ------------------------------------------------------------------------ -------------------- Start: Pre-Step & Resolve Dependencies ------------ ------------------------------------------------------------------------ [INFO] [2019-03-07 13:58:02,775 +0200] - Trying to resolve MAVEN dependencies [INFO] [2019-03-07 13:58:02,776 +0200] - topFolder = C:\Users\Me\Desktop\UAtests\GenerateScanReport\generateScanReport\Data [INFO] [2019-03-07 13:58:07,105 +0200] - Start parsing pom files [INFO] [2019-03-07 13:58:07,112 +0200] - End parsing pom files , found : search-engine,search-engine-client,search-engine-server [INFO] [2019-03-07 13:58:07,191 +0200] - Trying to resolve HTML dependencies [INFO] [2019-03-07 13:58:09,113 +0200] - ------------------------------------------------------------------------ -------------------- End: Pre-Step & Resolve Dependencies -------------- ------------------------------------------------------------------------

要約表

スキャン終了時の要約と、各ステップのすべての関連情報も表示されます。次の列が含まれています。

  • ステップ:スキャンの関連ステップ

  • 完了ステータス: 「COMPLETED」または「FAILED」のいずれか

  • 経過: そのステップにかかった時間。サブステップは、合計経過実行時間には含まれないことに注意してください(Maven、HTMLなど)。

  • コメント: 利用可能な場合は、ステップに関する詳細情報。

例えば: 

コードブロック

コードブロック

1 2 3 4 5 6 7 8 9 10 11 12 13 Step Completion Status Elapsed Comments ====================================================================================================================================================== Fetch Configuration COMPLETED 00:00:00.078 -------- Scan Files Matching 'Includes' Pattern COMPLETED 00:00:00.014 1 source/binary files Pre-Step & Resolve Dependencies COMPLETED 00:00:06.378 7 total dependencies (7 unique) MAVEN COMPLETED 00:00:04.416 5 total dependencies (5 unique) HTML COMPLETED 00:00:01.922 2 total dependencies (2 unique) Update Inventory COMPLETED 00:00:01.551 2 updated projects ====================================================================================================================================================== Elapsed running time: 00:00:08.021 ====================================================================================================================================================== Process finished with exit code SUCCESS (0)



実行例

以下は、Unified Agent 実行のさまざまな使用例の構文例です。

Unified Agentの実行

1 java -jar /path/to/jar/wss-unified-agent.jar -d /path/to/lib/folder



設定ファイルを別のフォルダーに配置する場合は、次のようにパスを指定できます。

1 java -jar /path/to/jar/wss-unified-agent.jar -c /path/to/config/file -d /path/to/lib/folder


テキストファイルからの複数のフォルダとファイル

(1)  長いコマンドライン文字列を避けるために、新しい行で区切られたフォルダとファイルを含むテキストファイルを使用してください。例えば:

1 2 3 4 5 /path/to/javascript/lib /path/to/ruby/lib /path/to/jars/aopalliance-1.0.jar /path/to/jars/antlr-2.7.7.jar /path/to/cpp/httpclient.cpp



 (2)   引数 '-f' を使用してエージェントを実行します(コマンドラインパラメーターを参照)。

1 java -jar /path/to/jar/wss-unified-agent.jar -f files.list


複数のフォルダとファイル

カンマ区切りのパスを入力し、引数 '-d' を使用すると、複数のフォルダーとファイルをスキャンできます。

注: -d 引数を介して挿入された単一ファイルは、 excludeglob パターンと一致する場合は除外されません。

1 java -jar /path/to/jar/wss-unified-agent.jar -c /path/to/config/file -d /path/to/java/lib,/path/to/cpp/lib,/path/to/js/lib,/path/to/file/myfile.rb



設定ファイルの代わりに、コマンドラインからプロジェクトや製品のパラメータを使用して Unified Agent を実行します。

1 java -jar /path/to/jar/wss-unified-agent.jar -c /path/to/config/file -d /path/to/lib/folder -product my-product-name -productVersion 1.0.0 -project my-project-name -projectVersion 1.0.0


リモートの場所からも設定ファイルをダウンロードして使用できるようにします。

1 java -jar /path/to/jar/wss-unified-agent.jar -c http://user:password@example.com:8080/ -d /path/to/lib/folder


コマンドラインから update Type を使用して Unified Agent を実行します。

注:バージョン17.11.2からサポートされています。 指定しない場合、デフォルト値は updateType OVERRIDE です。

1 java -jar /path/to/jar/wss-unified-agent.jar -updateType APPEND -c /path/to/config/file -d /path/to/lib/folder


Unified Agent を実行して、サブフォルダーごとに1つのプロジェクトを作成します。

1 java -jar /path/to/jar/wss-unified-agent.jar -projectPerFolder true -c /path/to/config/file -d /path/to/lib/folder


設定ファイルの代わりにコマンドラインからapiKeyを使用してUnifiedAgentを実行します。

1 java -jar /path/to/jar/wss-unified-agent.jar -c /path/to/config/file -apiKey your-api-key -d /path/to/lib/folder

使用例

設定ファイルの代わりにコマンドラインからプロキシパラメータを使用してUnifiedAgentを実行します

1 java -jar /path/to/jar/wss-unified-agent.jar -c /path/to/config/file -d /path/to/lib/folder -proxy.host my-proxy-host-name -proxy.port my-proxy-port-number -proxy.user my-proxy-username -proxy.pass my-proxy-password

プロキシを使用してリモートロケーションから設定ファイルをダウンロードして使用できるようにする 

注: CLIから '-product' および '-project' パラメーターを指定して Unified Agent を実行すると、構成ファイル(バージョン1.7.1からサポート)で設定された同じパラメーターが無視されます。

1 java -jar /path/to/jar/wss-unified-agent.jar -c path/to/config/file/in/remote -proxy scheme://<user>:<password>@host:port/ -d /path/to/lib/folder