Tính toàn vẹn chuỗi cung ứng
Tổng quan nhanh
Phần tiêu đề “Tổng quan nhanh”Các biện pháp kiểm soát chuỗi cung ứng của NextPDF hoạt động tại hai điểm: các cổng CI chạy trên mọi pull request thay đổi phụ thuộc và mọi tag phiên bản, và workflow phát hành, nơi cấu hình việc sinh provenance, ký keyless và phát SBOM.
| Biện pháp kiểm soát | Loại |
|---|---|
SBOM CycloneDX 1.7 của bản build | Cổng CI, cứng |
| Tuyên bố in-toto cam kết với các đầu vào của bản build | Cổng CI, cứng |
| So khớp dấu vân tay SHA-256 của phụ thuộc với baseline đã ghim | Cổng CI, cứng |
| Kiểm tra tính nhất quán OpenVEX so với chính sách khuyến cáo phụ thuộc | Cổng CI, cứng |
| Kiểm tra tính tất định xuyên fixture | Kiểm tra CI, best-effort |
Sinh provenance bằng slsa-github-generator đã ghim | Cấu hình workflow — workflow phát hành |
Ký keyless bằng Sigstore cosign với ghi log minh bạch trên Rekor | Cấu hình workflow — workflow phát hành |
Phát SBOM CycloneDX 1.7 và SPDX 2.3 | Cấu hình workflow — workflow phát hành |
Ma trận php-fuzzer hằng đêm trên các đường parser và writer | CI theo lịch |
Các cổng CI
Phần tiêu đề “Các cổng CI”Mọi pull request chạm đến phụ thuộc, và mọi tag phiên bản, đều chạy:
| Kiểm tra | Chức năng | Cổng |
|---|---|---|
| Kiểm kê | Phát ra SBOM CycloneDX 1.7 của bản build | Cứng |
| Ghi nhận đầu vào build | Phát ra một tuyên bố in-toto cam kết với các đầu vào của bản build | Cứng |
| Tính toàn vẹn phụ thuộc | So khớp dấu vân tay byte SHA-256 với một baseline đã ghim | Cứng |
| Tính nhất quán VEX | Yêu cầu mọi mục trong chính sách khuyến cáo phụ thuộc phải có tuyên bố tương ứng trong tài liệu OpenVEX v0.2.0 của kho lưu trữ | Cứng |
| Tính tái lập | Chạy kiểm tra tính tất định trên các fixture | Best-effort |
Cổng toàn vẹn phụ thuộc so khớp dấu vân tay byte SHA-256 của cây phụ thuộc với một baseline đã ghim trong kho lưu trữ, độc lập với metadata của gói.
Cấu hình workflow phát hành
Phần tiêu đề “Cấu hình workflow phát hành”Provenance — cấu hình workflow
Phần tiêu đề “Provenance — cấu hình workflow”Workflow phát hành ghim reusable workflow chính tắc slsa-github-generator, được cấu
hình để sinh provenance in-toto bên trong một builder cô lập, tồn tại tạm thời, và cấu
hình slsa-verifier chạy nội tuyến đối chiếu với đầu ra của generator.
Ký và minh bạch — cấu hình workflow
Phần tiêu đề “Ký và minh bạch — cấu hình workflow”Workflow phát hành cấu hình ký keyless bằng Sigstore cosign cho gói artifact, với ghi
log minh bạch lên Rekor. Ký keyless dẫn xuất một chứng chỉ ngắn hạn từ danh tính OIDC
của workflow (https://token.actions.githubusercontent.com), vì vậy đường ký phát hành
này được cấu hình để vận hành hoàn toàn bằng chứng chỉ ngắn hạn, thay vì dựa trên một
khóa ký artifact tồn tại lâu dài.
SBOM — cấu hình workflow
Phần tiêu đề “SBOM — cấu hình workflow”Workflow phát hành cấu hình phát song song hai SBOM — một tài liệu CycloneDX 1.7 và
một tài liệu SPDX 2.3.
Fuzzing
Phần tiêu đề “Fuzzing”Một ma trận php-fuzzer chạy hằng đêm, cùng với harness AST/cây cấu trúc, kiểm thử các
đường parser và writer.