Skip to content

T1195.001 Compromise Software Dependencies and Development Tools

Adversaries may manipulate software dependencies and development tools prior to receipt by a final consumer for the purpose of data or system compromise. Applications often depend on external software to function properly. Popular open source projects that are used as dependencies in many applications may be targeted as a means to add malicious code to users of the dependency.1

Targeting may be specific to a desired victim set or may be distributed to a broad set of consumers but only move on to additional tactics on specific victims.

Item Value
ID T1195.001
Sub-techniques T1195.001, T1195.002, T1195.003
Tactics TA0001
Platforms Linux, Windows, macOS
Version 1.1
Created 11 March 2020
Last Modified 28 April 2022

Procedure Examples

ID Name Description
S0658 XCSSET XCSSET adds malicious code to a host’s Xcode projects by enumerating CocoaPods target_integrator.rb files under the /Library/Ruby/Gems folder or enumerates all .xcodeproj folders under a given directory. XCSSET then downloads a script and Mach-O file into the Xcode project folder.3

Mitigations

ID Mitigation Description
M1051 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.
M1016 Vulnerability Scanning Continuous monitoring of vulnerability sources and the use of automatic and manual code review tools should also be implemented as well.2

Detection

ID Data Source Data Component
DS0022 File File Metadata

References