CI/CD & Supply Chain Security Articles
CI/CD security guides covering GitHub Actions, Terraform, secret management, SBOM, SLSA provenance, container registries, and Helm charts.
CI/CD Pipeline and Supply Chain Hardening
Just-in-Time CI Access for Production Deploys: Approval Flows and Bounded Permissions
Standing CI permissions are a liability. JIT mints production permissions only at deploy time, with explicit approval and short lifetime.
Renovate and Dependabot Security Configuration: Auto-Merge Boundaries and Scope Rules
Bots that update dependencies are great until one auto-merges a malicious release. The defaults are safe-ish; the configuration that makes them production-safe is more deliberate.
GitHub Apps vs PATs vs Deploy Keys vs OIDC: Choosing the Right SCM Identity
Four identity types, four very different scope/lifetime/permission models. Pick wrong and you ship the wrong-shaped credential to every CI run for years.
Sigstore Keyless Signing and Cosign Verification: Fulcio, Rekor, and Policy Enforcement
Keyless signing eliminates long-lived signing keys by issuing short-lived certificates from Fulcio and recording signatures in the Rekor transparency log. Cosign wires it into CI/CD.
Ephemeral CI Runners with Firecracker and Kata: VM-Level Isolation for Build Jobs
Container-based CI runners share a host kernel. Firecracker and Kata give each job its own kernel and a fresh VM — large blast-radius reduction, modest cost.
OIDC Federation Hardening: Locking Down CI-to-Cloud Trust Policies
OIDC federation between CI and cloud removes long-lived secrets. The trust policies that grant the access are the new attack surface, and most are too loose.
Branch Protection and Repository Policy as Code: Terraform GitHub for Hundreds of Repos
Hand-clicking branch protection rules across 200 repos guarantees drift. Terraform + the github provider + a shared module makes it auditable, reviewable, and reversible.
CI/CD Pipeline Egress Control: Runner Network Isolation, Allowlists, and Supply-Chain Exfiltration Defense
Most build pipelines run with unrestricted outbound internet. A single compromised dependency exfiltrates secrets, tokens, and source code in seconds.
Software Supply Chain and Third-Party Exposure: Defending Against Upstream Compromise
Attackers no longer need to breach you directly when they can compromise a vendor, open-source library, or managed service provider that you trust. A single poisoned dependency can cascade into thousands of downstream organisations. This article covers the controls that detect and contain supply chain compromise.
Secret Management in CI/CD Pipelines: Vault, SOPS, and OIDC Federation
Static credentials in CI/CD pipelines are the leading cause of secret sprawl. Teams store long-lived API keys, database passwords, and cloud provider.
Software Bill of Materials (SBOM) Generation and Consumption in CI/CD
SBOM generation is easy, run Syft, get a list of every package in your container image.
Terraform Security: State File Protection, Provider Pinning, and Plan Review Automation
Terraform state files contain every secret, IP address, and configuration detail of your infrastructure in plaintext JSON.
Container Registry Security: Access Control, Vulnerability Scanning, and Garbage Collection
Container registries store the most sensitive artifacts in your deployment pipeline.
Pipeline-as-Code Security: Preventing CI Configuration Tampering
CI/CD pipeline definitions live alongside application code in Git.
Hardening Helm Values: Schema Validation, Secret Injection, and Security Defaults
Helm values files control security-critical Kubernetes fields like security contexts, image references, and resource limits. Without schema validation, a single misconfigured value can deploy a privileged container or pull an unscanned image.
Securing CI/CD Runners: Isolation, Credential Scoping, and Ephemeral Environments
CI/CD runners are the most privileged, least monitored components in most infrastructure.
Securing Helm Charts: Chart Signing, Value Injection, and Template Security
Helm is the dominant package manager for Kubernetes, but most teams install charts without verifying provenance, pass unvalidated values that end up...
Helm Supply Chain Security: OCI Registries, Provenance Verification, and Chart Mirroring
Helm charts pulled from public repositories are unsigned, unverified, and executed with whatever permissions their templates request. This article covers OCI-based chart storage, cosign signing and verification, chart mirroring for airgapped environments, and Kyverno policies to enforce signed charts.
Artifact Integrity Verification: Checksums, Signatures, and Transparency Logs
Build artifacts pass through multiple stages between source code and production deployment.
Securing GitHub Actions: Permissions, Pinning, and Workflow Injection Prevention
GitHub Actions is the most widely used CI/CD platform, but its security model is scattered across dozens of documentation pages.
Dependency Pinning and Lockfile Integrity: Preventing Supply Chain Attacks in CI
Dependency confusion and typosquatting attacks exploit the gap between "I declared a dependency" and "I verified the dependency I got." Version pinning...
Reproducible Builds for Container Images: Achieving Deterministic Output
Two builds from the same source code should produce the same container image. In practice, they almost never do.
GitOps Security Model: Separation of Duties, Drift Detection, and Rollback Controls
GitOps centralizes deployment authority in Git repositories. Tools like ArgoCD and Flux watch Git repositories and reconcile cluster state to match...
SLSA Provenance for Container Images: From Build to Admission Control
Without provenance, you cannot prove where a container image came from, what source code it was built from, or whether the build process was tampered...