What it means for teams

A pipeline runs whatever the triggering commit says, with the pipeline's secrets and permissions. A fork pull request that reaches a privileged workflow, or a branch name pasted into a run step, is code execution inside your build.

How to prevent it

  • Run unreviewed code on isolated runners with no secrets and no access to sensitive environments.
  • Avoid running privileged pipelines for fork contributions, or require a maintainer's approval before they run.
  • Protect every branch that can trigger a sensitive pipeline, and review CI configuration changes before they run.
  • Give each pipeline only the credentials it needs, with the minimum privileges.

Guides on this site

Practice

References

  1. CICD-SEC-4 Poisoned Pipeline Execution (PPE) (OWASP)

List data from the publisher. A guide is listed as the main subject when the weakness or risk is what the guide is about, and as covering it when a dedicated section or worked example addresses it.