Supply Chain Compromise T1195

Tactic: Initial Access

Adversaries may manipulate products or product delivery mechanisms prior to receipt by a final consumer for the purpose of data or system compromise.

Events covered

18 catalog events are tagged with this technique by at least one rule.

Authoring guide

Patterns shared across the 99 rules above: which fields they filter on, what specific values they look for, and what they exclude. The catalog normalizes field names across vendors so Sigma's Image, Elastic's process.name, and Splunk's process_name collapse into one row. Each rule contributes at most once per row.

Fields filtered most (78 distinct)

The fields most rules look at when detecting this technique. The How column shows the operators authors use (eq, wildcard, regex_match, match) and how often each appears. Sample values are concrete examples to start from, not an exhaustive list.

FieldRulesHowSample values
action30eq 25, in 5, starts_with 1completed, audit_log_streaming.update, created, edited, protected_branch.destroy
sourcetype18eq 18httpevent, github:cloud:audit
Image16ends_with 13, contains 2, starts_with 2/curl, /python3, \cmd.exe, \gup.exe, \node.exe
EventType15eq 10, in 5exec, ProcessRollup2, exec_event, git.push, start
process_name13eq 9, in 2, wildcard 2, starts_with 13cxdesktopapp.exe, cmd.exe, node, 3cx desktop app, ash
Channel12eq 12
event.type12eq 12start, change, protocol
CommandLine9contains 9 i , 02-echo@0.0.7, @accordproject/concerto-analysis@3.24.1, "c:\programdata\wt.exe" -w hidden -ep bypass -file, && echo
TargetFilename8eq 3, contains 2, ends_with 2, in 2, starts_with 1*/.github/workflows/*.yaml, */.github/workflows/*.yml, */.github/workflows/discussion.yaml, */.github/workflows/discussion.yml, */.github/workflows/formatter_*.yaml
ParentImage6ends_with 5, contains 1/node, \node.exe, /bun, /python3, \bun.exe
data_stream.dataset6eq 6github.audit, endpoint.alerts
host.os.type6eq 4, in 2
parent_process_name6eq 3, in 2, wildcard 1Runner.Worker, Code.exe, ConfigurationWizard*.exe, NetFlowService*.exe, NetflowDatabaseMaintenance*.exe
vendor_action6eq 6org.disable_two_factor_requirement, protected_branch.destroy, repo.archived, repo.destroy, repository_ruleset.destroy
process.args4eq 2, in 2--install, -i, --token, --url, configure

Top indicator values (1534 distinct)

Specific (field, operator, value) combinations the rules check for, ranked by how many rules under this technique use each one. The Corpus reach column counts how many rules across the entire catalog (any technique) check the same combination. High numbers point to widely-used indicators that are likely noisy on their own; combine them with another condition for useful signal. Blank means the combination is specific to rules under this technique. Click a value to expand the rules under this technique that use it.

FieldKindValueRules (here)Corpus reach
sourcetypeeq
httpevent
1212
sourcetypeeq
github:cloud:audit
66
event.typeeq
start
10606
EventTypeeq
exec
5171
Imageends_with
/curl
422
Imageends_with
\powershell.exe
3182
actioneq
completed
44
data_stream.dataseteq
github.audit
418
CommandLinecontains
curl
312
CommandLinecontains
i
23
CommandLinecontains
02-echo@0.0.7
22
CommandLinecontains
@accordproject/concerto-analysis@3.24.1
22
CommandLinecontains
@accordproject/concerto-linter-default-ruleset@3.24.1
22
CommandLinecontains
@accordproject/concerto-linter@3.24.1
22
CommandLinecontains
@accordproject/concerto-metamodel@3.12.5
22
CommandLinecontains
@accordproject/concerto-types@3.24.1
22
CommandLinecontains
@accordproject/markdown-it-cicero@0.16.26
22
CommandLinecontains
@accordproject/template-engine@2.7.2
22
CommandLinecontains
@actbase/css-to-react-native-transform@1.0.3
22
CommandLinecontains
@actbase/native@0.1.32
22
CommandLinecontains
@actbase/node-server@1.1.19
22
CommandLinecontains
@actbase/react-absolute@0.8.3
22
CommandLinecontains
@actbase/react-daum-postcode@1.0.5
22
CommandLinecontains
@actbase/react-kakaosdk@0.9.27
22
CommandLinecontains
@actbase/react-native-actionsheet@1.0.3
22
CommandLinecontains
@actbase/react-native-devtools@0.1.3
22
EventTypein
ProcessRollup2
3117
EventTypein
exec
3171
EventTypein
start
3134
actionin
edited
33

Exclusions (83 distinct)

Field/operator/value combinations excluded by rules under this technique (top-level not() clauses), sorted by how many rules exclude each. These are the false-positive paths the community has learned to filter out. A new rule that ignores the high-count entries here will likely fire on the same noisy paths. Click a value to expand the rules under this technique that exclude it.

FieldKindValueRules excluding
Imageeq
?:\windows\syswow64\arp.exe
1
Imageeq
?:\windows\syswow64\lodctr.exe
1
Imageeq
?:\windows\syswow64\unlodctr.exe
1
ParentCommandLinecontains
ms-python.vscode-
1
ParentImagein
/usr/bin/unattended-upgrade
1
ParentImagein
/usr/share/debconf/frontend
1
QueryNameends_with
.azurewebsites.net
1
QueryNameends_with
.githubusercontent.com
1
QueryNameends_with
.googleapis.com
1
QueryNameends_with
.sourceforge.net
1
QueryNameends_with
block.opendns.com
1
QueryNameends_with
gateway.zscalerthree.net
1
QueryNameeq
github.com
1
QueryNameeq
notepad-plus-plus.org
1
TargetFilenamecontains
.exe
1

Rules under this technique

Every rule in the catalog tagged with this technique, grouped by vendor. Click a rule title for its full predicates, exclusions, and indicators.

Platform (all)
Domain (all)

Sigma 17 rules

Elastic 20 rules

Splunk 27 rules

Kusto 8 rules

Panther 27 rules