Overview
This video is less about the vulnerability itself than about what followed: exchanging emails with well-known people in open source. Since the start of the year, naoyashiga has been reporting OSS vulnerabilities found through AI-assisted research, and chose Bun, a JavaScript runtime used often in daily work. The video shares this for the security community and does not encourage misuse.
Key Points
- Bun updates very often, and its release blog posts describe many features, such as SQL, image processing and HTTP/3. Assuming new features are less thoroughly debugged, the author focused on them: cloning the repository, reading the source and writing test code to check for issues such as prototype pollution.
- The report went to the email address in Bun’s security policy. About two hours later, Bun’s creator replied in person with a short thank-you.
- A second report went to Zola, a static site generator written in Rust with about 17,200 stars and no security policy. The author found the main maintainer from the commit counts, emailed the address on their GitHub profile and cleared up a misunderstanding about the report over email.
- As an example of where to reach out, the video points to Alpine.js, a well-known, lightweight framework with a jQuery-like feel that is effectively maintained by its owner.
- A vulnerability report, thanks for a library you use or a question about a feature idea can all start a conversation and show how small the world is.
Chapters
- 0:00 Introduction
- 0:40 The JavaScript runtime Bun
- 7:11 Zola, a static site generator written in Rust
- 9:57 The front-end framework Alpine.js
概要
この動画の中心は脆弱性の内容そのものではなく、報告のあとに起きたこと、つまりOSSで有名な人とメールをやり取りした体験です。筆者は今年の初めから、AIを使った調査で見つけたOSSの脆弱性を報告しており、普段よく使うJavaScriptランタイムのBunを対象に選びました。セキュリティコミュニティの発展のために知見を共有するもので、悪用を推奨するものではありません。
ポイント
- Bunは更新がとても速く、リリースブログではSQL、画像処理、HTTP/3など多くの機能が紹介されています。新機能は十分にデバッグされていない可能性があるという仮説を立て、そこを中心に調べました。リポジトリをクローンしてソースコードを読み、テストコードを書いてプロトタイプ汚染などがないかを確かめています。
- 報告はBunのセキュリティポリシーに書かれたメールアドレスに送りました。すると約2時間後に、Bunの作者本人から短いお礼の返信が届きました。
- もう1件は、Rust製の静的サイトジェネレーターで、スター数が約1万7200あり、セキュリティポリシーのないZolaへの報告です。コミット数から主なメンテナーを見つけ、GitHubのプロフィールにあるアドレスへメールし、報告内容の誤解をやり取りしながら解消しました。
- 連絡先の例として、jQueryに近い感覚で書ける有名で軽量なフレームワークで、実質的にオーナーがメンテナンスしているAlpine.jsを挙げています。
- 脆弱性の報告でも、使っているライブラリーへのお礼でも、機能のアイデアについての質問でも、連絡すれば会話が始まり、世界は意外と小さいと実感できます。