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
190
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
FE エンジニアは Web Platform 動向を追うべきか?
progfay
0
39
Error.prototype.stack の今と未来
progfay
2
640
パフォーマンスチューニングで Web 技術を深掘り直す
progfay
22
6k
高度な型付け、どう教える?
progfay
5
2.7k
Other Decks in Programming
See All in Programming
OTP を自動で入力する裏技
megabitsenmzq
0
130
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
130
SourceGeneratorのマーカー属性問題について
htkym
0
210
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.3k
AI活用のコスパを最大化する方法
ochtum
0
320
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
180
Rethinking API Platform Filters
vinceamstoutz
0
620
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
170
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.4k
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
620
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
150
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
160
Featured
See All Featured
A Soul's Torment
seathinner
5
2.5k
Into the Great Unknown - MozCon
thekraken
40
2.3k
Making Projects Easy
brettharned
120
6.6k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Odyssey Design
rkendrick25
PRO
2
560
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Designing for Timeless Needs
cassininazir
0
170
We Are The Robots
honzajavorek
0
200
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
100
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
85
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
770
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
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 がされているか
・ リリース 手 順がどうなっているか 使ってみた感想