微软 FORGE 在 Rust 标准库里找到多枚内存安全漏洞
来源:forge-blog.github.io — 2026-11-10
📋 概述
微软 FORGE Lab 用 AI 漏洞扫描系统 Hyenas 审计 std 与 core,找到若干能被纯安全 Rust 触发的未定义行为,归纳出三种「错信」模式:相信代码不会 panic、相信调用方提供的实现是正确的、相信底层系统。文章强调 Rust 的安全标准比 C/C++ 严得多,但标准库底层仍有大量 unsafe。
🔑 核心要点
- 典型例子是一个泛型取字节函数:它假设两次 as_ref 返回同一片切片,恶意实现返回空切片就会越界读
- MapWindows::clone 存在 panic 安全漏洞,Buffer 的析构会在不变量已破的窗口里 drop 越界元素
- Rust 对安全 API 的要求是「安全代码无论怎么用都不能触发 UB」,C++ 的同类约束要松得多
- 每个漏洞都需要苛刻的触发条件,例如恰好在错误时刻 panic,或故意让实现违约
- 两个报送的 issue 在发稿时仍未关闭,维护者的分诊与响应速度被作者肯定
💡 金句
一个标准库里的健全性漏洞,并不自动等于使用它的程序里的漏洞。
← 返回 Lobsters 首页