Real incidents made it concrete
Connecting each defence to an actual incident pattern made the reasons behind every step easy to explain to my team.
Browse
Protect what goes into your software and how it is built: dependency hygiene, SBOMs, provenance, signing with Sigstore and hardened CI pipelines
Created by Amara Nwosu
Modern applications are mostly made of other people's code: open source packages, base images, build tools and CI actions. Attackers have noticed. Compromised packages, malicious look alike names, hijacked maintainer accounts and tampered build steps have all caused serious incidents in recent years, including the backdoor discovered in the xz utilities in 2024 and the compromise of a popular GitHub Action in 2025.
This course teaches developers and platform engineers to defend the whole path from source to production.
We secure a sample service built in Node.js and Python and shipped as a container image through GitHub Actions. Each section adds one defence and verifies it works. By the end, the image carries an SBOM, a signature and provenance, and the deployment refuses anything that does not verify.
Security operations engineer teaching incident response and software supply chain security
I work in security operations: building detections, running incident response and helping engineering teams secure the way they build and ship software.
My courses focus on the defender's side of the table. We look at how incidents unfold, which logs and signals reveal them early, how to contain damage calmly and how to recover without losing evidence. On the engineering side, I teach dependency hygiene, SBOMs, signing and build pipelines that are hard to tamper with.
I like checklists, runbooks and tabletop exercises, because preparation is what makes the difference when something goes wrong at three in the morning. Every course ends with templates you can adapt for your own team.
Connecting each defence to an actual incident pattern made the reasons behind every step easy to explain to my team.
The order of the course matches what a real team can adopt: hygiene first, signing later. Very practical.
Running the compromised package scenario showed us how long finding affected services would really take. We started generating SBOMs the next week.
Keyless signing and verifying by identity was explained well. Admission policy setup needed some extra reading.
Pinning actions and least privilege tokens were quick wins across all our repositories.
Accurate content, but most pipeline examples use GitHub Actions. GitLab users will need to translate.