cve-rs允许您以内存安全的方式在Rust程序中引入常见的内存漏洞(如缓冲区溢出和段错误)。
为什么选择cve-rs?
- 🩸 尖端技术
- 🕹️ 改变范式(不再需要不安全代码!)
- 🔥 惊人的速度
- 💡 易于使用
- 🏆 在readme中使用了👋太2️⃣多🤯的表情符号 📖 🔥 🦀 💨
- 🦀 使用100%内存安全的Rust构建
示例
Rust是一门令人惊叹的语言。您可以编程许多有用的东西,同时确保您的程序保持安全。不幸的是,安全的Rust相当有限。例如,您无法引入可能破坏程序内存的代码。现在,有了cve-rs,您可以在不破坏程序内存的情况下破坏程序的内存。
我们非常致力于确保cve-rs的内存安全。我们知道不安全的代码可能会产生意想不到的后果,比如导致段错误、使用后释放和缓冲区溢出等错误的内存不安全。
这就是为什么cve-rs在整个代码库中使用#![deny(unsafe_code)]
。这个项目中没有一个unsafe
代码块(除了一些测试)。
cve-rs在安全的Rust中实现了以下错误:
- 使用后释放
- 缓冲区溢出
- 段错误
cve-rs还包含以下安全的重新实现:
std::mem::transmute
std::ptr::null()
/null_mut()
但用于引用
安装
cve-rs可以直接与Cargo一起使用。
要将其用作库:
cargo add cve-rs
或者运行我们的示例二进制文件:
cargo install cve-rs
cve-rs
WASM支持
cve-rs通过WASI API支持WASM,也支持可以在浏览器中运行的Webassembly。
您可以使用Wasmer编译并运行它,使用以下命令:
cargo build --target wasm32-wasi
wasmer run target/wasm32-wasi/debug/cve-rs.wasm
贡献者
特别感谢@Bright-Shard和@Creative0708,以及所有其他为cve-rs做出贡献的人。
我可以在生产环境中使用cve-rs吗?
本项目采用GLWTSPL许可证。
等等,cve-rs到底有多安全?!?
本项目采用GLWTSPL许可证。
许可证
本项目采用GLWTSPL许可证。
...愿上帝保佑你。