Prerequisites
Install the required verification tools:- macOS
- Linux
- Windows
Minimum versions: cosign v2.0.0+, slsa-verifier v2.0.0+
Release Assets
Each Argo CD release includes the following assets:Container Image Verification
Verify that a container image was built by the official Argo CD GitHub Actions workflow.Using cosign
Expected Output
Expected Output
- ✅ Cosign claims validated
- ✅ Existence in transparency log verified offline
- ✅ Certificates verified against Fulcio roots
Using slsa-verifier
Verify with SLSA Level 3 provenance attestation:CLI Binary Verification
Each release includes a single attestation file (argocd-cli.intoto.jsonl) that can verify all CLI binaries.
Download and Verify
1
Download Binary and Attestation
2
Verify Binary
Expected Output
Expected Output
3
Install Binary
Semantic Version Verification
Verify against major or minor version instead of full version:Print Provenance Details
SBOM Verification
Argo CD provides a Software Bill of Materials (SBOM) for supply chain security and vulnerability scanning.Verify SBOM with SLSA
1
Download SBOM and Attestation
2
Verify Attestation
3
Extract and Inspect
Verify SBOM Signature (Alternative)
Verify using the signature and certificate files:Verification in Kubernetes
Admission Controllers
- Kyverno
- Sigstore Policy Controller
- Connaisseur
Enforce image signature verification with Kyverno:
Verify in CI/CD Pipeline
Integrate verification into your deployment pipeline:Checksum Verification
For additional verification, compare checksums:Troubleshooting
Verification failed: certificate identity
Verification failed: certificate identity
Error:
none of the expected identities matchedCause: Certificate identity regexp doesn’t match the actual identitySolution: Verify you’re using the correct identity pattern for the version:TOCTOU attack warning
TOCTOU attack warning
Warning: Using mutable tag referenceSolution: Always use the digest for verification:
Network issues with Rekor
Network issues with Rekor
Error:
failed to fetch transparency log entryCause: Cannot reach rekor.sigstore.devSolution: Ensure outbound HTTPS access to:rekor.sigstore.dev(port 443)fulcio.sigstore.dev(port 443)tuf-repo-cdn.sigstore.dev(port 443)
Old releases not signed
Old releases not signed
Issue: Releases before v2.4.0 are not signedSolution: Upgrade to v2.4.0 or later to use signature verification. For older versions, rely on:
- Checksum verification
- Downloading from official GitHub releases only
- Verifying Git tag signatures
Best Practices
Always Verify
Verify signatures for all production deployments
Use Admission Control
Enforce verification at the cluster level
Pin Digests
Use immutable image digests in production
Automate Verification
Integrate verification into CI/CD pipelines
Monitor Supply Chain
Use SBOM for vulnerability scanning
Trust Policy
Document which sources are trusted
Related Resources
Security Overview
Comprehensive security architecture
TLS Configuration
Configure component TLS certificates
Sigstore Documentation
Learn more about Sigstore and keyless signing
SLSA Framework
Supply chain security framework