Techniques › T1195 › T1195.001
T1195.001 Compromise Software Dependencies and Development Tools
initial access — Linux, macOS, Windows · attack.mitre.org · JSON
1
MITRE detection strategy
3
analytics
2
Sigma rules tagged attack.t1195.001
0
KEV CVEs mapped here
<p>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, such as pip and NPM packages, may be targeted as a means to add malicious code to users of the dependency. This may also include abandoned packages, which in some cases could be re-registered by threat actors after being removed by adversaries. Adversaries may also employ "typosquatting" or name-confusion by choosing names similar to existing popular libraries or packages in order to deceive a user.</p><p>Additionally, CI/CD pipeline components, such as GitHub Actions, may be targeted in order to gain access to the building, testing, and deployment cycles of an application. By adding malicious code into a GitHub action, a threat actor may be able to collect runtime credentials (e.g., via Proc Filesystem) or insert further malicious components into the build pipelines for a second-order supply chain compromise. As GitHub Actions are often dependent on other GitHub Actions, threat actors may be able to infect a large number of repositories via the compromise of a single Action.</p><p>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.</p>
KEV CVEs mapped to this technique · CTID Mappings Explorer
None. No KEV entry in the public mapping names this technique. Given that 74.7% of KEV has no mapping at all, this says more about the mapping than about the technique.
Detection strategy · ATT&CK Enterprise v19.2
- DET0009 Supply-chain tamper in dependencies/dev-tools (manager→write/install→first-run→egress) v1.0
AN0021 WindowsAdversary manipulates dependencies/dev tools used by developers or CI: a package manager (npm/yarn/pnpm, pip/pipenv, nuget/dotnet, chocolatey/winget, maven/gradle) or a compiler/IDE downloads or restores content; files are written under project paths and execution paths (node_modules, packages, .nuget, .gradle, .m2, %AppData%\npm, %UserProfile%\.cargo\bin, temp build dirs). First run of newly written components triggers scripts (preinstall/postinstall), shell/PowerShell spawning, or loader DLLs, followed by network egress to non-approved registries/CDNs.WinEventLog:Microsoft-Windows-CodeIntegrity/Operational
Invalid/Unsigned image when developer tool launches newly installed binaries→ DC0059 File MetadataNSM:FlowFirst-time outbound connections to package registries or unknown hosts immediately after restore/build→ DC0078 Network Traffic FlowTunable:TimeWindowApprovedRegistriesDevHostsTrustedPublishersAN0022 LinuxDeveloper or CI invokes package managers/compilers (apt/yum + build-essential, npm/yarn/pnpm, pip/pip3, gem, cargo, go, maven/gradle). These write executable or script files into PATH or project dirs and immediately execute embedded lifecycle hooks (preinstall/postinstall, setup.py, npm scripts) that spawn shells or curl/wget, followed by egress to unfamiliar registries or domains.journald:packagedpkg/apt or yum/dnf transaction logs (install/update of build tools)→ DC0059 File MetadataTunable:ApprovedReposPathScopeTimeWindowAN0023 macOSDeveloper tools (Homebrew, pip, npm/yarn, Xcode builds) install or update dependencies; new Mach-O or scripts appear under /usr/local, /opt/homebrew, ~/Library/Application Support, project dirs (node_modules/.bin, venv/bin). First run spawns sh/zsh/osascript/curl and new outbound flows; Gatekeeper/AMFI may flag unsigned components.NSM:FlowFirst-time egress to non-approved registries after dependency install→ DC0078 Network Traffic FlowTunable:AllowedTeamIDsBrewTapsAllowListTimeWindow
Sigma rules · SigmaHQ da9bb07d64, tag attack.t1195.001
Author: Muhammad Faisal (@faisalusuf)
· 2023-01-27 · logsource: product=github service=audit · 34e1c7d4-0cd5-419d-9f1b-1dad3f61018d
Dependabot performs a scan to detect insecure dependencies, and sends Dependabot alerts.
This rule detects when an organization owner disables Dependabot alerts private repositories or Dependabot security updates for all repositories.
Author: NVISO
· 2020-06-09 (modified 2021-11-27) · logsource: product=windows category=file_event · 805c55d9-31e6-4846-9878-c34c75054fe9
Detects Octopus Scanner Malware.
Rules tagged at the parent level (attack.t1195) 1
These target the parent technique, not this sub-technique specifically. Listed for completeness, not counted as coverage.
Author: NVISO
· 2020-06-09 (modified 2021-11-27) · logsource: product=windows category=file_event · 805c55d9-31e6-4846-9878-c34c75054fe9
Detects Octopus Scanner Malware.