콘텐츠로 이동
getnextpdf.com

공급망 무결성

NextPDF의 공급망 통제는 두 지점에서 동작합니다. 하나는 의존성을 변경하는 모든 풀 리퀘스트와 모든 버전 태그에서 실행되는 CI 게이트이고, 다른 하나는 프로버넌스(provenance) 생성, 키리스 서명, SBOM 생성을 구성하는 릴리스 워크플로입니다.

통제유형
빌드의 CycloneDX 1.7 SBOMCI 게이트, 하드
빌드 입력을 확약하는 in-toto 스테이트먼트CI 게이트, 하드
고정된 기준선과의 SHA-256 의존성 지문 비교CI 게이트, 하드
의존성 보안 권고 정책에 대한 OpenVEX 일관성 검사CI 게이트, 하드
픽스처 간 결정성 검사CI 검사, 베스트 에포트
고정된 slsa-github-generator 프로버넌스 생성워크플로 구성 — 릴리스 워크플로
Rekor 투명성 로그를 포함한 Sigstore cosign 키리스 서명워크플로 구성 — 릴리스 워크플로
CycloneDX 1.7 및 SPDX 2.3 SBOM 생성워크플로 구성 — 릴리스 워크플로
파서 및 라이터 경로에 대한 야간 php-fuzzer 매트릭스예약 실행 CI

의존성을 건드리는 모든 풀 리퀘스트와 모든 버전 태그에서 다음이 실행됩니다.

검사수행 내용게이트
인벤토리빌드의 CycloneDX 1.7 SBOM을 생성하드
빌드 입력 기록빌드 입력을 확약하는 in-toto 스테이트먼트를 생성하드
의존성 무결성SHA-256 바이트 지문을 고정된 기준선과 비교하드
VEX 일관성의존성 보안 권고 정책의 모든 항목이 리포지토리의 OpenVEX v0.2.0 문서에 대응하는 스테이트먼트를 갖도록 요구하드
재현성픽스처 전반에 걸쳐 결정성 검사를 실행베스트 에포트

의존성 무결성 게이트는 패키지 메타데이터와 무관하게, 의존성 트리의 SHA-256 바이트 지문을 리포지토리에 고정된 기준선과 비교합니다.

릴리스 워크플로는 정식(canonical) slsa-github-generator 재사용 워크플로를 고정 버전으로 사용합니다. 이 워크플로는 격리된 임시(ephemeral) 빌더 내부에서 in-toto 프로버넌스를 생성하도록 구성되어 있으며, 생성기의 출력에 대해 slsa-verifier가 인라인으로 실행되도록 구성됩니다.

서명 및 투명성 — 워크플로 구성

섹션 제목: “서명 및 투명성 — 워크플로 구성”

릴리스 워크플로는 아티팩트 번들에 대해 Sigstore cosign 키리스 서명을 구성하며, Rekor에 투명성 로그를 기록합니다. 키리스 서명은 워크플로의 OIDC 아이덴티티(https://token.actions.githubusercontent.com)로부터 단기 인증서를 발급받으므로, 이 릴리스 서명 경로는 장기 아티팩트 서명 키 없이 구성됩니다.

릴리스 워크플로는 이중 SBOM 생성을 구성합니다 — CycloneDX 1.7 문서와 SPDX 2.3 문서입니다.

야간 php-fuzzer 매트릭스가 AST/구조 트리 하네스와 함께 파서 및 라이터 경로를 검증합니다.