RAPx,补齐 Rust 编译器做不到的安全检测能力 | 旋武社区 Rust 开源项目推荐
发表于:2026-09-08
Rust 新闻
摘要
今天给大家介绍来自复旦大学的开源项目 RAPx,一款面向 Rust crate 的可扩展静态分析平台,弥补编译器的分析短板,帮助开发者提前发现深层程序缺陷。RAPx 已被 Rust 基金会的 verify-rust-std 正式接纳,成为该项目目前 6 款获批验证工具之一!
RAPx:给 Rust 代码装上“显微镜”,揪出编译器漏掉的内存隐患。
Rust 号称“内存安全之王”,但当你开始写 unsafe 代码、操作裸指针、处理复杂生命周期时,很多潜藏的内存缺陷,仅靠原生 rustc 编译器是难以捕获的。
今天给大家介绍来自复旦大学的开源项目 RAPx,一款面向 Rust crate 的可扩展静态分析平台,弥补编译器的分析短板,帮助开发者提前发现深层程序缺陷。RAPx 已被 Rust 基金会的 verify-rust-std 正式接纳,成为该项目目前 6 款获批验证工具之一!
查看项目:https://xuanwu.openatom.org/articles/project/34-rapx
🔍什么是 RAPx
RAPx 全称 Rust Analysis Platform with Extensions,是开源的 Rust 静态分析工具,开源协议为 MPL‑2.0。
工具基于 Rust 中间表示与类型系统进行分析,内置别名分析、数据流分析等经典程序分析能力,不只是简单的漏洞扫描工具,更是一套可扩展的程序分析底座。 既可以直接拿来做代码缺陷检测,也可供科研人员基于它开发自定义分析算法。
🧩分层架构:研究者与开发者双向友好
RAPx 的设计很务实——分层,让不同角色的人都能用得上:
🔹核心层
封装了别名分析、数据流分析等通用算法,适合程序分析方向的研究者和开发者在此基础上做二次开发。
🔹应用层
基于核心层能力,实现内存缺陷检测、代码优化机会挖掘、函数验证等实用功能,面向普通 Rust 开发者直接开箱即用。
分层设计把算法研究和实际工具应用分离开,算法研究者专注分析算法实现,业务开发者直接使用上层检测能力,降低 Rust 程序分析的开发门槛,也让学术研究和工程落地能在一个项目里协同推进。
⚙️开箱即用,Cargo 子命令直接调用
RAPx 作为 cargo 插件,无需复杂配置,在 Rust 项目目录直接运行命令即可执行各类分析任务。
# 检测use‑after‑free、内存泄漏内存安全问题
cargo rapx check -f -m
# 挖掘代码优化机会
cargo rapx opt
# 执行别名分析
cargo rapx analyze alias
# 验证标注函数
cargo rapx verify- 可检测释放后使用、重复释放和内存泄漏等问题
- 支持别名分析、unsafe 代码审计
- 兼顾漏洞检测、代码优化、程序验证多场景
不管是日常业务项目审计,还是对 AI 生成 Rust 代码做安全校验,RAPx 都可以作为一道安全防线。
快速安装部署
提示:需要 nightly 版本 Rust 工具链支持
rustup toolchain install nightly --profile minimal --component rustc-dev,rust-src,llvm-tools-preview
cargo +nightly install rapx --git https://github.com/safer-rust/RAPx.git项目还在持续迭代开发,完整使用教程可以查阅 RAPx‑Book。
项目代码仓库:https://github.com/safer-rust/RAPx
小结
Rust 的安全不是完全 “躺平”,尤其是大量使用 unsafe 的底层项目,编译器检查只是第一道防线。
RAPx 给 Rust 社区带来一套本土化的静态分析底座,对系统开发、嵌入式、底层库开发者来说,是值得尝试的开源安全工具。
如果你正在做 Rust 底层开发,不妨把它加入你的代码审计流程。
旋武开源社区
让基础设施更坚实,让技术演进更从容
