
Monitors cryptographic integrity of container images, releases, and Git tags for supply chain security, verifying Sigstore cosign signatures with Rekor transparency log.
External supply chain integrity monitoring for Aqua Security open source projects.
This repository continuously monitors the integrity of Aqua Security's published artifacts — container images, GitHub releases, Git tags, and release assets — by recording and verifying cryptographic digests over time. For signed artifacts, it also verifies Sigstore cosign signatures against the Rekor transparency log.
A scheduled GitHub Actions workflow runs every 10 minutes and compares current artifact digests against previously recorded state. If any digest has changed unexpectedly, the workflow fails and creates a GitHub Issue with details.
Software supply chain attacks often target distribution channels:
These attacks are difficult to detect from inside the target repository because an attacker with sufficient access can also disable in-repo monitoring. External monitoring from a separate repository is immune to this.
.sig tags) and the newer Sigstore bundle format (OCI Referrers API and .sigstore.json release assets).| Mode | Schedule | What it checks |
|---|---|---|
| Quick | Every 10 min | Recent image tags, all releases/tags, no cosign |
| Full | Every 6 hours | All image tags, cosign verification, deep asset check |
State is stored as TSV files in the state/ directory (one per target). Each row records an artifact's type, identifier, digest, signature status, and creation date. Changes to state files are committed by the workflow, providing a full audit trail via Git history.
When an integrity violation is detected, the workflow:
| Project | Releases | Tags | Container Images | Cosign | State |
|---|
| trivy | Yes | Yes | GHCR, ECR Public, Docker Hub | Yes | state/trivy.tsv |
| trivy-action | Yes | Yes | — | — | state/trivy-action.tsv |
| setup-trivy | Yes | Yes | — | — | state/setup-trivy.tsv |
| trivy-operator | Yes | Yes | GHCR, Docker Hub | Yes | state/trivy-operator.tsv |
| kube-bench | Yes | Yes | Docker Hub | — | state/kube-bench.tsv |
| tfsec | Yes | Yes | GHCR, Docker Hub | — | state/tfsec.tsv |
| tracee | Yes | Yes | Docker Hub | Yes | state/tracee.tsv |
| kube-hunter | Yes | Yes | Docker Hub | — | state/kube-hunter.tsv |
| k8s-node-collector | Yes | Yes | GHCR | Yes | state/k8s-node-collector.tsv |