Tedarik zinciri bütünlüğü
Bir bakışta
“Bir bakışta” başlıklı bölümNextPDF’in tedarik zinciri kontrolleri iki noktada işler: bağımlılık değiştiren her çekme isteğinde ve her sürüm etiketinde çalışan CI geçitleri ile provenance (köken kanıtı) üretimini, anahtarsız imzalamayı ve SBOM üretimini yapılandıran sürüm iş akışı.
| Kontrol | Tür |
|---|---|
Derlemenin CycloneDX 1.7 SBOM’u | CI geçidi, katı |
| Derleme girdilerini taahhüt eden in-toto beyanı | CI geçidi, katı |
| Sabitlenmiş temele karşı SHA-256 bağımlılık parmak izi karşılaştırması | CI geçidi, katı |
| Bağımlılık güvenlik duyuruları politikasına karşı OpenVEX tutarlılık denetimi | CI geçidi, katı |
| Fikstürler arası determinizm denetimi | CI denetimi, en iyi çaba |
Sabitlenmiş slsa-github-generator provenance üretimi | İş akışı yapılandırması — sürüm iş akışı |
Rekor şeffaflık günlüğü kaydıyla Sigstore cosign anahtarsız imzalama | İş akışı yapılandırması — sürüm iş akışı |
CycloneDX 1.7 ve SPDX 2.3 SBOM üretimi | İş akışı yapılandırması — sürüm iş akışı |
Ayrıştırıcı ve yazıcı yolları üzerinde gecelik php-fuzzer matrisi | Zamanlanmış CI |
CI geçitleri
“CI geçitleri” başlıklı bölümBağımlılıklara dokunan her çekme isteği ve her sürüm etiketi şunları çalıştırır:
| Denetim | Ne yapar | Geçit |
|---|---|---|
| Envanter | Derlemenin CycloneDX 1.7 SBOM’unu üretir | Katı |
| Derleme girdisi kaydı | Derleme girdilerini taahhüt eden bir in-toto beyanı üretir | Katı |
| Bağımlılık bütünlüğü | SHA-256 bayt parmak izlerini sabitlenmiş bir temelle karşılaştırır | Katı |
| VEX tutarlılığı | Bağımlılık güvenlik duyuruları politikasındaki her girdinin, deponun OpenVEX v0.2.0 belgesinde eşleşen bir beyana sahip olmasını şart koşar | Katı |
| Yeniden üretilebilirlik | Fikstürler genelinde bir determinizm denetimi çalıştırır | En iyi çaba |
Bağımlılık bütünlüğü geçidi, bağımlılık ağacının SHA-256 bayt parmak izlerini, paket üst verilerinden bağımsız olarak, depoda sabitlenmiş bir temelle karşılaştırır.
Sürüm iş akışı yapılandırması
“Sürüm iş akışı yapılandırması” başlıklı bölümProvenance — iş akışı yapılandırması
“Provenance — iş akışı yapılandırması” başlıklı bölümSürüm iş akışı, kanonik slsa-github-generator yeniden kullanılabilir iş akışını
sabitler; bu iş akışı, in-toto provenance’ını yalıtılmış, geçici bir derleyici içinde
üretecek şekilde yapılandırılmıştır ve slsa-verifier, üreticinin çıktısına karşı
satır içi çalışacak şekilde yapılandırılır.
İmzalama ve şeffaflık — iş akışı yapılandırması
“İmzalama ve şeffaflık — iş akışı yapılandırması” başlıklı bölümSürüm iş akışı, yapıt paketi için Rekor’a şeffaflık günlüğü kaydıyla birlikte Sigstore
cosign anahtarsız imzalamayı yapılandırır. Anahtarsız imzalama, iş akışının OIDC
kimliğinden (https://token.actions.githubusercontent.com) kısa ömürlü bir sertifika
türetir; dolayısıyla bu sürüm imzalama yolu, uzun ömürlü bir yapıt imzalama anahtarı
olmadan yapılandırılmıştır.
SBOM — iş akışı yapılandırması
“SBOM — iş akışı yapılandırması” başlıklı bölümSürüm iş akışı, çift SBOM üretimini yapılandırır — bir CycloneDX 1.7 belgesi ve bir
SPDX 2.3 belgesi.
Fuzzing
“Fuzzing” başlıklı bölümGecelik bir php-fuzzer matrisi, AST/yapı ağacı test düzeneğiyle birlikte ayrıştırıcı
ve yazıcı yollarını çalıştırır.