True, but it's uniquely bad in the JS world. Developers tend to rely on libraries in almost cartoonish excess.
The language is shit in general, leading to an endless parade of frameworks and packages designed to paper over the sore spots.
The lack of a well-rounded One True Standard Library™ means lots of trivial functionality needs to come from somewhere.
Micro-dependencies are commonplace, leading to bloated dependency trees. I'd guess this is caused by a combination of both culture and the fact that you often want your JS artifacts to be as lean as possible.
The packages were collectively downloaded 963 times before they were removed. The rogue packages include names like "noblox.js-vps," "noblox.js-ssh," and "noblox.js-secure," and they were distributed across specific version ranges
Is there any indication that anyone actually installed these, other than some bots that auto download all packages and such?
You would have to really go out of your way to get infected by stuff like this.
That being said, there are things npm could do to try to auto-detect "risky" packages (new, similar name to existing projects, few downloads, etc.) and require an additional layer of confirmation, or something like that.