Ga naar inhoud
getnextpdf.com

Integriteit van de supply chain

De supply-chain-controles van NextPDF werken op twee punten: CI-gates die draaien op elke pull request die dependencies wijzigt en op elke versietag, en de releaseworkflow, die provenancegeneratie, keyless ondertekening en SBOM-generatie configureert.

ControleType
CycloneDX 1.7-SBOM van de buildCI-gate, hard
in-toto-statement dat zich aan de build-inputs committeertCI-gate, hard
SHA-256-vingerafdrukvergelijking van dependencies met een vastgepinde baselineCI-gate, hard
OpenVEX-consistentiecontrole tegen het dependency-advisory-beleidCI-gate, hard
Determinismecontrole over meerdere fixturesCI-controle, best-effort
Provenancegeneratie via de vastgepinde slsa-github-generatorWorkflowconfiguratie — releaseworkflow
Keyless ondertekening met Sigstore cosign met transparantielogging naar RekorWorkflowconfiguratie — releaseworkflow
SBOM-generatie in CycloneDX 1.7 en SPDX 2.3Workflowconfiguratie — releaseworkflow
Nachtelijke php-fuzzer-matrix over de parser- en writerpadenGeplande CI

Elke pull request die dependencies raakt en elke versietag draait:

ControleWat deze doetGate
InventarisGenereert een CycloneDX 1.7-SBOM van de buildHard
Build-inputregistratieGenereert een in-toto-statement dat zich aan de build-inputs committeertHard
Dependency-integriteitVergelijkt SHA-256-bytevingerafdrukken met een vastgepinde baselineHard
VEX-consistentieVereist dat elk item in het dependency-advisory-beleid een corresponderend statement heeft in het OpenVEX v0.2.0-document van de repositoryHard
ReproduceerbaarheidVoert een determinismecontrole uit over de fixturesBest-effort

De dependency-integriteitsgate vergelijkt SHA-256-bytevingerafdrukken van de dependency-tree met een in de repository vastgepinde baseline, onafhankelijk van pakketmetadata.

De releaseworkflow pint de canonieke herbruikbare workflow slsa-github-generator vast, die is geconfigureerd om in-toto-provenance te genereren binnen een geïsoleerde, kortstondige builder, en configureert slsa-verifier om inline tegen de output van de generator te draaien.

Ondertekening en transparantie — workflowconfiguratie

Sectie met titel “Ondertekening en transparantie — workflowconfiguratie”

De releaseworkflow configureert keyless ondertekening met Sigstore cosign voor de artifactbundel, met transparantielogging naar Rekor. Keyless ondertekening leidt een kortlevend certificaat af van de OIDC-identiteit van de workflow (https://token.actions.githubusercontent.com), zodat dit release-ondertekeningspad zonder langlevende artifact-ondertekeningssleutel is geconfigureerd.

De releaseworkflow configureert dubbele SBOM-generatie — een CycloneDX 1.7-document en een SPDX 2.3-document.

Een nachtelijke php-fuzzer-matrix test, samen met een AST-/structuurboom-harness, de parser- en writerpaden.