Book an Appointment

Security for Your CI/CD Pipeline

Why build and deployment pipelines are among the most critical systems in your IT estate – and how to secure them in a structured way along the OWASP Top 10 CI/CD Security Risks and SLSA.

The CI/CD pipeline automates the path from source code to production – and to do so, it concentrates far-reaching permissions on code repositories, package registries and cloud environments. That is exactly what makes it an attractive target: whoever compromises the build process potentially compromises every artifact shipped, as the incidents at SolarWinds, Codecov and 3CX have shown. With the Top 10 CI/CD Security Risks, the OWASP Foundation has systematized the typical weaknesses of these environments; the SLSA framework translates the countermeasures into verifiable maturity levels. This article provides an overview of the most important threats and the hardening measures that have proven themselves in practice.

The Essentials at a Glance

01

The OWASP Top 10 CI/CD Security Risks

With the Top 10 CI/CD Security Risks (v1.0, 2022), the OWASP Foundation has systematically catalogued the typical weaknesses of build and deployment environments: "Insufficient Flow Control Mechanisms" (CICD-SEC-1), "Inadequate Identity and Access Management" (CICD-SEC-2), "Dependency Chain Abuse" (CICD-SEC-3), "Poisoned Pipeline Execution" (CICD-SEC-4), "Insufficient PBAC (Pipeline-Based Access Controls)" (CICD-SEC-5), "Insufficient Credential Hygiene" (CICD-SEC-6), "Insecure System Configuration" (CICD-SEC-7), "Ungoverned Usage of 3rd Party Services" (CICD-SEC-8), "Improper Artifact Integrity Validation" (CICD-SEC-9) and "Insufficient Logging and Visibility" (CICD-SEC-10). The catalogue works well as an assessment grid for a structured review of your own pipeline landscape – regardless of whether GitHub Actions, GitLab CI/CD or Jenkins is in use.

02

Poisoned Pipeline Execution (CICD-SEC-4)

In poisoned pipeline execution, an attacker with access to the source code system manipulates the build process without having to compromise the build environment itself. OWASP distinguishes three variants: in Direct PPE (D-PPE), the attacker modifies the CI configuration file directly; in Indirect PPE (I-PPE), they inject code into referenced files such as makefiles or test scripts; and Public PPE (3PE) exploits pull requests from anonymous contributors to public repositories. Effective countermeasures: run unreviewed code only on isolated runners without access to secrets, start pipelines from external contributors only after manual approval, and load CI configurations from protected branches.

03

Dependency Confusion and Dependency Chain Abuse (CICD-SEC-3)

"Dependency Chain Abuse" bundles attacks via the package supply chain: dependency confusion, dependency hijacking, typosquatting and brandjacking. In dependency confusion, the attacker publishes a package in a public registry under the name of an internal package with a higher version number – if the package manager resolves the dependency preferentially from the public source, the malicious code ends up in the build. Security researcher Alex Birsan demonstrated the technique in 2021 in the build systems of more than 35 organizations, including Apple, Microsoft and PayPal. Countermeasures include an internal registry proxy as the sole source of packages, pinning package versions via lock files together with checksum and signature verification, organization scopes for private packages, and executing installation scripts in isolated contexts without access to secrets.

04

Secrets in Pipelines: Short-Lived OIDC Credentials Instead of Static Secrets

Pipelines need access to registries, cloud environments and deployment targets – so credentials naturally accumulate there. "Insufficient Credential Hygiene" (CICD-SEC-6) describes the consequences: long-lived, broadly privileged secrets that can end up in logs, artifacts or forked repositories. The most effective lever is switching to federated, short-lived credentials: via OpenID Connect (OIDC), the CI platform issues a signed identity token per job, which the cloud provider validates against a previously defined trust relationship and exchanges for a short-lived access token that is valid only for that single job and expires automatically. Statically stored cloud credentials and manual rotation are thus largely eliminated; secret scanning and centralized secrets management remain necessary as flanking measures.

05

Hardening: Least-Privilege Runners, Branch Protection, Signatures

Least privilege also applies to the execution environment: runners should receive only the minimum permissions required per pipeline and ideally be operated ephemerally, i.e. discarded after every job. Branch protection rules with mandatory reviews and status checks prevent unreviewed changes – including manipulated CI configurations – from reaching the main branch; signed commits secure the authorship of changes. Signed artifacts and provenance attestations make it possible to cryptographically verify before deployment that an artifact actually originates from the expected pipeline – with Sigstore/Cosign even "keyless", using short-lived certificates bound to an OIDC identity and the public transparency log Rekor. This simultaneously addresses "Improper Artifact Integrity Validation" (CICD-SEC-9); against "Insufficient Logging and Visibility" (CICD-SEC-10), the answer is complete, centrally analyzed logging of all pipeline activity.

06

SLSA as a Reference Framework for Build Integrity

Supply-chain Levels for Software Artifacts (SLSA) is a cross-industry specification under the umbrella of the OpenSSF (Linux Foundation) that translates hardening measures into verifiable levels. The Build Track defines levels L1 to L3: from automatically generated provenance documenting how an artifact was built (L1), through signed provenance from a hosted build platform (L2), to hardened, mutually isolated builds in which the signing material remains out of reach of user-defined build steps (L3). The current version 1.2 (status "Approved", 11/2025) adds a Source Track for the first time, addressing the integrity of source code management. NIST SP 800-204D (02/2024) provides complementary implementation guidance; you will find a deeper discussion in our knowledge article on SLSA supply chain security.

Standards & Sources

The content on this page is based on the following publicly available guides and studies.

OWASP Foundation · 2022

OWASP Top 10 CI/CD Security Risks (v1.0)

Reference catalogue CICD-SEC-1 through CICD-SEC-10 with attack vectors and countermeasures; basis for the risk designations used here.

SLSA / OpenSSF (Linux Foundation) · 2025

SLSA Specification v1.2

Current version marked as "Approved" (tag v1.2 dated 24.11.2025); Build Track L0–L3 and the newly introduced Source Track.

NIST · 2024

NIST SP 800-204D: Strategies for the Integration of Software Supply Chain Security in DevSecOps CI/CD Pipelines

Final version 02/2024; describes the integration of provenance, attestation, SBOM and SLSA into CI/CD pipelines of cloud-native applications.

GitHub Docs · 2026

OpenID Connect (GitHub Actions: Concepts – Security)

Continuously updated vendor documentation (as of 07/2026, formerly "About security hardening with OpenID Connect") on OIDC federation in GitHub Actions: short-lived tokens issued per job instead of long-lived cloud secrets.

Sigstore-Projekt / OpenSSF · 2026

Sigstore Documentation: Overview

Fundamentals of Cosign and keyless signing with short-lived certificates, OIDC identities and the Rekor transparency log (as of 07/2026).

Alex Birsan (Medium) · 2021

Dependency Confusion: How I Hacked Into Apple, Microsoft and Dozens of Other Companies

Original report on the dependency confusion technique; demonstrated the vulnerability in more than 35 organizations.

How Resilient Is Your Build Pipeline?

You will find in-depth implementation details in our whitepapers on CI/CD pipeline security and on AI security in CI/CD pipelines. We would be happy to assess where your pipelines stand today in a no-obligation initial consultation.