You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

This document describes the product scanning scenario and is intended for GEANT WhiteSource administrators. In the beginning, it is necessary to get acquainted with Unified Agent (UA).

Unified Agent (UA) -  Overview

The Unified Agent is a Java command-line tool that scans directories' open source components for vulnerable libraries and license complications and displays the results in the WhiteSource web application. The Unified Agent works the following way: Directories are scanned and identify the open-source components, whereupon the Unified Agent checks each new component against organizational policies (note that no source code is scanned - only descriptive information is sent to WhiteSource).

At the end of the Unified Agent's scan, it aggregates the information and uploads it to the WhiteSource web application, where it is presented in an Organization/Product/Project hierarchy, enabling you to view and analyze the scan results. Additionally, an informative report of the results is generated in HTML and JSON formats, located in the 'whitesource' folder. This folder is created in the directory where the Unified Agent ran.

Prerequisites

Java JDK/JRE installation is required in order to run the Unified Agent. The following versions of Java are supported:

  • Java JDK 8
  • Java JRE 8
  • Java JDK 11 

Additionally, depending on what you are scanning, ensure that the relevant build tools, package managers, etc. are installed. An overview of project types and corresponding project managers is given here.

Installation

  1. Download the Unified Agent .jar file from here.
  2. Download the default configuration file from here and place it in the same directory as the Unified Agent. 

Configuring the Unified Agent

Enter the following parameters in the configuration file:

  • apiKey - unique identifier of the organization. It can be retrieved from the 'Integrate' page in your WhiteSource account 
  • userKey - unique identifier of the user, and it is optional. It can be generated from the 'Profile' page in your WhiteSource account. With the user key WhiteSource recognize who runs the scan.
  • wss.url  - enable the relevant URL according to your organization's WS Server URL from your Profile page on the Server URLs panel (additionally, it can be found in the Integrate tab). Then, add the agent path. in the config file. There tree versions of wss.url:
  • productToken - identified what product we scan. First, create a new product.
    To create a new product do the following: 
    1. From the menu bar, select Products > New Product. The Create New Product screen is displayed. 

    2. Enter the product name, and click Create.

          ProductToken can be retrieved from the 'Integrate' page in your WhiteSource account. In the product, we can define many projects. 

  • projectToken -  ProjetToken can be retrieved from the 'Integrate' page in your WhiteSource account. To add a new project:
    1. Click Add Project. 

    2. Enter the project name, and click Create.

         After running the scan, the output goes to the project.

         Best practices - WhiteSource recommends placing the project and product names in the configuration file (versions are optional). This is preferable for the first-time setup as it automatically creates a new project and product in WhiteSource. If names or versions change rapidly, then use the           'projectToken' and 'productToken' of the existing WhiteSource counterparts.

       In section Polices:

  • checkPolicies - checkPolices=false, for now, Policies are not checking, because we don't have policies for now

       In section General:

  • generateScanReport - uncomment, when set to true, a report in JSON format is created at the end of the scan, which includes information on vulnerabilities, policy violations, top fixes and inventory details

      In the section Package Manager Dependency resolvers, there are all dependencies that UA can scan (#resolveDependencies=false), all are comments so it means that all will be scanned by UA. In GÉANT there are many different projects with many technologies and written in many different languages and it will be safer to scan all dependencies.

Running the Unified Agent from the Command Line (Scanning Procedure)

To run the Unified Agent from the command line, execute the following command on the machine where your code base is located,

Linux/macOS:

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

Windows:

java -jar "C:\path\to\wss-unified-agent.jar" -c "C:\path\to\wss-unified-agent.config" -d "C:\path\to\project\root\directory"

Note: If scan locally you need to have to install software that the project use.



  • No labels