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
170
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
パフォーマンスチューニングで Web 技術を深掘り直す
progfay
21
5.3k
高度な型付け、どう教える?
progfay
5
2.4k
Other Decks in Programming
See All in Programming
Making Angular Apps Smarter with Generative AI: Local and Offline-capable
christianliebel
PRO
0
100
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
200
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
730
ALL CODE BASE ARE BELONG TO STUDY
uzulla
29
6.9k
Blazing Fast UI Development with Compose Hot Reload (droidcon London 2025)
zsmb
0
440
HTTPじゃ遅すぎる! SwitchBotを自作ハブで動かして学ぶBLE通信
occhi
0
150
Designing Repeatable Edits: The Architecture of . in Vim
satorunooshie
0
220
AkarengaLT vol.38
hashimoto_kei
1
130
Temporal Knowledge Graphで作る! 時間変化するナレッジを扱うAI Agentの世界
po3rin
5
1.2k
ボトムアップの生成AI活用を推進する社内AIエージェント開発
aku11i
0
1.4k
品質ワークショップをやってみた
nealle
0
900
Kotlin 2.2が切り拓く: コンテキストパラメータで書く関数型DSLと新しい依存管理のかたち
knih
0
240
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
6.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Thoughts on Productivity
jonyablonski
72
4.9k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Building Adaptive Systems
keathley
44
2.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
A better future with KSS
kneath
239
18k
Fireside Chat
paigeccino
41
3.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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 がされているか
・ リリース 手 順がどうなっているか 使ってみた感想