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
42
Provenance in JSR
https://nodejs.connpass.com/event/330652/
Shunsuke Mano
September 27, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
870
DMMオンラインサロンアプリのSwift化
hayatan
0
190
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
390
ErdMap: Thinking about a map for Rails applications
makicamel
1
650
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
9
2.4k
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
1.2k
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
250
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
4
220
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
7
1.4k
[JAWS-UG横浜 #80] うわっ…今年のServerless アップデート、少なすぎ…?
maroon1st
0
100
良いユニットテストを書こう
mototakatsu
11
3.6k
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
2
7.7k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Git: the NoSQL Database
bkeepers
PRO
427
64k
4 Signs Your Business is Dying
shpigford
182
22k
Code Reviewing Like a Champion
maltzj
521
39k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
GraphQLとの向き合い方2022年版
quramy
44
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
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 がされているか
・ リリース 手 順がどうなっているか 使ってみた感想