
Monitora l'integrità crittografica delle immagini container, delle release e dei tag Git per la sicurezza della supply chain, verificando le firme Sigstore cosign con il registro di trasparenza Rekor.
Monitoraggio esterno dell'integrità della catena di fornitura per i progetti open source di Aqua Security.
Questo repository monitora continuamente l'integrità degli artefatti pubblicati da Aqua Security — immagini container, release GitHub, tag Git e asset di rilascio — registrando e verificando nel tempo i digest crittografici. Per gli artefatti firmati, verifica anche le firme cosign di Sigstore rispetto al log di trasparenza Rekor.
Un workflow programmato di GitHub Actions viene eseguito ogni 10 minuti e confronta i digest attuali degli artefatti con lo stato registrato in precedenza. Se un digest è cambiato inaspettatamente, il workflow fallisce e crea una GitHub Issue con i dettagli.
Gli attacchi alla catena di fornitura del software prendono spesso di mira i canali di distribuzione:
Questi attacchi sono difficili da rilevare dall'interno del repository target, perché un attaccante con accesso sufficiente può anche disabilitare il monitoraggio interno al repository. Il monitoraggio esterno da un repository separato è immune a questo problema.
.sig) sia il più recente formato bundle Sigstore (API OCI Referrers e asset di rilascio .sigstore.json).| Modalità | Pianificazione | Cosa controlla |
|---|---|---|
| Rapida | Ogni 10 min | Tag immagine recenti, tutte le release/tag, nessun cosign |
| Completa | Ogni 6 ore | Tutti i tag immagine, verifica cosign, controllo approfondito degli asset |
Lo stato è archiviato in file TSV nella directory state/ (uno per target). Ogni riga registra il tipo di artefatto, l'identificatore, il digest, lo stato della firma e la data di creazione. Le modifiche ai file di stato vengono committate dal workflow, fornendo una traccia di audit completa tramite la cronologia Git.
Quando viene rilevata una violazione dell'integrità, il workflow:
| Progetto | Release | Tag | Immagini container | Cosign | Stato |
|---|
| trivy | Sì | Sì | GHCR, ECR Public, Docker Hub | Sì | state/trivy.tsv |
| trivy-action | Sì | Sì | — | — | state/trivy-action.tsv |
| setup-trivy | Sì | Sì | — | — | state/setup-trivy.tsv |
| trivy-operator | Sì | Sì | GHCR, Docker Hub | Sì | state/trivy-operator.tsv |
| kube-bench | Sì | Sì | Docker Hub | — | state/kube-bench.tsv |
| tfsec | Sì | Sì | GHCR, Docker Hub | — | state/tfsec.tsv |
| tracee | Sì | Sì | Docker Hub | Sì | state/tracee.tsv |
| kube-hunter | Sì | Sì | Docker Hub | — | state/kube-hunter.tsv |
| k8s-node-collector | Sì | Sì | GHCR | Sì | state/k8s-node-collector.tsv |