Pipeline Definition (PD)

Taxonomies › Software factory › Pipeline Definition

Station 03 of 17 · Line 1, Source to Artifact · 13 threats · prefix PD

A pipeline definition is code that runs with more privilege than the people who edit it. These cards cover workflow files, triggers, expressions, reusable templates, and the third-party actions, orbs and plugins they call.

Scope: Workflow files, triggers, expressions, reusable workflows, third-party actions and plugins.

Table: Pipeline Definition (PD), 13 threats with their mitigation principles and design measures. The full text is in the PDF and Excel downloads on the software factory taxonomy overview page.

Text version: every entry on this page is in the PDF and Excel downloads on the overview page, where it can be searched and copied.

The threats

  • PD·A Poisoned Pipeline Execution
  • PD·K Privileged Trigger on Untrusted Input
  • PD·Q Expression Injection
  • PD·J Unpinned Third-Party Step
  • PD·10 Transitive Step Dependency
  • PD·9 Remote Script Execution
  • PD·8 Insufficient Flow Control
  • PD·7 Environment Tampering Between Steps
  • PD·6 Shared Template Blast Radius
  • PD·5 Parameter Injection
  • PD·4 Comment and Bot Triggers
  • PD·3 Conditional Skip
  • PD·2 Definition Drift

Where this station touches others

  • Pipeline Definition and Runners: the definition is what the pipeline is told to do; the runner is where it executes and what survives between jobs.

Seen in the wild

  • PD·A Poisoned Pipeline Execution: OWASP CICD-SEC-4; Trivy pull_request_target (2026).
  • PD·K Privileged Trigger on Untrusted Input: Trivy pull_request_target (2026).
  • PD·Q Expression Injection: Ultralytics branch-name injection (2024).
  • PD·J Unpinned Third-Party Step: tj-actions (2025); trivy-action (2026).
  • PD·10 Transitive Step Dependency: reviewdog to tj-actions chain, link likely (2025).
  • PD·9 Remote Script Execution: Codecov Bash Uploader (2021).
  • PD·8 Insufficient Flow Control: OWASP CICD-SEC-1; Amazon Q Developer extension (2025).
  • PD·4 Comment and Bot Triggers: hackerbot-claw campaign (2026).

Sources for each case are listed on the overview page.

STRIDE, CAPEC and CWE

Of the 13 entries here, STRIDE fits 9 cleanly and 4 only loosely. CAPEC 3.9 has a pattern that describes 3 of them directly, only a generic parent pattern for 9, and nothing for 1. CWE 4.20 names the weakness directly for 10, has only a broader weakness for 2, and nothing for 1. The table below gives the mapping entry by entry, with the names of the CAPEC patterns and CWE weaknesses; what the mapping shows across the whole taxonomy is in Mapping the Software Factory Threat Taxonomy to STRIDE, CAPEC and CWE. The Excel, SKOS and STIX downloads carry the same mapping as text.

Table: STRIDE, CAPEC and CWE mapping for Pipeline Definition (PD), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.

← Version Control (VC) · Software factory overview · Runners (RN) →

© 2026 Jonathan Brett Crawley. Licensed under CC BY-NC-ND 4.0 with additional permissions: see the licence on the software factory overview.