E.2.2 Verify dependencies and environment
Control Details
Objective
Ensure the build environment's sources and dependencies come from a secure, trusted source of truth
Definition
Analyze the integrity of build tools, components, and containers before bringing them into the pipeline. Validate the point of origin/provenance, checksums, and signatures in the downloading and ingesting processes. Request SBOM, provenance, and self-attestation to aid in achieving this goal.
Assessment Questions
- How do you track packages back to their repositories?
- How do you verify the integrity (i.e. digital signature or hash match) and the provenance data of each component and container?
- How do you validate that the build environment's sources and dependencies come from a secure, trusted source of truth?
- What is your dependency version constraint strategy, e.g. how do you manage pinning and floating versions of your dependencies?
- How do you validate that the deployment environment's sources and dependencies come from a secure, trusted source of truth?
Reference sources
- OSSF-Scorecard pinned-dependencies
- SLSA Verifying artifacts
- OWASP-SCVS 1.10 4.13 4.19
- S2C2F AUD-1 AUD-3 AUD-4
- CNCF-SSC M-V: Verify third-party artifacts and open source artifacts BP-V: Validate environments and dependencies before usage D-V Admission controller/deployment gate