Skip to content
Techstream

Vol. II

Securing CI/CD & the Software Supply Chain

SLSA, SBOM, Sigstore and the pipelines attackers target most

Vol. II

§ 01, What it's about

Covers the pipeline as an attack surface: SLSA levels, SBOM and VEX, keyless signing with Sigstore, and the build-time attack patterns from SolarWinds to XZ Utils. Written from the SAST/DAST gates on several critical applications and the SBOM generation in the pipelines I work on today.

§ 02, What I want the reader to be able to do

  1. 01

    Say which SLSA level a pipeline is at and what the next one requires.

  2. 02

    Sign and attest an artifact, and refuse an unsigned one at deploy time.

  3. 03

    Produce an SBOM an auditor can read and a VEX statement for the findings that do not apply.

§ 03, The diagram I keep coming back to

Scrolls sideways →

CI/CD supply chain securitySourcegitBuildhermeticSigncosignVerifyrekorDeployBuild L3SBOM at each stageSigstore ecosystemFulcio (CA) · Rekor (log)keyless signing via OIDCSLSA v1.0 build levelsL1 provenance · L2 hosted, signedL3 hardened, isolated buildsPolicy engine (OPA / Kyverno)verifies attestations before deploy
Figure, Volume II: source to deploy, with an SBOM at each stage, keyless signing, a transparency log and a policy check before deploy.

§ 04, Planned structure

  1. Part I

    The pipeline attack surface

    A taxonomy of supply-chain attacks, from SolarWinds to XZ Utils, and the trust-boundary map to draw before adding controls.

  2. Part II

    SLSA: from theory to pipeline config

    What each SLSA level requires of the build, and what changes in the pipeline configuration to get there.

  3. Part III

    Artifact signing and transparency

    Keyless signing and a transparency log, and the policy check that refuses an unsigned artifact at deploy time.

  4. Part IV

    SBOM, VEX and dependency management

    SBOM formats and when each fits, VEX for the findings that do not apply, and dependency updates that do not break production.

§ 05, When it's readable

This volume is being written. Leave your email and I’ll send one message when it’s readable.

One email when it's readable.