Introduction
Modern software development depends heavily on open-source packages, container images, CI/CD pipelines, cloud services, and third-party dependencies. While these tools accelerate development, they also introduce security risks throughout the software supply chain.
Recent software supply chain attacks have demonstrated that attackers often target build systems, package repositories, and deployment pipelines rather than attacking applications directly. As organizations increasingly adopt cloud-native architectures, securing the software supply chain has become a critical requirement.
This is where Sigstore and Cosign come into play.
Sigstore provides an open-source framework for securing software artifacts through signing, verification, and transparency logs. Cosign, a key component of Sigstore, enables developers to digitally sign and verify container images and other software artifacts.
In this article, you'll learn how Sigstore and Cosign work, why software supply chain security matters, and how to implement secure artifact signing in modern development workflows.
What Is Software Supply Chain Security?
A software supply chain includes every component involved in building and delivering software.
Typical supply chain:
Source Code
│
▼
Build Pipeline
│
▼
Container Image
│
▼
Artifact Registry
│
▼
Deployment Environment
Attackers can target any stage of this process.
Examples include:
Compromised dependencies
Malicious container images
Build server attacks
Unauthorized deployments
Package repository compromises
Supply chain security ensures software remains trustworthy throughout its lifecycle.
Why Traditional Trust Models Are Insufficient
Traditionally, organizations trust software artifacts based on their source.
Example:
Developer
│
▼
Container Registry
│
▼
Production Deployment
However, questions remain:
Who created the artifact?
Has it been modified?
Was it built by an approved pipeline?
Is it authentic?
Without verification mechanisms, answering these questions becomes difficult.
This challenge has driven adoption of artifact signing technologies.
What Is Sigstore?
Sigstore is an open-source project designed to improve software supply chain security.
Its primary goals are:
Simplified artifact signing
Public transparency
Identity-based trust
Automated verification
Sigstore provides several components:
Sigstore
│
├── Cosign
├── Fulcio
├── Rekor
└── Policy Tools
Together, these components create a secure trust framework for software artifacts.
Understanding Sigstore Components
Cosign
Cosign signs and verifies software artifacts.
Supported artifacts include:
Container images
Binaries
SBOMs
OCI artifacts
Fulcio
Fulcio acts as a certificate authority.
It issues short-lived certificates tied to verified identities.
Examples:
GitHub identities
Google accounts
Enterprise identities
Rekor
Rekor is a transparency log.
It records signing events publicly.
Benefits include:
Auditability
Tamper detection
Verification history
What Is Cosign?
Cosign is a command-line tool that enables cryptographic signing and verification of artifacts.
Workflow:
Build Artifact
│
▼
Cosign Sign
│
▼
Signed Artifact
│
▼
Verification
Cosign integrates seamlessly with modern container ecosystems.
It supports:
Docker images
OCI registries
Kubernetes deployments
CI/CD pipelines
Why Artifact Signing Matters
Imagine a container image stored in a registry.
Without signing:
Container Image
│
▼
Unknown Authenticity
With signing:
Container Image
│
▼
Digital Signature
│
▼
Verified Identity
Benefits include:
Proven authenticity
Tamper protection
Deployment trust
Compliance support
Signing establishes trust between producers and consumers.
Installing Cosign
Install Cosign using Homebrew:
brew install cosign
Using Chocolatey:
choco install cosign
Verify installation:
cosign version
Successful installation displays the installed version.
Signing a Container Image
Assume a container image exists:
docker.io/company/api:v1
Sign the image:
cosign sign docker.io/company/api:v1
Cosign will:
Authenticate identity.
Generate a signature.
Store metadata.
Record the event in Rekor.
The image is now cryptographically signed.
Verifying a Container Image
Verification ensures authenticity.
Example:
cosign verify docker.io/company/api:v1
Verification checks:
Signature validity
Identity information
Transparency log records
Example output:
Verification successful
Only trusted artifacts should be deployed.
Keyless Signing
One of Sigstore's most innovative features is keyless signing.
Traditional approach:

Join the conversation! Your thoughts help the community grow.