Files
llm-wiki/raw/interviews/digest-first-supply-chain-release-gates.md
T

4.2 KiB

title, source_type, status, related_branches, related_projects, tags, created, status_label
title source_type status related_branches related_projects tags created status_label
interview-prep / digest-first-supply-chain-release-gates interview-prep raw
feature-build-release-supply-chain-contract
ca-skeleton
interview-prep
ca-skeleton
ci-cd
build-tooling
slsa
supply-chain
2026-06-21 ready-for-derive

interview-prep: digest-first-supply-chain-release-gates

Layer: raw/interviews/ — 구현 경험에서 정직하게 파생한 공급망 릴리스 설계 질문 원본.

Parent / 부모

질문 / Question

  • 질문 원문: Java/Gradle 서비스의 컨테이너 릴리스에서 dependency lock, SBOM, 취약점 검사, Cosign 서명, SLSA provenance를 어떤 순서로 release-blocking하게 설계했나요?
  • 출처: 구현 경험에서 유추한 예상 질문.
  • 받은 날짜·맥락: 해당 없음.

질문 의도 추론 / Why this question

  • 핵심 평가 대상: supply-chain 개념 이해, immutable artifact 설계, gate ordering, fail-open 경계, 운영 검증 한계 인식.
  • 함정 / 흔히 빠지는 답변 패턴: tag를 artifact identity로 취급하거나, signature “존재”만 확인하고 signer identity/issuer를 검증하지 않는 답변.
  • 따라올 만한 후속 질문: rollback retention은 어떻게 검증하는가, SLSA builder ID는 왜 exact match인가, deploy-time admission은 누가 소유하는가.

답변 재료 / Raw answer material

  • 사실 1: artifact version은 SemVer+git sha이고 image는 digest로 build/sign/verify/promotion한다. 근거: raw/branch-notes/feature-build-release-supply-chain-contract D1, D4, D9.
  • 사실 2: Cosign verify는 exact workflow certificate identity와 GitHub OIDC issuer를 모두 검사한다. 근거: 같은 branch D6, D12 및 raw/official-docs/cosign-keyless-identity-verification-policy.
  • 사실 3: SLSA verifier는 source tag/URI와 exact generator builder ID를 검사하고 v1 predicate field도 확인한다. 근거: 같은 branch D7, D13 및 raw/official-docs/slsa-v1-provenance-schema.
  • 내가 직접 한 경험: strict Gradle lock positive/negative, 두 clean build SHA-256, release manifest/retention fixture를 구현·검증했다. 근거: 같은 branch §구현 결과.
  • 트레이드오프: 표준/다수파 방향은 immutable digest와 keyless identity 검증이다. 팀 정책인 recent 10 OR 90일 retention은 rollback 가용성을 높이지만 registry 비용을 늘린다.
  • 한계 / "이건 안 해봤다": 실제 GitHub OIDC/Rekor/GHCR release와 Kubernetes admission 배포는 실행하지 않았다.

Sources / 근거

미해결 / Unknown

  • 모르는 것 1: 실제 repository에서 SLSA generator가 발행한 provenance와 exact builder ID의 최종 payload.
  • 모르는 것 2: GHCR retention/garbage collection이 signature·attestation referrer 보존에 미치는 실제 영향.
  • 확인 방법: release candidate tag로 GitHub Actions 실행 후 Cosign/SLSA verification과 scheduled retention audit 결과를 보관한다.

답변 경계 / Answer boundary

  • 자신 있게 말할 수 있는 범위: local code, Gradle/Docker/manifest behavior, gate DAG와 fail-closed 조건.
  • "이 부분은 공식 문서를 다시 보고 답변드리겠습니다"라고 해야 하는 부분: 운영 중 Rekor/GHCR SLA와 조직별 admission policy.
  • 절대 과장하지 말 것: local fixture와 정적 workflow 검증을 production release 운영 경험처럼 말하지 않는다.