Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Provenance in JSR
Search
Shunsuke Mano
September 27, 2024
Programming
1
61
Provenance in JSR
https://nodejs.connpass.com/event/330652/
Shunsuke Mano
September 27, 2024
Tweet
Share
More Decks by Shunsuke Mano
See All by Shunsuke Mano
高度な型付け、どう教える?
progfay
4
2k
Other Decks in Programming
See All in Programming
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
250
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
810
5つのアンチパターンから学ぶLT設計
narihara
1
110
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
190
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
280
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
120
Select API from Kotlin Coroutine
jmatsu
1
190
VS Code Update for GitHub Copilot
74th
1
390
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
550
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
360
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
190
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
800
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
A Tale of Four Properties
chriscoyier
160
23k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Adopting Sorbet at Scale
ufuk
77
9.4k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
We Have a Design System, Now What?
morganepeng
53
7.7k
Music & Morning Musume
bryan
46
6.6k
Transcript
Author: @progfay Provenance in Node学園 44時限 目
Name: 眞野 隼 輔 ま の しゅんすけ @progfay
ɾWeb Frontend Engineer ɾBrowser पΓͷಈΛ͏ͷ͕झຯ ・ 最近は謎解きにハマっている (CTF 気分)
・ JSR の Provenance という機能を使ってみたので共有 ・ その中で得られた知識について ・ 嬉しそうなところ ・
イケてなさそうなところ 話すこと
None
・ せっかく作った package なので、いろんな実験をしてる ・ ESLint → Biome に移 行
してみたり ・ 脆弱性を 見 つけて CVE を発 行 してみたり ・ Jest → Vitest → Node.js Test Runner に移 行 してみたり @progfay/scrapbox-parser
None
None
None
None
そもそも Provenance ってなんだ?
https://eow.alc.co.jp/search?q=provenance
https://jsr.io/docs/trust 元となったソースコード と publisher を検証できるようにする
・ transparency log が表 示 できる ・ publish process が
自 動化される ・ token などの漏洩の危険性が減らせる ・ 実際には GHA から publish することのメリット ・ でも 自 動化のモチベーションになるのは喜ばしい package 開発者は何が嬉しい?
・ package の安全性を検証できる ・ Provenance 自 体は安全性を保証してくれるわけではない ・ 開発側が適切に package
を publish する必要がある ・ 悪意のあるコードが混 入 しづらくなる ・ サプライチェーン攻撃などに 一 定の効果があるはず package 利 用 者は何が嬉しい?
やってみるか!
1 . `jsr.json` を作成する 2 . JSR package と GitHub
Repository を link する 3 . GitHub Actions Workflow を追加する 4 . Workflow を trigger する Publish to JSR
None
OIDC により access token の設定が不要 デフォルトで Provenance される!
None
None
ついでに npm も
npm では access token の設定が必要
None
・ access token を管理する必要がない ・ 発 行 する必要すらないので、漏洩のリスクを減らすことができる ・ GitHub
Actions を利 用 していれば Provenance される ・ Provenance を知らなくても勝 手 にやってくれるのは嬉しい JSR Provenance の良いところ
・ npm は GitHub Actions 以外でも Provenance ができる ・ GitLab
なら `--provenance` をつけるだけ ・ その他でも `--provenanceFile` を使えばできるっぽい? npm Provenance の良いところ
・ 思ったより簡単にできた ・ Package の評価指標の 1 つにもなりそう ・ Provenance がされているか
・ リリース 手 順がどうなっているか 使ってみた感想