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
39
Provenance in JSR
https://nodejs.connpass.com/event/330652/
Shunsuke Mano
September 27, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
return文におけるstd::moveについて
onihusube
1
1.1k
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
930
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
130
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
5
910
useSyncExternalStoreを使いまくる
ssssota
6
1.1k
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
270
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
190
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
280
fs2-io を試してたらバグを見つけて直した話
chencmd
0
230
バグを見つけた?それAppleに直してもらおう!
uetyo
0
180
たのしいparse.y
ydah
3
120
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
Featured
See All Featured
Navigating Team Friction
lara
183
15k
Optimizing for Happiness
mojombo
376
70k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
A Tale of Four Properties
chriscoyier
157
23k
Designing for humans not robots
tammielis
250
25k
It's Worth the Effort
3n
183
28k
YesSQL, Process and Tooling at Scale
rocio
169
14k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Music & Morning Musume
bryan
46
6.2k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
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 がされているか
・ リリース 手 順がどうなっているか 使ってみた感想