Przejdź do głównej zawartości
getnextpdf.com

Integralność łańcucha dostaw

Kontrole łańcucha dostaw NextPDF działają w dwóch punktach: bramki CI uruchamiane na każdym pull requeście zmieniającym zależności i na każdym tagu wersji oraz workflow wydania, który konfiguruje generowanie provenance, podpisywanie bezkluczowe i emisję SBOM.

KontrolaTyp
SBOM CycloneDX 1.7 dla buildaBramka CI, twarda
Oświadczenie in-toto wiążące dane wejściowe buildaBramka CI, twarda
Porównanie odcisków SHA-256 zależności z przypiętą linią bazowąBramka CI, twarda
Kontrola spójności OpenVEX względem polityki biuletynów bezpieczeństwa zależnościBramka CI, twarda
Kontrola determinizmu na zbiorze fixture’ówKontrola CI, best-effort
Generowanie provenance przypiętym slsa-github-generatorKonfiguracja workflow — workflow wydania
Bezkluczowe podpisywanie Sigstore cosign z rejestrowaniem przejrzystości w RekorKonfiguracja workflow — workflow wydania
Emisja SBOM CycloneDX 1.7 i SPDX 2.3Konfiguracja workflow — workflow wydania
Nocna macierz php-fuzzer na ścieżkach parsera i zapisuCI uruchamiane wg harmonogramu

Każdy pull request dotykający zależności i każdy tag wersji uruchamia:

KontrolaCo robiBramka
InwentaryzacjaEmituje SBOM CycloneDX 1.7 dla buildaTwarda
Zapis danych wejściowych buildaEmituje oświadczenie in-toto wiążące dane wejściowe buildaTwarda
Integralność zależnościPorównuje bajtowe odciski SHA-256 z przypiętą linią bazowąTwarda
Spójność VEXWymaga, aby każda pozycja w polityce biuletynów bezpieczeństwa zależności miała odpowiadające jej oświadczenie w dokumencie OpenVEX v0.2.0 w repozytoriumTwarda
OdtwarzalnośćUruchamia kontrolę determinizmu na fixture’achBest-effort

Bramka integralności zależności porównuje bajtowe odciski SHA-256 drzewa zależności z linią bazową przypiętą w repozytorium, niezależnie od metadanych pakietów.

Workflow wydania przypina kanoniczny, wielokrotnego użytku workflow slsa-github-generator, skonfigurowany tak, aby generować provenance in-toto wewnątrz izolowanego, efemerycznego buildera, oraz konfiguruje slsa-verifier do uruchamiania inline na wyniku generatora.

Podpisywanie i przejrzystość — konfiguracja workflow

Dział zatytułowany „Podpisywanie i przejrzystość — konfiguracja workflow”

Workflow wydania konfiguruje bezkluczowe podpisywanie Sigstore cosign dla pakietu artefaktów, z rejestrowaniem przejrzystości w Rekor. Podpisywanie bezkluczowe wyprowadza krótkotrwały certyfikat z tożsamości OIDC workflow (https://token.actions.githubusercontent.com), dzięki czemu ta ścieżka podpisywania wydań jest skonfigurowana bez długotrwałego klucza do podpisywania artefaktów.

Workflow wydania konfiguruje podwójną emisję SBOM — dokument CycloneDX 1.7 i dokument SPDX 2.3.

Nocna macierz php-fuzzer, wraz z harnessem AST/drzewa struktury, testuje ścieżki parsera i zapisu.