Supply Chain Compromise

Adversaries may manipulate products or product delivery mechanisms prior to receipt by the end user to achieve data or system compromise.

As software development strongly relies on popular open source projects and package manager repositories that are used as dependencies in many applications, these become targets for attackers as means to add malicious code to users of the dependency. [1] [2]

For the adversaries, shifting "upstream" in the software supply chain increases the number of targets and the chances for a successful infection.

Supply chain compromise can take place at any stage of the supply chain including:

  • Software development tools
  • Software development environment
  • Public or private source code repositories
  • Source code in open source dependencies
  • Software update/distribution mechanisms
  • System and container images[3] [4]
  • Modified/counterfeit products to legitimate distributors
  • Shipment interdiction.[2]

While supply chain compromise can impact any component of hardware or software, attackers looking to gain execution have often focused on malicious additions to legitimate software in software distribution or update channels. [5] [6] [7]

To achieve this goal, adversaries may target the company’s software development or distribution pipeline, and compromise the Code Signing process, modifying the code distributed to the end user.

Targeting may be specific to a desired victim set [8] or malicious software may be distributed to a broad set of consumers but only move on to additional tactics on specific victims. [5] [7]

Procedure Examples

Name Description

Elderwood has targeted manufacturers in the supply chain for the defense industry.[8]


Mitigation Description
Update Software

A patch management process should be implemented to check unused dependencies, unmaintained and/or previously vulnerable dependencies, unnecessary features, components, files, and documentation.

Vulnerability Scanning

Continuous monitoring of vulnerability sources and the use of automatic and manual code review tools should also be implemented as well.[9]


Use verification of distributed binaries through hash checking or other integrity checking mechanisms. Scan downloads for malicious signatures and attempt to test software and updates prior to deployment while taking note of potential suspicious activity. Perform physical inspection of hardware to look for potential tampering.



Initial Access
Data Sources
File monitoring
Web proxy

Created: 01 December 2020

Last Modified: 27 December 2020