Skip to main content
Skip table of contents

Mend Advise

General Information

Mend Advise allows your developers to view a snapshot of a component’s details before they download it to their repository, and incorporate it in the codebase. It is delivered as a Chrome or Microsoft Edge (from version 83) extension.

Mend Advise quickly identifies open source component installation references on Web pages such as StackOverflow, Maven Central, and RubyGems. See also Supported Repositories.

When in the page, a simple click on the icon enables developers to view important details to help them decide whether or not to add a new component. Details include company policy checks, known vulnerabilities, known malicious packages, quality scores, and whether the component is currently in use within your organization.

Installing Mend Advise as an External User

Inviting an External User (for Mend Administrators Only)

The Mend account administrator has the option to invite users to download and use Mend Advise by doing the following:

  1. From the Mend application, click Admin > Advise for Chrome Management. The Advise for Chrome Management screen is displayed.

  2. In Add Users by Email pane, in Emails, add the email addresses of all the users for whom you want to receive an invitation via email.
    Note: Ensure each email address is entered on a separate line.

Installing Mend Advise (for Invited Users)

Invited (external) users will receive a link via an email invitation in order to complete the installation.

For Admins to Know: Ensure that the email link is opened in the relevant browser (Chrome / Microsoft Edge). The browser also marks these references in the relevant web pages. If Chrome or Microsoft Edge are not the default browser, then you must copy and paste the email link in either Chrome / Microsoft Edge. 

Mend Advise scans web pages for open-source installation references. To perform these functions, it requires permissions to read and write on web pages. You must approve these permissions (no browsing history information is saved).

1. When the user receives the invitation email, click on the "download" button in Chrome and install the plugin.
2. If the Mend instance is not hosted on http://saas.mend.io, complete these steps:

     I. click on the configuration icon in the lower right corner of the plugin:

6.png

     II. Click "modify" next to the destination

7.png

     III. Change the URL to one of the following depending on where your service is hosted: 

     IV. Click Save.
     V. Click the lower right configuration icon to exit the configuration screen

5. Enter the user's email and submit. A verification email will be sent.
6. Open the verification email and click on the "verify link."

Mend Advise

This video demonstrates how to install and use Mend Advise for the Google Chrome browser.

Activating Mend Advise via the Profile Page (Mend Users Only)

Existing Mend users can activate the Mend Advise from their 'Profile' page without having an administrator send an invitation. This option is done via the following steps:

  1. Go to your Profile Page.

  2. Navigate to the 'Advise for Chrome' panel on this page.

  3. Click Advise for Chrome to generate an activation link. An activation link is be generated. If you are a member of multiple organizations, click the link for the relevant organization.

  4. Add the Mend Advise extension to your browser.  

  5. Click Activation Link in order to complete the activation process. 

NOTE: You have the option to deactivate Mend Advise on your organization by clicking Deactivate

On-Premises Deployments

Mend Advise is supported out of the box for on-premises installations. In the extension Settings page, the destination URL can be manually changed to point to the on-premises Mend instance.  This is done by going to Settings > modify (next to Destination) and entering the updated destination URL.  

Using Mend Advise

The following are the methods used for maximizing the Mend Advise functionality. For a list of repositories and platforms supported by each of these methods, refer to the table in Supported Repositories and Platforms.

1. Browse for a specific library version page by URL

For example, go here for a MVN repository library.

You can view the Mend selection plugin red mark when a library is identified.

Screenshot 2024-01-31 at 18.29.33.png
Screenshot 2024-01-31 at 18.33.14.png

2. Browse any Web page via a text pattern search

You can scan any Web page for open source component installation references, by clicking on the Mend Advise extension icon.

It will scan the page and detect all package references where/when available.

Screenshot 2024-01-31 at 18.19.56.png

Any open source component installation reference (such as "pypi install", "gem install", etc.) will be highlighted.

Mend Advise searches for the following text patterns in these languages:

Python (pip)

CODE
pip install {package name}=={version}

Ruby (bundler)

One of the following

CODE
gem install {package name}={version}
CODE
gem install {package name}:{version}

JavaScript (NPM)

CODE
npm install {package name}@{version}

.NET (NuGet)

One of the following:

CODE
install-package {package name} –package {version}
CODE
update-package {package name} –package {version}
CODE
nuget install {package name} –package {version}
CODE
nuget update {package name} –package {version}

Java (Maven)

One of the following:

CODE
<dependency>

      <groupId>{group}</groupId>

      <artifactId>{artifact}</artifactId>

      <versionId>{version}</versionId>

   </dependency>
CODE
<plugin>

                …

   </plugin>
CODE
<parent>

                …

   </parent>

Go

CODE
import (

                “github.com/{owner1}/{repository1}”

                “github.com/{owner2}/{repository2}”

                ...

)

PHP (Composer)

One of the following:

CODE
"require": {

                “{group}/{artifact}”: “{version}”

}
CODE
"require-dev": {

                “{group}/{artifact}”: “{version}”

}

Scala (SBT)

One of the following:

CODE
librarydependencies += "{group}" % "{artifact}" % "{version}"
CODE
libraryDependencies ++= Seq(

    "{group-1}" % "{artifact-1}" % "{version-1}",

    "{group-2}" % "{artifact-2}" % "{version-2}" % "test"

)

Rust (Cargo)

One of the following:

CODE
cargo install --version {version} {package name}
CODE
cargo install --vers {version} {package name}
CODE
cargo update -p {package name}
CODE
cargo update --package {package name}
CODE
cargo update -p {package name} --precise {version}
CODE
cargo update --package {package name} --precise {version}

Haskell (Cabal)

One of the following:

Legacy:

CODE
cabal install {package name}
CODE
cabal install {package name}-{version}

Version 2:

CODE
cabal v2-install {package name}
CODE
cabal v2-install {package name}-{version}

OCaml (Opam)

One of the following:

CODE
opam install {package name}
CODE
opam install {package name}.{version}
CODE
opam pin add {package name}

3. Code snippet highlighting on any Web page

Scan any of the supported code references from the previous section by highlighting it, right-clicking, and then selecting Scan with Mend Advise option. 

The Mend Advise searches for the same patterns that were displayed in the previous section and provides a single result:

Screenshot 2024-01-31 at 18.18.47.png

Displayed Information after the Scan

Mend Advise displays the following information:

  • License: identifies the component's license.

  • Outdated: informs you if there's a newer version of the library. Note: Mend ignores non-stable versions of a library (such as an alpha version).

  • Policies: shows you whether the component meets your company's policy as configured in your Mend account.

  • Projects: shows you if your organization is already using this library and number of occurrences.

  • Security vulnerabilities: each shield accounts for a different vulnerability and severity is demonstrated by color.

  • Quality: provides an overall score based on the number of commits, version releases, etc. 

Screenshot 2024-01-31 at 18.15.17.png

In the following sample screenshot, Mend Advise found three vulnerabilities with a critical score. Clicking on the 'Take me to the first component' link forwards you to the first icon of the vulnerability.

Screenshot 2024-01-31 at 18.13.27.png

Selecting the Interface Language 

Mend Advise provides you with the option to select a language:

  1. Click on the 'About' icon 

    2.png

  2. The 'About' panel is displayed. Click on 'Language' and select the language for the interface:

    1.png

Supported Repositories and Platforms

Mend Advise currently supports the following repositories:


URL Scanning 

Text Pattern Search

Code Snippet Highlighting

opam

(tick)

(tick)


Rust Package Registry

(tick)

(tick)


GitHub


(tick)

(tick)

Stack Overflow


(tick)

(tick)

Maven Central Repository

(tick)


(tick)

Mvn Repository

(tick)


(tick)

Ruby Gems

(tick)


(tick)

GoDoc

(tick)


(tick)

Go Search

(tick)


(tick)

PyPi

(tick)


(tick)

NuGet

(tick)


(tick)

Packagist 

(tick)



CDNJS (on library URLs with and without a specific version)

(tick)



NpmJs

(tick)



URL Scanning

Site List

The Advise for Chrome plugin extracts package information from a page or URL and sends it to your Mend.io organization to find the relevant projects or policies for that library.

Below you will find the list of allowed sites:

https://stackoverflow.com/
https://mvnrepository.com/
https://github.com/
https://gitlab.com/
https://bitbucket.org/
https://pypi.org/
https://npmjs.com/
https://cdnjs.com/
https://rubygems.org/
https://packagist.org/
https://pkg.go.dev/
https://cran.r-project.org/
https://crates.io/
https://docs.microsoft.com/
https://developer.mozilla.org/
https://superuser.com/
https://askubuntu.com/
https://serverfault.com/
https://reddit.com/
https://geeksforgeeks.org/
https://tutorialspoint.com/
https://medium.com/
https://dev.to/
https://dzone.com/
https://docs.python.org/
https://w3schools.com/
https://search.maven.org/
https://go-search.org/
https://godoc.org/
https://nuget.org/
https://jcenter.bintray.com/
https://docs.oracle.com/
https://docs.scala-lang.org/
https://clojure.org/
https://hackage.haskell.org/
https://opam.ocaml.org/
https://pub.dev/
https://cpan.org/
https://rubydoc.info/
https://cocoapods.org/
https://docs.rs/
https://hex.pm/

Supported Languages

Mend Advise supports the detection of open source components installation references in the following programming languages:

Java, Scala (SBT), .NET, JavaScript, Ruby, Python, Go, PHP, Rust, Haskell, OCaml

The code snippet scanning option currently supports the following package managers: Maven (Java), SBT (Scala), NuGet (.NET), npm (JavaScript), Bundler (Ruby), Pip (Python), Go, and Composer (PHP).


JavaScript errors detected

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

If this problem persists, please contact our support.