Given its popularity, it's easy to talk shit about npm, but rarely do people say anything actionable.
C++/boost could have a bad actor upload malicious code. The only difference is that people probably wouldn't notice for months, because everyone's running decades old versions of boost anyway. Not because they're mindful of security, but because nobody can bother to update it unless the need becomes dire.
Now, a favourite of mine (often preached by CPP Deva): if you're a good enough developer, you don't have these problems.
Were the npm problems avoidable? Yeah, if "yOu aRe a GoOd eNoUgH dEvElOpEr" and use lock files (generated by default) and only install from it (eg `npm ci` being the simplest method).
Disclaimer: I used to be an everyday npm user, and I'm not a fan of it by any metric, but the npm shit-slinging edgyness hype is so last year's trend. Jesus Christ.
This baseless assertion is quite wrong and completely detached from reality. Boost is not a one-man show which is a git commit away from disaster. Boost is a commmunity-driven project where any change to an existing package is subjected to a public review and proposals for new components are performed through a submission process.
I'm talking about the general/average mindset of the C++ community when it comes to updating dependencies. Also the way dependencies are "managed" (or lack of it) in virtually every project.
The HN crowd isn't considered "average" in that dimension, probably. So even if you yourself have a culture of keeping things updated with Conan or whatever, it's definitely not the status quo.
If you're referring to the colors package in NPM, that is not an attack at all nor did it proved what you think it proved. If anything, the colors package episode just showed that there are companies mindlessly ingesting dependencies without a shred of due diligence.
You're confusing a service where anyone can distribute their half-assed package with the dependencies you adopt for your package.
It's not the job of crates.io nor npm to vend dependencies. That job is on you and on anyone who wants to consume a third-party package.
It's weird how some people complain that they are not obligated to perform any form of due diligence at all on basic things like be responsible for the crap they decide to mix with their work. I mean, the protest release of the colors package was done with a very obvious and very glaring major version bump, and people just swallowed it whole without any check at all? That's a problem of your own making, not npm or crates.io.