Skip to main content
Skip table of contents

Mend Platform Rollout Overview

Overview

This documentation series will help you with rolling out Mend, providing guidance to get you scanning your first few repositories quickly.

There are three main decisions to make regarding a Mend Rollout: Scan Strategy, Access Control and Results Consumption. Each decision will work together to help you make choices for the others. This document will provide a high level overview of each decision and their various pros/cons to help make informed decisions around your Mend Rollout.

image-20240412-203418.png

Scan Strategy

Scan Strategy is the first and most important decision. Your scan strategy will dictate the Organization Structure which in turn decides Access Control, Developer Results Consumption, & how Renovate is deployed.

There are two options for scan strategy when implementing Mend:

  • Repository integration

  • Pipeline

These methods are not mutually exclusive. It is possible to run both pipeline and repository in parallel but when starting out with Mend it is important to focus on one method to get a handle on your organization structure, Renovate and Results consumption.

IDE is not listed as a scan strategy as this is not a scalable or enforceable scan method. Mend has no way to monitor IDE usage by developers, the results are not uploaded to the Mend UI, and each developer will need to obtain the own user key for the IDE install.

If you wish for Developers to be able to scan locally alongside either Pipeline or Repo integration to get results in front of developers faster, we recommend Integrating the Mend CLI into your IDE.

Repository

The repo integration supports the “Shift Left” approach by scanning earlier in the development process. It provides the full Mend experience to developers inside their own work environment. With the repository integration, a developer should never need to go the Mend UI to consume security results. All Renovate Enterprise features are included such as Smart Merge Control making it easier for developers to maintain their dependency health.

If your Source Control Management system is not mentioned below or your code base does not use a supported package manager, you must use the pipeline integration.

Mend supports the following repository integrations:

  • Cloud Repository integrations

    • Github.com

    • Azure DevOps*

      • The Azure Devops repository integration is currently being overhauled slated for Q4 of 2024. It is recommended to start with a pipeline strategy until this new integration is released.

    • Bitbucket Cloud

  • Self-Hosted integrations

    • Github Enterprise/EMU

    • Gitlab Server

    • Bitbucket Data Center

This documentation series covers the Cloud Repository integration set up.

Setting up a self-hosted integration is not simple. It requires infrastructure to deploy and careful planning is required to scale correctly.
For Self-Hosted integrations, speak with your Customer Success Manager who will assign a Mend Onboarding Engineer to guide you through the process.

If you want to get started scanning right away and you need a self-hosted integration, it is recommended you start with pipeline scanning.

Pros

Cons

Scalable Mass Rollout

Need to configure access to private registries

No User Management Required

Lack of configurations for breaking apart Mono repositories into separate modules

Renovate EE Features

Additional setup required for container scanning (pipeline/registry)

Differential scan results

SAST is not available for Bitbucket Server, GitLab or Azure DevOps

Scan results where developers live

Static application/project structure

Known Repository Integration Gaps

The following features are currently missing from the repository integration and require the addition of pipeline scanning to be utilized.

  • Only one branch can be configured for repository issue tracking and publishing SAST scan results to the Mend UI.

  • Image scanning

  • SAST scanning is unavailable for GitLab Enterprise, Bitbucket DataCenter and AzureDevops

Pipeline

Pipeline refers to any type of scanning using the Mend CLI or the Mend Unified Agent directly. These scanners are typically built into your CI/CD process to automatically scan your applications as they are being built for delivery to Dev/QA/production.

The pipeline integration is ideal when flexibility is required. It allows full control over how results are reported to the Mend UI, which is especially useful for generating and reporting SBOMs. However, setting up a pipeline integration can be more complex, especially without centralized pipeline templates, and it may be more challenging for developers to access results. They may need to export reports via API or visit the Mend UI to view fix suggestions. Automatic dependency updates can be configured to replicate the functionality of repository integration by using the community version of Renovate

Pros

Cons

Customizable application/project structure

Harder for developers to consume results with the need to either export reports via API or go to the Mend UI to see fix suggestions

Can run customized scripts post scan

Need to configure open-source renovate separately

Pre-existing build environment (in theory)

Difficult to scale (rollout & maintain) without centralized pipeline templates

More flexible

Requires insertion into build (not a build adjacent)

Access Control and Organization Structure

While Access Control can be a complex topic, this documentation series will focus on two different options to keep it simple:

  • AppSec Admin access only

  • Developer access

Which one you use depends on the scan strategy you have implemented and the goals of your AppSec program.
Some questions to consider:

  • Who should be maintaining results within the Mend UI?

    • Suppressing false positives, creating tickets, generating reports or updating/modifying library licenses and copyrights.

      • Resolving vulnerabilities should not be consider since that can only be performed by a developer applying the appropriate upgrades

  • How do I want my developer to be consuming Mend Results?

    • Should developers be allowed to see results for projects they do not own?

      • It is possible to set up access control so developers will only see the projects they own. However, this requires a heavy amount of group management which can slow down the roll out of Mend.

Organization structure will depend on what scan strategy you decide will be covered in more detail in the individual integration guides.

Mend does support SSO integration via SAML but this should not have a huge bearing on the Access Control decision.

Admin only UI access

Pros

Cons

Simple setup

Developers cannot generate reports without service userKey and API access

No group management

No Mend UI training required for developers

 

Developer UI access

Pros

Cons

Developers have full access to reports and UI

UI training required for developers

Cumbersome setup & maintenance via scripting

Results Consumption

Results consumption is an important decision to drive value out of Mend. Not reviewing the results of a scan is effectively the same as not scanning the application at all. It is important to provide results to different stake holders in a way that makes the most sense for them to consume. It is possible to implement multiple methods of Results Consumption. The best strategy to consume results is the one your stakeholders want to use most. The only metric for a successful consumption strategy is whether or not scan results are being utilized in some fashion or another.

Stakeholders to take into consideration:

  • Executives

  • Management

  • Security Team

  • Developers

Mend UI

The Mend UI is typically used by the Security Team to review findings from scans. However, this can also be used to generate reports for Executives. Additionally, developers can be given access to view findings where needed in instances where other methods such as Jira or SCM Issue Trackers with Repo Integrations do not work for your organization.

Pros

Cons

Source of Truth for all Mend Results

Need to set up access control

Can suppress findings or alerts and modify license/copyright information

Information is not focused to a specific group without setting up labels

Jira through Mend Jira Integration

The Mend Jira Integration creates Jira tickets with information about findings posted in the Mend UI. This is most useful when a company’s primary form of productivity tracking is through Jira tickets, or if an organization has multiple different SCM systems that all connect to Jira in the SDLC.

Pros

Cons

Can set conditions for creating tickets automatically though Workflow engine

30 minute - 1 hour sync time

Can manually create Jira tickets through Mend UI

One way sync - Closed Jira tickets do not suppress the vulnerability within Mend and Vice/versa

Ticket status tracking within the Mend UI

Requires specific Mend Fields and Issue types set up by the integration

Issues are only created a scan is completed

Issues cannot be created in multiple Jira Boards

Custom Scripts using Mend API

Creating custom scripts is most often beneficial when the Repository Integrations cannot be used, but scan results still are still desired after a scan in a pipeline. Typically these reports can be generated/formatted during the pipeline and then published as an artifact to the pipeline alongside any scan logs.

Pros

Cons

Can be automated and built into tooling

Needs to be developed and maintained

Complete customization over output

Can provide results without requiring access to UI via a service user

Repository Integration Only

Source Control Management System issue tracker

Examples of a “Source Control Management System issue tracker” includes features of SCM systems such as GitHub Issues, Bitbucket issues, etc. This method is typically the recommended way for most development teams as it does not require logging into any other systems, or any extra setup past installing the integration, and provides the quickest way to get results from a scan.

Pros

Cons

Built into the SCM

Not all teams have issues enabled

Maintained by the integration - If a vulnerability is fixed or suppressed, the issue will be closed

Manually closed issues are considered “Ignored” by the integration

Thresholds can be configured per team or globally across all teams

Little to no customization options

Commit/Pull Request Status Checks

If Issue Trackers for Repository Integrations are not usable, another option is to use Commit/Pull Request Status Checks which provide a report of the findings that resulted from the scan associated with that commit. This is used by development teams to get a report of the dependencies that have vulnerabilities, and which version that library needs to be updated to, to remediate the vulnerabilities.

Pros

Cons

Provides immediate feedback to developers

Requires setting status check as required to block merging

Differential results

Next Steps

Having trouble deciding what you should do? A good place to start is the cloud repo integration. If that is not possible, start with the pipeline, give developers access to the UI, and as many forms of results consumption as possible. These can always be tweaked later when you have a better understanding of Mend and how you want to run your AppSec Program.

Once you have decided on your Scan Strategy, Access Control, and have a general idea for Results Consumption. Proceed to the rollout guides for each scan strategy to get started rolling out Mend to your organization.

Pipeline Rollout
Cloud Repository Rollout

JavaScript errors detected

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

If this problem persists, please contact our support.