Integritas rantai pasok
Sekilas
Bagian berjudul “Sekilas”Kontrol rantai pasok NextPDF bekerja pada dua titik: gate CI yang berjalan pada setiap pull request yang mengubah dependensi dan setiap tag versi, serta alur kerja rilis, yang mengonfigurasi pembuatan provenance, penandatanganan keyless, dan emisi SBOM.
| Kontrol | Jenis |
|---|---|
SBOM CycloneDX 1.7 dari build | Gate CI, wajib |
| Pernyataan in-toto yang mengikat input build | Gate CI, wajib |
| Pembandingan sidik jari dependensi SHA-256 terhadap baseline yang dipatok | Gate CI, wajib |
| Pemeriksaan konsistensi OpenVEX terhadap kebijakan advisory dependensi | Gate CI, wajib |
| Pemeriksaan determinisme lintas fixture | Pemeriksaan CI, upaya terbaik |
Pembuatan provenance slsa-github-generator yang dipatok | Konfigurasi alur kerja — alur kerja rilis |
Penandatanganan keyless Sigstore cosign dengan pencatatan transparansi Rekor | Konfigurasi alur kerja — alur kerja rilis |
Emisi SBOM CycloneDX 1.7 dan SPDX 2.3 | Konfigurasi alur kerja — alur kerja rilis |
Matriks php-fuzzer malam hari pada jalur parser dan writer | CI terjadwal |
Gate CI
Bagian berjudul “Gate CI”Setiap pull request yang menyentuh dependensi, dan setiap tag versi, menjalankan:
| Pemeriksaan | Fungsi | Gate |
|---|---|---|
| Inventaris | Menghasilkan SBOM CycloneDX 1.7 dari build | Wajib |
| Catatan input build | Menghasilkan pernyataan in-toto yang mengikat input build | Wajib |
| Integritas dependensi | Membandingkan sidik jari byte SHA-256 terhadap baseline yang dipatok | Wajib |
| Konsistensi VEX | Mewajibkan setiap entri dalam kebijakan advisory dependensi memiliki pernyataan padanan dalam dokumen OpenVEX v0.2.0 repositori | Wajib |
| Reprodusibilitas | Menjalankan pemeriksaan determinisme lintas fixture | Upaya terbaik |
Gate integritas dependensi membandingkan sidik jari byte SHA-256 dari pohon dependensi terhadap baseline yang dipatok di repositori, terlepas dari metadata paket.
Konfigurasi alur kerja rilis
Bagian berjudul “Konfigurasi alur kerja rilis”Provenance — konfigurasi alur kerja
Bagian berjudul “Provenance — konfigurasi alur kerja”Alur kerja rilis mematok (pin) alur kerja reusable slsa-github-generator yang
kanonis, yang dikonfigurasi untuk menghasilkan provenance in-toto di dalam builder
terisolasi yang bersifat sementara, dan mengonfigurasi slsa-verifier untuk berjalan
inline terhadap keluaran generator tersebut.
Penandatanganan dan transparansi — konfigurasi alur kerja
Bagian berjudul “Penandatanganan dan transparansi — konfigurasi alur kerja”Alur kerja rilis mengonfigurasi penandatanganan keyless Sigstore cosign untuk
bundel artefak, dengan pencatatan transparansi ke Rekor. Penandatanganan keyless
menurunkan sertifikat berumur pendek dari identitas OIDC alur kerja
(https://token.actions.githubusercontent.com), sehingga jalur penandatanganan
rilis ini dikonfigurasi tanpa kunci penandatanganan artefak yang berumur panjang.
SBOM — konfigurasi alur kerja
Bagian berjudul “SBOM — konfigurasi alur kerja”Alur kerja rilis mengonfigurasi emisi SBOM ganda — sebuah dokumen CycloneDX 1.7
dan sebuah dokumen SPDX 2.3.
Fuzzing
Bagian berjudul “Fuzzing”Matriks php-fuzzer yang berjalan setiap malam, bersama harness AST/structure-tree,
menguji jalur parser dan writer.