Bun's unreleased Rust port has 13,365 unsafe blocks

原始链接: https://bun.com/bun-unsafe-audit

对 Bun 未发布的 Rust 移植版本的审计显示,该项目中存在 13,365 个 `unsafe` 代码块。这些代码块主要源于项目从最初的 Zig 实现迁移、FFI 边界以及追求高性能的设计。 审计的主要结论包括: * **当前状态:** 目前可用的 Bun 版本仍为最初的 Zig 实现;Rust 移植版本尚未发布。 * **安全性审计:** 分析发现在计数的 `unsafe` 代码块之外,还存在 5 处可触发的未定义行为(不健全/unsoundness)。 * **重构潜力:** 在 13,365 个 `unsafe` 代码块中,约有 9,300 个被认为可以使用安全的 Rust 代码替代。其余 4,000 个因必要的 FFI 边界和性能要求,预计将保持 `unsafe` 状态。 * **方法论:** 审计团队采用严格的分类流程,根据根本原因和“可修复性”对每个代码块进行了分类。他们提供了完全透明的信息,包括 `ripgrep` 命令和原始数据,允许开发人员独立验证审计结果。 Bun 计划遵循一份八步路线图,在移植版本发布前解决已识别的不健全问题,并将大部分 `unsafe` 代码迁移为安全实现。

相关文章

原文
Bun's unreleased Rust port has 13,365 unsafe blocks. Most can be removed.
联系我们 contact @ memedata.com