
Aqua Security 오픈소스 프로젝트를 위한 외부 공급망 무결성 모니터링
이 저장소는 Aqua Security가 게시한 아티팩트(컨테이너 이미지, GitHub 릴리스, Git 태그, 릴리스 자산)의 무결성을 시간에 따라 암호화 다이제스트를 기록하고 검증함으로써 지속적으로 모니터링합니다. 서명된 아티팩트의 경우 Rekor 투명성 로그와 대조하여 Sigstore cosign 서명도 검증합니다.
예약된 GitHub Actions 워크플로가 10분마다 실행되어 현재 아티팩트 다이제스트를 이전에 기록된 상태와 비교합니다. 어떤 다이제스트가 예기치 않게 변경되면 워크플로가 실패하고 세부 정보와 함께 GitHub Issue를 생성합니다.
소프트웨어 공급망 공격은 흔히 배포 채널을 표적으로 삼습니다:
이러한 공격은 충분한 접근 권한을 가진 공격자가 저장소 내부 모니터링도 비활성화할 수 있기 때문에 대상 저장소 내부에서는 탐지하기 어렵습니다. 별도의 저장소에서 수행되는 외부 모니터링은 이러한 공격에 면역입니다.
| 프로젝트 | 릴리스 | 태그 | 컨테이너 이미지 | Cosign | 상태 |
|---|---|---|---|---|---|
| trivy | 예 | 예 | GHCR, ECR Public, Docker Hub | 예 | state/trivy.tsv |
| trivy-action | 예 | 예 | — | — | state/trivy-action.tsv |
| setup-trivy | 예 | 예 | — | — | state/setup-trivy.tsv |
| trivy-operator | 예 | 예 | GHCR, Docker Hub | 예 | state/trivy-operator.tsv |
| kube-bench | 예 | 예 | Docker Hub | — | state/kube-bench.tsv |
| tfsec | 예 | 예 | GHCR, Docker Hub | — | state/tfsec.tsv |
| tracee | 예 | 예 | Docker Hub | 예 | state/tracee.tsv |
| kube-hunter | 예 | 예 | Docker Hub | — | state/kube-hunter.tsv |
.sig 태그)과 최신 Sigstore 번들 형식(OCI Referrers API 및 .sigstore.json 릴리스 자산)을 모두 지원합니다.| 모드 | 일정 | 검사 내용 |
|---|---|---|
| 빠른 검사 | 10분마다 | 최근 이미지 태그, 모든 릴리스/태그, cosign 검증 없음 |
| 전체 검사 | 6시간마다 | 모든 이미지 태그, cosign 검증, 심층 자산 검사 |
상태는 state/ 디렉터리에 각 대상별 TSV 파일로 저장됩니다. 각 행은 아티팩트의 유형, 식별자, 다이제스트, 서명 상태 및 생성 날짜를 기록합니다. 상태 파일의 변경 사항은 워크플로가 커밋하므로 Git 기록을 통해 완전한 감사 추적이 제공됩니다.
무결성 위반이 감지되면 워크플로는 다음을 수행합니다:
| k8s-node-collector | 예 | 예 | GHCR | 예 | state/k8s-node-collector.tsv |