
Monitora a integridade criptográfica de imagens de contêineres, releases e tags Git para a segurança da cadeia de suprimentos, verificando assinaturas cosign do Sigstore com o log de transparência do Rekor.
Monitoramento externo de integridade da cadeia de suprimentos para projetos de código aberto da Aqua Security.
Este repositório monitora continuamente a integridade dos artefatos publicados pela Aqua Security — imagens de contêiner, releases do GitHub, tags Git e ativos de release — registrando e verificando digests criptográficos ao longo do tempo. Para artefatos assinados, ele também verifica as assinaturas cosign do Sigstore em relação ao log de transparência do Rekor.
Um workflow agendado do GitHub Actions é executado a cada 10 minutos e compara os digests atuais dos artefatos com o estado registrado anteriormente. Se qualquer digest mudar inesperadamente, o workflow falha e cria uma issue no GitHub com detalhes.
Ataques à cadeia de suprimentos de software frequentemente visam os canais de distribuição:
Esses ataques são difíceis de detectar de dentro do repositório alvo, pois um atacante com acesso suficiente também pode desativar o monitoramento interno do repositório. O monitoramento externo a partir de um repositório separado é imune a isso.
.sig) quanto o formato mais recente de bundle do Sigstore (API OCI Referrers e ativos de release .sigstore.json).| Modo | Agendamento | O que verifica |
|---|---|---|
| Rápido | A cada 10 min | Tags de imagem recentes, todos os releases/tags, sem cosign |
| Completo | A cada 6 horas | Todas as tags de imagem, verificação cosign, verificação profunda de ativos |
O estado é armazenado em arquivos TSV no diretório state/ (um por alvo). Cada linha registra o tipo do artefato, identificador, digest, status da assinatura e data de criação. Alterações nos arquivos de estado são commitadas pelo workflow, fornecendo uma trilha de auditoria completa por meio do histórico do Git.
Quando uma violação de integridade é detectada, o workflow:
| Projeto | Releases | Tags | Imagens de contêiner | Cosign | Estado |
|---|
| trivy | Sim | Sim | GHCR, ECR Public, Docker Hub | Sim | state/trivy.tsv |
| trivy-action | Sim | Sim | — | — | state/trivy-action.tsv |
| setup-trivy | Sim | Sim | — | — | state/setup-trivy.tsv |
| trivy-operator | Sim | Sim | GHCR, Docker Hub | Sim | state/trivy-operator.tsv |
| kube-bench | Sim | Sim | Docker Hub | — | state/kube-bench.tsv |
| tfsec | Sim | Sim | GHCR, Docker Hub | — | state/tfsec.tsv |
| tracee | Sim | Sim | Docker Hub | Sim | state/tracee.tsv |
| kube-hunter | Sim | Sim | Docker Hub | — | state/kube-hunter.tsv |
| k8s-node-collector | Sim | Sim | GHCR | Sim | state/k8s-node-collector.tsv |