Dagger CI/CD Pipeline Exposes Critical Supply Chain Gaps: Missing Image Signing, SBOM, SLSA Provenance
A critical review of the existing Dagger CI/CD pipeline reveals multiple, unaddressed supply chain integrity risks that leave the software delivery process vulnerable to undetected compromise. The current workflow, while performing vulnerability scans, lacks fundamental cryptographic and attestation safeguards. This creates a direct attack vector: any actor with push access to the internal Harbor registry could silently replace a built container image with a malicious one, and the deployment system would have no way to detect the substitution.
The pipeline, defined in `.github/workflows/dagger-cicd-pipeline.yml`, currently includes Trivy scanning and pushes SHA-tagged images to Harbor. However, it is missing four essential security controls: there is no cosign signing of images to provide cryptographic proof of origin, no Software Bill of Materials (SBOM) generation via tools like syft, no SLSA Level 2 provenance attestation, and the Trivy action itself runs from an unpinned `@master` reference instead of a version-pinned digest. Furthermore, while `docker-compose.yml` files may pin version strings, they do not enforce digest-pinning for base images, leaving another potential injection point.
Collectively, these gaps represent a systemic failure to implement a defense-in-depth strategy for software supply chain security. The absence of signing and attestation means there is no verifiable chain of custody from build to deployment. The lack of an SBOM obscures visibility into dependencies, and unpinned tool versions introduce their own supply chain risk. This configuration falls short of modern integrity standards and exposes the organization to risks from registry compromise, dependency poisoning, and insider threats, with no automated mechanism to flag tampering.