本文へスキップ
ecdsa.com

ビルドの来歴(build provenance)

アーティファクトがどのように作られたか(ソースリポジトリとコミット、ビルドプラットフォーム、ワークフロー、入力)を示す、署名付きで検証可能な記録で、利用者はこれによって、パッケージが想定どおりのソースとパイプラインから作られたことを確認できます。
別表記provenance attestationbuild provenanceSLSA provenanceartifact attestation

実際には、来歴は SLSA の来歴の述語を持つ in-toto アテステーションで、ワークフローの ID に紐付いた短期間有効な Sigstore 証明書を使って CI で署名されます。npm はパッケージのページに来歴のバッジとして表示し、PyPI はアテステーションとして、GitHub はアーティファクトアテステーション(gh attestation verify)を通じて提供します。コンテナレジストリは、イメージの隣に来歴を保存します。

来歴が答えるのは「これはどこから来たのか」であり、「これは安全か」ではありません。正規のパイプラインでビルドされた悪意のあるコミットにも、有効な来歴が付きます。来歴の価値は、盗まれたトークンを使ってノートパソコンから公開されたパッケージのような差し替えを防ぐことと、インシデント対応者に正確な追跡記録を提供することにあります。検証者は、リポジトリ、ワークフローのパスまたはビルダー ID、そして可能であればコミットを、想定と照らし合わせて確認すべきです。

規格と参考文献

すべての用語