🛠Tools🔥🔥🔥

JavaScript ランタイム Bun、Rust 書き換えコードで未定義動作 (UB) を指摘される──Miri チェックに失敗

Bun の Rust 移行においてメモリ安全性を損なう設計ミスが発覚。AI 生成コードを無批判に採用する「vibe coding」のリスクが浮き彫りになった。
リリース: 2026-05-14 · 読了 3

記事の要約

1. 核心(What)

  • Bun の Rust 書き換えコードが Rust の動的解析ツール「Miri」による基本チェックに失敗し、GitHub Issue #30719 で指摘された。
  • 指摘箇所では core::slice::from_raw_parts を用いたポインタ操作により、Safe Rust の外側で dangling reference(宙ぶらりんの参照)が発生している。
  • Issue 投稿者は、AI を用いた「vibe coding(雰囲気コーディング)」が原因である可能性を指摘し、専門エンジニアによるレビューを求めている。

2. 影響(Why)

  • Rust を採用しても、unsafe の不適切な使用や AI 生成コードの無批判な導入は、C++ 同様のメモリ脆弱性を引き起こす。
  • パフォーマンスを優先するあまり Rust の安全性保証をバイパスする設計は、ランタイムとしての信頼性を根本から損なう。
  • 開発者への影響: AI を使って Rust を書くチームは、Miri や cargo-expand 等のツールによる検証を CI に組み込むことが必須の意思決定となる。
  • 日本への影響: 国内の Web フロントエンド開発(特に Bun を採用しているスタートアップや SaaS 開発チーム)は、Rust 移行後の Bun の安定性動向を注視し、Node.js からの完全移行を一時保留する検討が必要。

3. 根拠・詳細(How)

  • Bun GitHub Issue #30719 (2026-05-14 公開)