一句话:提出 LVing,基于 LLVM IR 与代码属性图的 Rust 漏洞检测和交互式可视化平台,可发现并发漏洞。
Rust 程序中的数据竞争、释放后使用和线程安全违规等并发漏洞可能逃逸源码级分析工具。LVing 在 LLVM 中间表示(IR)层面工作,将 Rust 源码编译为 LLVM-IR 并构建代码属性图(CPG),存入 Neo4j,从而支持以图查询方式检测漏洞。系统提供 Web 界面,并在源码、IR 与图表示之间进行三向同步的交互式可视化,帮助分析人员理解漏洞成因。作者在 RustSec Advisory Database 的真实 CVE 上评估,成功识别数据竞争、use-after-free 与线程安全违规;可处理约 5000 行代码,分析在 30–60 秒内完成,并以 Docker 容器公开。
We demonstrate LVing, an interactive vulnerability detection and visualization platform for Rust programs that operates at the LLVM Intermediate Representation (IR) level. LVing transforms Rust source code into Code Property Graphs stored in Neo4j, enabling the querying detection of concurrency vulnerabilities that escape source-level analysis tools. Our demonstration showcases the complete workflow: users submit Rust code through a web interface, the system compiles to LLVM-IR and constructs CPGs, and analysts explore vulnerabilities through interactive graph visualization with three-way synchronization between source code, IR, and graph representations. LVing successfully identifies data races, use-after-free conditions, and thread safety violations in real-world CVEs from the RustSec Advisory Database. The tool handles programs up to 5000 LOC with analysis completing in 30-60 seconds. LVing is publicly available as a Docker container with complete documentation and vulnerability examples at https://github.com/ediaz029/LVing Demo video: https://youtu.be/df_jsB28NFw?si=j4nc8dK-YkaLH1rk