Crev doesn't have enough reviews yet to make any sizeable real-world project fully "pass" the verification. I think this creates a vicious cycle: it's not useful yet, so few users use it, and because few users use it, it doesn't get enough reviews.
Therefore, I think it's necessary to find a way to break this cycle. Crev needs to give some useful assessment even for projects that don't have enough review coverage.
I know that for some users it's important to actually have 100% of dependencies fully manually reviewed. OTOH everyone else who's not using crev yet is checking 0% of their deps, so anything more than 0% is still an improvement.
Most users should be able to run cargo crev verify (or cargo crev someothercommand) in CI and have it give a useful yes/no answer already.
I'm suggesting that when crates don't have any reviews, we can still try to give some heuristic-based score:
-
Lean more on trusted owners. If a crate is published by a trusted owner, then let it pass.
- Help adding trusted owners (e.g.
cargo crev trust @username?)
- Make
cargo crev verify display who needs to be trusted in order to pass the verification.
-
Compute a risk score of each dependency based on multiple factors, e.g. does it use build.rs or proc-macros (these run code at build time, bypass static code analysis). Does it use unsafe/no_mangle/link? Is it popular, is it old, is it from a trusted author.
- Report highest-risk crates and suggest reviewing them.
- Let users automatically accept low-risk crates.
Crev doesn't have enough reviews yet to make any sizeable real-world project fully "pass" the verification. I think this creates a vicious cycle: it's not useful yet, so few users use it, and because few users use it, it doesn't get enough reviews.
Therefore, I think it's necessary to find a way to break this cycle. Crev needs to give some useful assessment even for projects that don't have enough review coverage.
I know that for some users it's important to actually have 100% of dependencies fully manually reviewed. OTOH everyone else who's not using crev yet is checking 0% of their deps, so anything more than 0% is still an improvement.
Most users should be able to run
cargo crev verify(orcargo crev someothercommand) in CI and have it give a useful yes/no answer already.I'm suggesting that when crates don't have any reviews, we can still try to give some heuristic-based score:
Lean more on trusted owners. If a crate is published by a trusted owner, then let it pass.
cargo crev trust @username?)cargo crev verifydisplay who needs to be trusted in order to pass the verification.Compute a risk score of each dependency based on multiple factors, e.g. does it use build.rs or proc-macros (these run code at build time, bypass static code analysis). Does it use unsafe/no_mangle/link? Is it popular, is it old, is it from a trusted author.