Skip to content

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 底层开发,不妨把它加入你的代码审计流程。


旋武开源社区

让基础设施更坚实,让技术演进更从容