Rust 程式碼質量和漏洞掃描工具 - Reddit

banq發表於2022-05-02

  • 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:是識別符號名稱的保守拼寫檢查器。

相關文章