The most relevant project for Rust is https://web.crev.dev/rust-reviews/, not sure if anything like this already exists for NPM.
Spamming emails is one of the cheapest things you can do with a network connection. Even $1 per 1,000 emails would make spam untenable.
I think you can implement a web-of-trust without a blockchain.
Rather, an immutable ledger is a terrible system for trusting /people/, since if the data input into the system isnt reliable, there's no way to change it.
You then need to build an actual layer of trust on top of your untrustable blockchain, and then you end up spending 1MWHr and $100/review to recreate rotten tomatoes.
Check out https://socket.dev for a better NPM solution (not affiliated w/ them at all), though AI's definitely going to accentuate this problem 1000x.
I've been willing to try it for a while for Rust projects but never committed to spending the time. Any feedback?
Don't think that requires blockchain per se, or even human verification. It would work quite well just for me to assign my trust to various identities (Github accounts, LinkedIn accounts, etc) and for that trust to be used when ranking or filtering content.
Is this just about being more explicit about review?
The PDF converter library you're using might not need filesystem or network access, but it can detect specific text in links and replace the URL with a phishing site. There are no technical shortcuts to trust.
You can sandbox all you want, use three layers of VMs and what not, but if you're allowing me to produce bytes for you and then expect to use them elsewhere in any nontrivial way, I've already won.
1. Trust but verify - Assumes that some packages are inherently trustworthy and can be relied upon. This is where we are today.
2. Zero trust - Assumes you should not automatically trust anything, even if it appears to come from a trusted source. This is where it seems we're headed.
For OSS/central registries, #1 is followed. For internal registries, #2 is followed.
At least where the industry is headed towards are constant gates of "verification" following the #2 model. Think of the following:
1. Code signing
2. Reproducibility / Integrity
3. Verified sources
4. Least privilege
5. Monitoring tooling
6. 2FA
7. Vulnerability scanning
8. Allowlisting
etc
But are all those even practical for maintaining the ethos of open source? We'll find out.