@potato4d が @odan3240 に、 npm に新規追加された provenance 機能について話を聞きました。
概要
- npmのprovenanceは、npmパッケージとソースコードの対応関係を証明するための機能である。
- サプライチェーン攻撃などのセキュリティ上の問題に対処するために開発された機能である。
- provenanceを使用すると、パッケージのリリースごとにその出所やコードの紐付けが可能となる。
- GitHub Actions上でnpm publishを行う場合にのみprovenanceを利用することができる。
- provenanceの紐付け情報には、GitHub Actionsのメタデータやリポジトリの情報、コミットハッシュなどが含まれる。
- provenanceによって、ソースコードの正当性やリリースの信頼性を確認することができる。
- シグストアというサービスが署名の管理や検証を行っており、パッケージマネージャーにおいて署名が一般的な仕組みになる可能性がある。
- 現時点ではGitHub Actionsを使用してパッケージを公開する際にprovenanceを利用することができる。
- npmは8.4.0以降でpnpmなどの他のパッケージマネージャーとの互換性を持つようになった。
- provenanceの機能は今後もアップデートされ、開発者にとって利便性が向上することが期待される。
Links
- npm provenance
- 実際に provenance がついているサンプル
- https://www.npmjs.com/package/sigstore 詳細は Scrap を参照
- https://zenn.dev/odan/scraps/f6dd197774cff2