Join our Newsletter — 33% off our NHI Course

Poisoned Pipeline Execution (PPE)

Poisoned Pipeline Execution is a software supply chain attack where an adversary alters build or deployment steps so malicious code runs during automated delivery. In identity terms, compromised CI/CD runners, service accounts, secrets, or permissions allow trusted pipelines to publish tainted artifacts, infrastructure changes, or releases.

How Poisoned Pipeline Execution Works

Poisoned Pipeline Execution happens when an attacker tampers with the steps that build, test, sign, package, or deploy software so the pipeline itself becomes the delivery path for malicious code. The danger is not just that code is changed, but that the change is introduced through an automation path other teams already trust.

That trust boundary matters because pipelines often hold broad access to source code, artifact stores, registries, deployment targets, and cloud or infrastructure credentials. Once an attacker can alter the pipeline logic or inputs, they can turn routine automation into a mechanism for spreading tainted releases at speed.

Why It Is Dangerous in Software Delivery

PPE is especially dangerous because it can compromise integrity at the point where software moves from code to product. A single poisoned job can affect many downstream consumers, and the resulting artefact may appear legitimate unless build provenance, signing, and release checks are in place.

This is why build provenance frameworks such as SLSA are so relevant here: the security question is not only whether the code base is clean, but whether the delivery path can prove what ran, what was produced, and whether that artefact came from the expected source and build environment.

In practice, PPE can also undermine branch protections, review gates, runner isolation, and token hygiene. If the pipeline can publish artefacts or change infrastructure with inherited trust, the attack can propagate without needing a classic endpoint compromise first.

How Organisations Check Exposure and Reduce Opportunity

Exposure checks start with a precise inventory of CI/CD systems, runners, service accounts, tokens, secrets, and repository permissions. Teams should know which workflows can publish artefacts, modify infrastructure, trigger deployments, or access production-adjacent systems, especially when internet-facing runners or third-party actions are involved.

The most useful review points are the ones where trust is concentrated: reusable workflow permissions, secret exposure in jobs, privilege inherited by build identities, and any path that lets untrusted code influence a trusted release step. Internal guidance such as the CI/CD Security Guide and the CI/CD Pipeline Identity Security Guide both focus on the controls that limit that blast radius.

Where pipeline compromise is plausible, organisations should also examine release artefacts, deployment permissions, and whether build steps can be influenced by pull requests, compromised dependencies, or mutable tags. This is one of the reasons the broader attack pattern is often linked to supply chain security rather than only to source control security.

Detection, Recovery, and Post-Compromise Review

Detection should look for workflow tampering, unexpected secret access, new or altered runners, unusual release activity, and artefacts that do not match expected build provenance. Build logs, audit trails, and deployment history are often the best evidence sources because they show what the pipeline actually executed, not just what the repository was supposed to contain.

After suspected exploitation, the review should extend beyond the poisoned workflow itself. Credentials used by runners, publishing tokens, signing keys, deployment secrets, and any identity federation trust used by the pipeline may all need rotation or re-issuance if they were exposed or abused. A focused incident playbook such as CI/CD Pipeline Compromise Playbook is useful because recovery in this pattern usually requires clean rebuilds, workflow triage, and trust revalidation rather than a simple code rollback.

When the compromise path is unclear, teams should assume the release chain may be tainted until they can prove otherwise. That means reviewing published artefacts, redeploying from trusted sources, and checking whether downstream systems consumed or cached malicious output.

What Practitioners Should Remember

PPE is a trust-boundary problem before it is a code problem. The practical question is not only whether code is reviewed, but whether the automation path that turns code into production output is isolated, observable, and hard to subvert.

That is why linked build provenance, least-privilege pipeline identities, secret minimisation, and runner control matter together. A pipeline that can both run untrusted inputs and publish trusted output needs stronger controls than a normal application workflow, because the attacker’s goal is to inherit the trust already granted to delivery automation.

Risk and Threat Considerations

Poisoned Pipeline Execution creates a high-impact supply chain risk because one compromised delivery step can turn trusted automation into a release vector for malicious code. The blast radius can extend from source control into artefact repositories, deployment targets, infrastructure state, and third-party consumers of the build output.

Failure mechanism: An attacker alters the workflow, runner context, or execution inputs so the pipeline runs attacker-controlled logic while still appearing to be a legitimate build or release process.

Impact: Organisations can publish tainted artefacts, leak secrets, deploy malicious changes, or lose confidence in the integrity of releases until the entire pipeline is rebuilt and revalidated.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

SLSA, NIST SP 800-53 Rev 5 and CIS Controls v8 set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
SLSA Supply-chain Levels for Software Artifacts Directly addresses artefact provenance and build integrity in poisoned pipeline attacks.
Recommendation — Adopt SLSA-aligned provenance and verification to ensure release artefacts can be traced to trusted builds.
NIST SP 800-53 Rev 5 CM-5 — Access Restrictions for Change PPE depends on unauthorised changes to pipeline steps and delivery logic.
IA-5 — Authenticator Management Pipeline attacks often abuse leaked or overlong-lived credentials and tokens.
AU-2 — Event Logging Compromised workflows are detected through build, deployment, and runner audit evidence.
Recommendation — Restrict who can modify CI/CD workflows, build definitions, and deployment configurations. Rotate and tightly manage pipeline secrets, tokens, and other authenticators. Log workflow changes, runner activity, and release actions for later compromise review.
CIS Controls v8 CIS-16 — Application Software Security CI/CD pipelines are part of the software delivery system that must be hardened and monitored.
Recommendation — Harden software delivery workflows and validate build and deployment integrity.

Practitioner Guidance

Why practitioners should care: Treat pipeline identities, secrets, and signing material as production-grade assets, because compromise there can affect every release that depends on the same automation path. The control objective is to prevent untrusted code from inheriting publish or deploy authority.

Practitioner takeaway: If a workflow can both ingest untrusted content and emit trusted output, it deserves the same scrutiny as a production access path, not just as a build script.