跳到內容
getnextpdf.com

供應鏈完整性

NextPDF 的供應鏈控制措施作用於兩個環節:其一是對每個變更相依性的 pull request 與每個版本標籤執行的 CI 閘門;其二是釋出工作流程,其組態涵蓋來源證明產生、無金鑰簽署與 SBOM 產出。

控制措施類型
建置的 CycloneDX 1.7 SBOMCI 閘門,硬性
對建置輸入作出承諾的 in-toto 陳述CI 閘門,硬性
SHA-256 相依性指紋與釘選基準的差異比對CI 閘門,硬性
OpenVEX 對照相依性安全通報政策的一致性檢查CI 閘門,硬性
跨測試素材的確定性檢查CI 檢查,盡力而為
釘選的 slsa-github-generator 來源證明產生工作流程組態——釋出工作流程
Sigstore cosign 無金鑰簽署搭配 Rekor 透明度日誌工作流程組態——釋出工作流程
產出 CycloneDX 1.7 與 SPDX 2.3 SBOM工作流程組態——釋出工作流程
每夜對剖析器與寫入器路徑執行的 php-fuzzer 矩陣排程 CI

每一個涉及相依性的 pull request 與每一個版本標籤都會執行:

檢查內容閘門
盤點產出建置的 CycloneDX 1.7 SBOM硬性
建置輸入紀錄產出對建置輸入作出承諾的 in-toto 陳述硬性
相依性完整性將 SHA-256 位元組指紋與釘選基準做差異比對硬性
VEX 一致性要求相依性安全通報政策中的每一筆項目,都必須在儲存庫的 OpenVEX v0.2.0 文件中有對應陳述硬性
可重現性對測試素材執行確定性檢查盡力而為

相依性完整性閘門將相依性樹的 SHA-256 位元組指紋,與釘選於儲存庫中的基準做差異比對,不倚賴套件的中介資料。

釋出工作流程釘選官方的 slsa-github-generator 可重用工作流程——其組態會在隔離、 短生命週期的建置器中產生 in-toto 來源證明——並設定 slsa-verifier 就地對產生器的輸出執行驗證。

釋出工作流程為產出物套件組態 Sigstore cosign 無金鑰簽署,並將透明度日誌記錄至 Rekor。無金鑰簽署會從工作流程的 OIDC 身分 (https://token.actions.githubusercontent.com)衍生短效憑證,因此這條釋出簽署路徑的組態不含任何長效的產出物簽署金鑰。

釋出工作流程組態雙份 SBOM 產出——一份 CycloneDX 1.7 文件與一份 SPDX 2.3 文件。

每夜執行的 php-fuzzer 矩陣,連同 AST/結構樹測試載具,持續演練剖析器與寫入器路徑。