Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
Error.prototype.stack の今と未来
progfay
1
270
パフォーマンスチューニングで Web 技術を深掘り直す
progfay
21
5.4k
高度な型付け、どう教える?
progfay
5
2.4k
Other Decks in Programming
See All in Programming
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
760
How Software Deployment tools have changed in the past 20 years
geshan
0
20k
最新のDirectX12で使えるレイトレ周りの機能追加について
projectasura
0
310
しっかり学ぶ java.lang.*
nagise
1
460
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
100
無秩序からの脱却 / Emergence from chaos
nrslib
1
10k
アーキテクチャと考える迷子にならない開発者テスト
irof
9
3.4k
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
610
「正規表現をつくる」をつくる / make "make regex"
makenowjust
1
960
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
5
1.1k
オフライン対応!Flutterアプリに全文検索エンジンを実装する @FlutterKaigi2025
itsmedreamwalker
2
320
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
2
600
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
36
7k
Balancing Empowerment & Direction
lara
5
770
GraphQLとの向き合い方2022年版
quramy
49
14k
Navigating Team Friction
lara
190
16k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
118
20k
Documentation Writing (for coders)
carmenintech
76
5.1k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Making Projects Easy
brettharned
120
6.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
It's Worth the Effort
3n
187
29k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
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 がされているか
・ リリース 手 順がどうなっているか 使ってみた感想