Skip to main content
Skip table of contents

Configure SCA Reachability in Azure DevOps

Overview

The Mend Reachability tool helps you assess the effectiveness of security vulnerabilities associated with open-source components, to prioritize fixing those vulnerabilities. 

We want to reduce developers' security burden by utilizing Mend.io’s innovative differentiation - reachability analysis - easily, as part of the Mend Developer Platform. This will enable developers to focus on fixing the reachable vulnerabilities in their repository.

In the real world, a medium but reachable vulnerability might be prioritized higher by developers than a critical but unreachable vulnerability.

This article will explain about Mend.io’s Reachability technology in the Mend Developer Platform and how to use it.

Getting it done

Prerequisites before getting started with Reachability

  • Mend Developer Platform installed with a Mend paid account connected to your source code repository.

  • A repository that uses one of the supported package managers.
    Note that Reachability relies on the existence of the following elements in the repository:

    1. Source code files (e.g., .java, .js).

    2. Manifest files (e.g., pom.xml, package.json).

Scanning in the Mend Developer Platform with Reachability

Use case for Reachability

The initial use case for reachability is that a repo scan includes a “reachability scan” step. This means that the scan may take longer. In the end, the repo scan results will be enriched with reachability information - the scan report will include a visual indication on whether the listed vulnerability is reachable or not.
Once enabled, the reachability indication will be visible as part of the post-scan reports.

Enable Reachability

  1. To enable Reachability scans on the Mend Developer Platform, navigate to the organization or project settings.

    image-20260212-153808.png
  2. Choose Dependencies from the left navigation menu.

  3. Scroll down and enable the Reachability toggle, and set up the scan delay, which defines the time interval for which code commits, including changes to the existing supported source files, will trigger an SCA and Reachability check run

  4. Click SAVE.

    image-20241218-192022.png

Viewing results in the Mend Developer Platform

The Reachability results will be visible in the following locations within the repository:

  1. Check Run results (Security Check)

  2. Work Items (Azure DevOps) / Issues (Bitbucket and GitHub)

image-20241218-192748.png

1. Reachability Status in the Security Check

image-20241218-194639.png

2. Reachability Status in the Issue

Viewing the results in the Mend Platform UI

Kindly follow this article for the full details.

Reference

Regular Mend SCA check runs are triggered on code commits that include one of the following:

  • Changes to packages (manifest) files

  • Addition or deletion of supported source files

When reachability is enabled, each Mend SCA check run will include reachability analysis and will be triggered on code commits with the following logic:

  • Changes to packages (manifest) files (same as regular SCA check runs)

  • Addition or deletion of supported source files (same as regular SCA check runs)

  • Changes to existing supported source files - after an elapsed time interval has passed (new for reachability)

Supported Languages

The Reachability Supported column in the the table below indicates which languages and package managers are Reachability-supported in the Mend Developer Platform.

Language (Package Manager)

Package Manager Versions

Language Versions

Reachability Supported

C# (.NET)

N/A

.NET 5.0.x, 6.0.x, 7.0.x, 8.0.x, 9.0.x

✔️

C/C++ (Conan)

Conan 2.x

✔️

Java (Maven)

Maven 3.2.5, 3.3.x, 3.5.x, 3.6.x, 3.8.x, 3.9.x

Java 8.x, 11.x, 17.x, 21.x

✔️

Java (Gradle)

  • Gradle 6.x, 7.x, 8.x

  • Gradle 9.x

  • Java 8.x, 11.x, 17.x, 21.x

  • Java 17.x, 21.x

✔️

JavaScript (npm)

  • npm 6.x, 7.x, 8.x, 9.x, 10.x, 11.x

  • npm 8.x, 9.x, 10.x, 11.x

  • Node.js 18.x

  • Node.js 20.x, 22.x, 24.x

✔️

JavaScript (pnpm)

  • pnpm 6.x, 7.x, 8.x, 9.x, 10.x

  • pnpm 8.x, 9.x, 10.x

  • Node.js 18.x

  • Node.js 20.x, 22.x, 24.x

✔️

JavaScript (yarn)

  • yarn 1.x

  • yarn 2.x, 3.x

  • yarn 4.x

  • Node.js 16.x, 18.x, 20.x

  • Node.js 16.x, 18.x, 20.x, 22.x, 24.x

  • Node.js 16.x, 18.x, 20.x, 22.x, 24.x

✔️

Python (Conda)

2023.x, 2024.x

Python 3.x

✔️

Python (pip)

pip 20.x, 21.x, 22.x, 23.x

Python 3.x

✔️

Python (pipenv)

2020.11.x, 2021.5.x, 2022.1.x, 2023.6.x, 2023.7.x

Python 3.x

✔️

Python (poetry)

poetry 1.1.x, 1.2.x, 1.3.x, 1.4.x, 1.8.x, 2.x

Python 3.x

✔️

C# (.NET Framework)

N/A

.NET 4.8

X

Golang

Modules

Golang 1.14.x, 1.15.x, 1.16.x, 1.17.x, 1.18.x, 1.19.x, 1.20.x, 1.21.x, 1.22.x, 1.23.x

X

HTML

N/A

N/A

X

Java (SBT)

SBT 1.8

Java 8.x, 11.x, 17.x, 21.x

X

JavaScript (Bower)

Bower 1.8.x

Node.js 18.x

X

PHP (composer)

composer 2.2.x, 2.3.x, 2.4.x, 2.5.x, 2.6.x

PHP 7.x, 8.x

X

R (packrat)

packrat 0.6.x

R 3.3.x, 4.1.x, 4.2.x

X

Ruby (Bundler)

Bundler 2.2.x, 2.3.x, 2.4.x

Ruby 2.x, 3.x

X

Scala (SBT)

SBT 1.4.x, 1.5.x, 1.7.x, 1.8.x, 1.9.x, 1.10.x

Scala 2.13.x, 3.3.x, 3.5.x

X

Swift (SwiftPM)

SwiftPM 5.8.x, 5.9.x, 6.0.x

N/A

X

Swift & Objective C (Cocoapods)

  • Cocoapods 1.10.x

  • Cocoapods 1.11.x

  • Cocoapods 1.12.x

  • Swift 5.7.x

  • Swift 5.3.x, 5.9.x, 6.0.x

  • Swift 5.3.x, 5.5.x, 5.9.x, 6.0.x

X

JavaScript errors detected

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

If this problem persists, please contact our support.