OpenVet
Idea:
- platform for collaboratively vetting rust crates
- simple design, based on sqlite
Features
-
Show raw crate sources
-
Ability to expand macros (click to expand?)
-
Ability to expand build scripts (or review manually?)
-
All changes tracked with a blockchain-like data structure:
- Crate changes (uploads, yanked, etc)
- Vetting/auditing changes (per-user?)
-
Idea: expose crate sources as Git repositories (https://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols)
Checks
- lib name matches crate name
- use of unsafe
- libraries it links with
- build script
- proc macro use
- use of FFI
- cargo vcs info works, commit exists
Articles
https://opensource.googleblog.com/2023/05/open-sourcing-our-rust-crate-audits.html
https://raw.githubusercontent.com/bholley/cargo-vet/main/registry.toml
https://github.com/crev-dev/cargo-crev
https://kerkour.com/rust-stdx
https://lib.rs/crates/bitflags/audit