Skip to main content
Skip table of contents

Mend Advise for IntelliJ IDEA

Overview

Mend Advise for IntelliJ IDEA is a plug-in for the IntelliJ IDEA Integrated Development Environment (IDE) that is designed to empower developers with important, valuable information on security vulnerabilities concerning open-source components employed in their development projects.

Mend Advise for IntelliJ IDEA does the following:

  • It facilitates workflows by making critical component vulnerability information available to the software developer from within the IDE, preventing the need to use a separate application for such purpose.

  • It implements automatic vulnerability checking in the background that allows for immediate feedback to the user as she types. For example, a new component reference that is being typed into a project's pom.xml or build.gradle file will be automatically analyzed for security vulnerabilities.

  • It offers a transparent UX for developers, by seamlessly integrating with the IDE environment: it highlights project open source components found to have reported security vulnerabilities (CVEs), displays information on such vulnerabilities, and offers recommendations for fixing them.

Support for Languages and Package Managers

Mend Advise for IntelliJ IDEA supports Java, Kotlin and Scala projects using Maven (pom.xml dependency files), and supports Java projects using Gradle (build.gradle dependency files).

NOTES: 

  • Gradle Kotlin projects are not supported in Mend Advise.

  • When using the "apply from" script plugin in Gradle projects, remote script location is not supported.

Prerequisites

Ensure the following prerequisites are met:

  • A valid license for Mend for Developers

  • A license key for Mend Advise for IDE, available via one of the following options:

    • For Mend Administrators, you can Generate a Global License Key and share it with your organization's developers.

    • For users who have access to the Mend Application, do as follows (NOTE: This option is only available when using version 20.11.1 or later of Mend Advise):

      1. Go to the Mend Application.

      2. Open the Profile page.

      3. In the Mend Advise - IDE Integration section at the bottom, select your organization.

      4. Copy your personal license key to be used later in Activating Mend Advise.

Note: Either Global or User level license keys can be used as long as the Enforce User Level hasn’t been activated. Once Enforce User Level has been activated, all users will require a User Level license key.

Java JDK 1.8 and up (see here for instructions) or OpenJDK 1.8 and up is installed

  • Depending on whether scanning Maven or Gradle applications, note the following guidelines:

    • Apache Maven application is installed and the Maven path and all environment variables are set up (see here for instructions).

    • Gradle application is installed and the Gradle path and all environment variables are set up. NOTE: Gradle version 4.8 or above must be installed.

  • IntelliJ IDEA is installed and you are familiar with its basic functionality

Proxy settings

Mend Advise for IntelliJ supports proxy settings (Appearance and Behavior → System Settings → HTTP Proxy).

Supported Versions

The plugin supports IntelliJ IDEA 2019.3 and above (both Community and Ultimate versions). The last tested version is 2022.1.

Limitation - Gradle support for the following IntelliJ IDEA versions are not supported on macOS:

  • 2019.3

Installing Mend Advise

To install Mend Advise, do as follows:

  1. Start IntelliJ IDEA.

  2. From the menu bar, select File > Settings. The Settings screen is displayed.

  3. From the left sidebar, click Plugins.

  4. In the Search box, enter mend and then press Enter from your keyboard. The Mend Advise plugin information is displayed.

  5. Click Install and then click Restart IDE.

  6. In the pop-up dialog box, click Restart.

Activating Mend Advise

To activate Mend Advise, do as follows:

  1. Start IntelliJ IDEA, specifying the preferred project.

  2. From the sidebar on the right, click Mend (if you do not see the sidebar, select View >Tool Windows > mend). The Welcome screen is displayed.

  3. In Email, enter your organizational email (the email domain must be licensed to use Advise).

  4. In License Key, enter your license key (See here for more information on how to obtain a license key). 

  5. Click Connect.

NOTE: If you check Remember Token, the login credentials will be stored for later use. Once stored, the Mend Advise login credentials will be used for all projects.

IntelliJ Integration

This video demonstrates how to install and use Mend Advise for IntelliJ IDEA.

Configuring Mend Advise

Changes made to the Mend settings will only apply after running the next scan.

You can configure the Mend settings on a global or a project level. See the following sections.

Global-Level Configuration

To configure Mend Advise on a global level, do as follows:

  1. From the menu bar, select File > Settings. The Settings screen is displayed.

  2. Select Tools > mend.

  3. In Scan Results Settings, review the options and modify if necessary. See here for a list of all options.

  4. Click OK.

Project-Level Configuration

To configure Mend Advise on a project-level, do as follows:

  1. From the menu bar, select File > Settings. The Settings screen is displayed.

  2. Select Tools > Mend > Project Settings. The Project Settings screen is displayed.

  3. In Scan Results Settings, review the options and modify if necessary. See here for a list of all options.

  4. By default, all settings are inherited from the global-level configuration. To override the specific configuration on project level, clear the Inherit from global settings checkbox.

  5. Click OK.

Options Table

Option

Description

Default Setting

Only show issues for direct dependencies

When enabled, Mend Advise will only return vulnerabilities for direct dependencies defined in your dependency file.

Unselected (not checked)

Minimum vulnerability severity level

Alert only on detected vulnerabilities satisfying a Low/Medium/High/Critical minimum severity level.

  • Low - Vulnerability alerts for all severities (Low, Medium, High, Critical) are displayed.

  • Medium- Vulnerability alerts only for Medium, High or Critical severities are displayed.

  • High - Vulnerability alerts only for High or Critical severities are displayed.

  • Critical - Vulnerability alerts only for Critical severities are displayed.

Low

Scanning a Project for Security Vulnerabilities

To scan a project, do one of the following:

  • From the menu bar, select Tools > Mend Advise

  • From the top toolbar, click the mend icon

  • Do as follows:

    1. From the sidebar on the right, click mend.

    2. From the top, click Advise.

    3. Click Run Mend Advise.

Developer Focus Mode

The Developer Focus Mode allows developers to see only vulnerability alerts that are new in their feature branches compared to a predefined base branch. This promotes the security shift left approach and empowers developers to fix newly introduced vulnerabilities immediately, as part of their feature development efforts and prior to merging vulnerable code into production branches.

To enable Focus Mode, do as follows::

  • In the Mend Advise project-level configuration, enable the Diff operation to be performed on a base branch checkbox.

  • Choose the base branch to which all other branch scans will be compared.

  • Make sure your base branch is checked out, then trigger a Mend Advise scan either manually or by building your project.

In case there was no scan on the predefined base branch after its initial configuration, all branches will show all the scan results, not just the newly created security alerts. 

Every time the base branch configuration changes, a Mend Advise scan must be triggered on that branch prior to seeing new security results.   

Vulnerable Commit Alert

An alert can be enabled to notify about newly added vulnerabilities when committing the code inside the IntelliJ. This alert will appear only if the committed feature branches have new vulnerabilities compared to a preconfigured base branch.

To enable a Vulnerable Commit Alert, do as follows:

  • Enable the Focus Mode (enable the Diff operation, choose the base branch, and trigger a Mend Advise scan).

  • Go to Setting > Version Control > Commit > Before Commit and make sure that Notify on new OS vulnerabilities is enabled.

In case the feature branch contains new vulnerabilities (that were not presented in the base branch), a pop up will suggest to review the found vulnerabilities or commit anyway.

Reviewing Scan Results

To view scan results, do as follows:

  1. Click the Inspection Results tab at the bottom (it may be already open).

  2. Ensure that you are in the Mend Security Check tab (it is part of the Inspection Results area). This tab features information on vulnerability issues found inside the current project. For every module, the relevant vulnerabilities are displayed via either a pom.xml (Maven) or build.gradle (Gradle) item. Note the following functionality:

    • Next to each pom.xml or build.gradle item, a total number of errors and warnings are displayed in this format, for example, <pom.xml 20 errors 32 warnings>. Critical/high severity security vulnerabilities are represented as errors, and medium/low-security vulnerabilities are represented as warnings

    • Each component within the pom.xml or build.gradle item list consists of the following metadata:

      • Component groupId

      • Component artifactId

      • Component version

      • Vulnerability unique identifier

      • Indication of transitive or direct dependency

    • Double-clicking a component will open up the pom.xml or build.gradle file in which it was referenced. It will point to the direct dependency you declared.

Displaying Vulnerability Information for a Scanned Component

This section describes how Mend Advise can be used to display security vulnerability details for a project, via IntelliJ's main code view.

Open the Mend security check tab and do as follows:

  • To quickly locate the component referenced by a reported vulnerability in the project’s pom.xml or build.gradle view, double-click the component in the Mend security check tab. The referenced component description in the pom.xml or build.gradle file will be displayed and highlighted in the main code view.

  • To quickly locate vulnerability analysis results for a component in the pom.xml or build.gradle view, click the Mend Advise severity icon displayed to the left of that component reference in the pom.xml. Note that the icon denotes the severity of the vulnerability (yellow: low severity; orange: medium severity; red: high severity, crimson: critical severity). A tooltip featuring relevant analysis details including a dependency path from the proprietary code to the open-source component will be displayed. Vulnerability details are also displayed as part of the tooltip and include the vulnerability identifier (e.g., CVE), severity, and a fix suggestion if available. A Details link is displayed which leads to the Mend Vulnerability Database, providing more information on the specific vulnerability.

  • To quickly display an analysis summary for a component in the pom.xml or build.gradle view, hover the mouse pointer over the code for the component in that view; a tooltip will be displayed, featuring a list of the highest severity vulnerabilities found within the particular component. To display a list of all the vulnerabilities, press Alt+Enter.

Viewing General Plugin Information 

To view version information about Mend Advise, do as follows:

  • From the sidebar on the right, click Mend (if you do not see the sidebar, select View >Tool Windows > mend). The Welcome screen is displayed.

  • From the Welcome screen, click About. 

The About screen displays information about the Advise plugin's version, general information on your IDE, along with links for Privacy policy and Terms and Conditions.

Generating Debug Logs for Mend Support

To generate debug logs, do as follows:

  1. From the menubar, click Help. A menu is displayed.

  2. Select Diagnostic Tools > Debug Log Settings. The Custom Debug Log Configuration dialog box is displayed.

  3. Add this text: #org.mend.intellij.plugin

  4. Click OK.

Debug logs will now be generated for the integration. To access them you need to click on Show Log in Explorer/Finder in the Help menu.

Upgrading mend Advise 

To upgrade the Mend Advise plugin, do as follows:

  1. From the menu bar, select File > Settings > Plugins. Ensure that you are in the Installed tab. A list of installed plugins is displayed.

  2. In the Downloaded section, search for Mend Advise, and on the right-hand side, click Update.
    NOTE: If there is no new version, the Update button will not appear, and there is no need to continue this procedure. 

  3. Select Mend Advise.

  4. If you are prompted to restart, do so.

Uninstalling Mend Advise

To uninstall the plugin, do as follows: 

  1. From the menu bar, select File > Settings > Plugins. Ensure that you are in the Installed tab. A list of installed plugins is displayed. 

  2. In the Downloaded section, search for Mend Advise and click it. The Mend Advise plugin page is displayed.

  3. On the right-hand side, click the drop-down box, and then click Uninstall. The Plugin Uninstall dialog box is displayed. 

  4. Click Yes to confirm.

  5. If you are prompted to restart, do so.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.