Blog
  • Welcome to egonzalez blog
  • Software Supply Chain Security
    • Software Supply Chain Security: Why It Matters
    • Software Supply Chain Security: A Technical Deep Dive
    • SLSA and the Software Supply Chain Security: Time to Get Serious
  • Provenance
    • Understanding Provenance in Software Supply Chain Security
  • Building a secure development framework
  • Hacking
    • Index
      • Hack the box writeups
        • Dyplesher HTB writeup
        • Fatty HTB writeup
        • Oouch HTB writeup
        • Sauna HTB writeup
      • Python Vulnerabilities
        • Data Deserialization
          • Pickle
          • XML
          • YAML
      • Hacking cheatsheet
  • DevSecOps
    • Index
      • Gitlab CI minikube development environment
      • Gerrit review minikube
      • Gerrit and gitlab replication and CI job hooks on k8s
      • Vault integration with Gitlab CI
      • Gitlab CI template for DefectDojo
      • Falco real time runtime thread detection on k8s
      • Zarf - Airgap deployment in kubernetes
      • OWASP Dependency-track
      • OpenDaylight in a Docker
      • To conditional or to skip, that's the Ansible question
      • Spacewalk Red Hat Satellite v5 in a Docker container PoC
      • Ansible INI file module
  • OpenStack
    • Index
      • OpenStack tacker and service function chaining sfc with kolla
      • Deploy OpenStack designate with kolla-ansible
      • OpenStack keystone zero downtime upgrade process newton to ocata
      • Midonet integration with OpenStack Mitaka
      • OpenStack kolla deployment
      • Magnum in RDO OpenStack Liberty
      • Nova VNC flows under the hood
      • Ceph Ansible baremetal deployment
      • Rally OpenStack benchmarking with Docker
      • OpenStack affinity/anti-affinity groups
      • Migrate keystone v2.0 to keystone v3 OpenStack
      • Neutron DVR OpenStack Liberty
      • OpenStack segregation with availability zones and host aggregates
      • Nova Docker driver
      • Murano in RDO OpenStack manual installation
      • Ceph RadosGW admin Ops
      • Multiple store locations for glance images
      • List all tenants belonging an user
      • Load balancer as a service OpenStack LbaaS
      • OpenStack nova API start error
      • Delete OpenStack neutron networks
Powered by GitBook
On this page
  • What Is SLSA?
  • Why the Supply Chain’s a Problem
  • How SLSA Works: The Tech Details
  • The Challenges
  • Where It’s Headed

Was this helpful?

  1. Software Supply Chain Security

SLSA and the Software Supply Chain Security: Time to Get Serious

The software supply chain is a disaster waiting to happen. SolarWinds got hit hard, Log4j blew up in everyone’s face, and dependencies keep turning into attack vectors. If you think your app’s safe because you’ve got basic defenses, think again—the real risk is in the pipeline that delivers your code. SLSA (Supply Chain Levels for Software Artifacts) is a framework to lock it down. Let’s dig into what it is and why it matters.

What Is SLSA?

SLSA isn’t a tool you install—it’s a set of rules to secure software artifacts (source code, builds, dependencies, binaries) from start to finish. It came from Google’s Binary Authorization for Borg and is now part of the OpenSSF. The idea’s simple: stop attackers from messing with your software by proving where it came from and how it was made. It’s broken into four levels, 0 to 4, each stepping up the security game:

  • Level 0: No protection. Your code’s wide open.

  • Level 1: Basic provenance. You’ve got a log of the build process, but it’s not enforced.

  • Level 2: Signed provenance from an automated build. Harder to tamper with, but not bulletproof.

  • Level 3: Serious controls. Isolated build environments, multi-party review, and trustworthy metadata.

  • Level 4: Top-tier. Hermetic builds, full reproducibility, and cryptographic guarantees.

Each level builds on the last, making it tougher for someone to sneak in and ruin your day.

Why the Supply Chain’s a Problem

Your software’s only as good as its weakest link. A 2023 Sonatype report showed supply chain attacks on open-source projects spiked 430% in three years. Attackers don’t need to breach your app—they can just compromise a library or hijack a build step. SLSA focuses on three key pieces:

  1. Provenance: Where did this artifact come from? Who built it?

  2. Integrity: Has it been altered since it was created?

  3. Reproducibility: Can you rebuild it and get the exact same thing?

Ignore these, and you’re gambling every time you pull in a dependency or push a release.

How SLSA Works: The Tech Details

Picture a CI/CD pipeline—like GitHub Actions building a Docker image. At Level 0, you’ve got no idea if that image is legit. Level 1 gives you a build log—nice, but it doesn’t stop tampering. Level 2 automates the build, signs the output with something like Cosign (Sigstore’s keyless signing), and attaches metadata tied to a specific commit hash. Level 3 steps it up: run the build in an isolated VM with no network access, verify every dependency’s hash, and enforce two-person approval on config changes. Level 4 goes all-in—hermetic builds (no external calls) using tools like Bazel or Nix, bit-for-bit reproducibility, and full provenance signed with ECDSA or Ed25519 keys.

Take Log4Shell as an example. At Level 3, Log4j could’ve shipped with signed provenance linking to the exact source and build env—any mismatch flags a problem. Level 4’s hermetic builds might’ve stopped malicious code from sneaking in during compilation. Too bad that wasn’t standard back then.

The Challenges

SLSA isn’t easy. Here’s what you’re up against:

  • Build Rework: Level 2 needs automation—your manual scripts won’t cut it. Level 4’s hermetic builds mean rethinking everything.

  • Reproducibility Headaches: Matching checksums across builds is a nightmare if your pipeline’s sloppy.

  • Resource Drain: Level 3 and 4 demand serious infra—small teams and open-source projects might struggle.

  • Ecosystem Gaps: If your dependencies aren’t SLSA-compliant, you’re still exposed.

Plus, the strictness can slow down your DevOps flow. It’s a trade-off: security versus speed.

Where It’s Headed

SLSA’s still growing. Sigstore’s simplifying signing, OpenSSF’s pushing tools, and the spec’s getting sharper. Start with Level 1—document your builds, sign something with GPG or Cosign. Aim for Level 2 if you can handle it. The ecosystem’s moving fast, and attackers aren’t slowing down.

Bottom line: SLSA’s a tough but critical fix for a supply chain that’s been vulnerable too long. It’s time to stop messing around and secure your software properly.

PreviousSoftware Supply Chain Security: A Technical Deep DiveNextProvenance

Last updated 1 month ago

Was this helpful?