Rust 代码质量和漏洞扫描工具 - Reddit


  • cargo audit:如果您担心供应链对您的工具的攻击,它将检查您对rustsec数据库的所有依赖项,并且比同样执行相同功能的更高级的工具更接近于成为第一方工具。
  • cargo checkmate:会执行l cargo check, cargo fmt --check, cargo clippy, cargo build, cargo test, cargo doc, 和cargo audit设计用于 CI 运行和预提交挂钩的无配置形式。
  • cargo clippy:可以强制执行一大堆lints,其中许多是策略 lints,例如unsafe_code(例如#[forbid(unsafe_code)])或cast_possible_truncation.
  • cargo deadlinks:检查您的 rustdoc 文档中是否存在损坏的链接(默认为内部链接。如果您指定,则为外部链接--check-http。)
  • cargo deny:可以根据您设置的多种类型的白名单/黑名单规则(例如许可证、rustsec、特定 crate、存储库等)检查Cargo.toml您的依赖项的元数据
  • cargo geiger:检测使用unsafe,这对于识别您认为不需要使用的依赖项很有用unsafe,应该用更容易审计的东西替换。
  • cargo miri:是一种来自 Valgrind 和 LLVM 的消毒剂的想法的混合,您可以将其用于cargo test您的unsafe代码以处理在编译时无法捕获的未定义行为、数据竞争等。(另请参阅loom进行置换测试以探索 C11 内存模型对您的unsafe代码的影响。)
  • cargo outdated:告诉您哪些依赖项不是最新的可能版本,以及cargo update根据 semver 将修复什么(更新锁文件)与哪些是主要版本冲突。
  • cargo spellcheck:是用于 rustdoc 注释的拼写和语法检查器。
  • typos:是标识符名称的保守拼写检查器。