本文へスキップ
ecdsa.com

npm の来歴(provenance)

対応する CI から公開された npm パッケージに付与される署名付きの SLSA 来歴(2023年9月26日に一般提供開始)で、パッケージの各バージョンを、そのソースリポジトリ、コミット、ビルドワークフローに結び付けます。
別表記npm provenancenpm publish --provenancenpm audit signatures

GitHub Actions または GitLab CI から npm publish --provenance(Trusted Publishing では自動)で公開すると、ワークフローの ID に対して発行された Sigstore 証明書で署名され、Rekor に記録された in-toto アテステーションが作成されます。レジストリはこれを保存し、来歴のバッジを表示します。npm audit signatures は、インストール済みパッケージのレジストリ署名と来歴のアテステーションを検証します。

来歴を利用できるのは、公開リポジトリからビルドされた公開パッケージだけです。来歴はコードそのものを保証するものではなく、侵害されたワークフローでも有効な来歴が生成されます。しかし、盗まれたトークンを使って別の場所から「来歴付き」のバージョンを公開することは防げます。npm 来歴チェッカーでは、パッケージのバージョンのアテステーションとそのソースを確認できます。

規格と参考文献

すべての用語