2 个版本
使用旧的 Rust 2015
0.1.1 | 2017年1月21日 |
---|---|
0.1.0 | 2017年1月20日 |
90 在 #安全
14KB
336 行(不包括注释)
cargo safety
插件
此包为 cargo
提供了一个子命令,通过查找依赖项中所有 unsafe
代码的使用来对 Rust 项目进行安全检查。为了可靠地进行此操作,依赖关系树由 cargo
解析,代码被解析成它的抽象语法树(AST),然后遍历。利用 Rust 令人惊叹的模式匹配功能,我们可以快速访问所有可以 unsafe
的代码位置。
为什么
当许多人来到 Rust 时,他们被其对安全性的承诺所吸引。我很好奇人们如何以及为什么绕过 Rust 的安全保证使用 unsafe
逃生门。虽然我认为我们不应该拒绝任何使用不安全性的库,但知道事物确实不安全的地方以便您可以就您可能使用的许多库做出明智的决定是很好的。
试一试
注意:需要 nightly 构建
cargo install cargo-safety && cargo safety
输出(json)
[
{
"lib_name": "gcc",
"status": "failed",
"offenses": [
{
"occurences": "\/Users\/alexkehayias\/.cargo\/registry\/src\/github.com-1ecc6299db9ec823\/gcc-0.3.40\/src\/registry.rs:73:1: 73:29\n`unsafe impl Sync for Repr {}`\n",
"kind": "unsafe_impl"
}
]
}
]
许可证
版权所有 © 2017 Alex Kehayias
根据 Eclipse Public License 1.0 版或(根据您的选择)任何较新版本的条款进行分发。
依赖项
~4.5MB
~100K SLoC