Bun发布Rust重写版本安全审计报告:超69% unsafe代码可转换为安全代码
【导语5月21日Bun团队发布了关于其尚未发布的Rust重写版本的全面安全审计报告揭示了代码库中unsafe语法节点的分布、来源及处置策略还与业界同类项目进行了对比并提出清理路线图。】审计揭示Bun Rust代码库unsafe分布这份由AI辅助生成的审计报告显示Bun的Rust代码库中有13,365个unsafe语法节点分布在774个文件、51个子系统中。约69.4%约9,300个最终可转换为安全代码仅约30.6%约4,000个需保留为unsafe。unsafe块来源与处置策略明晰从来源分布看33.9%来自Zig时代的ownership惯用法29.8%来自FFI边界10.6%来自事件循环回调机制中同线程重入导致的别名化问题仅约3%用于真正的性能优化场景。从处置策略看这些unsafe块被归为五种结局包括无需降速即可安全化46.9%、添加一处检查后安全化16.3%等。发现声超漏洞与竞品横向对比审计发现了五个实际存在的声超soundness漏洞如RacyCell上的无条件Sync实现等。在与业界同类项目对比中Bun当前每千行Rust约含13.7个unsafe按清理计划执行后预计可降至每千行4.2接近Wasmtime水平。清理路线图助力代码安全化团队提出的清理路线图包含八个步骤依序推进全部完成后unsafe块将从13,365降至约4,000。编辑观点Bun此次审计是技术复盘公开分类unsafe代码体现对开源社区负责为大型代码库Rust化及unsafe代码管理提供借鉴。