| ▲ | nailer 2 hours ago | ||||||||||||||||||||||
I've deleted and am rewriting this, to be more explicit, because HN downmodded the first comment to hell but I know I'm right and the crowd is wrong. So, explicitly: - pip - Cargo - apt/dpkg - dnf/yum - Homebrew - RubyGems - Composer (limited) - Maven ...all allow scripts. We understand the reference, it's just not correct: most package managers allow scripts, npm is the most successful package manager. npm shouldn't allow scripts, but exploits happen everywhere. | |||||||||||||||||||||||
| ▲ | krautsauer an hour ago | parent | next [-] | ||||||||||||||||||||||
Are scripts even necessary? I don't think e.g. mvn has any form of scripts¹, but if the dependency is compromised, you're likely to execute whatever compromised code is in there the next time you do mvn verify (or whatever). Slightly less wormable maybe, running tests or at least checking whether your thing still runs after upgrading package versions is really common, no? ¹ Annotation processors are a thing and somewhat similar to rust macros in function, but you need to set those up manually for each dependency, iirc. | |||||||||||||||||||||||
| ▲ | bananamogul 14 minutes ago | parent | prev | next [-] | ||||||||||||||||||||||
You didn't include Perl's CPAN, which I think is older (1995) than all of these. And it allows scripts as well. | |||||||||||||||||||||||
| ▲ | m4rtink an hour ago | parent | prev | next [-] | ||||||||||||||||||||||
If DNF/RPM is used there will often be a separate distro maintainer that should ideally review any changes coming from the upstream before pulling them into the distribution. Also not all maintainers always pull in the latest upstream changes, only rebasing to new stable release or when the new features or fixes are actually needed for the distro stack. Definitely not bulletproof but still IMHO more robust than "Lets just spray latest code from upstream without any review directly to production with a firehose!" that seems to be the norm. | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | xienze an hour ago | parent | prev | next [-] | ||||||||||||||||||||||
Maven does not run arbitrary scripts just by including a dependency. | |||||||||||||||||||||||
| ▲ | matheusmoreira an hour ago | parent | prev | next [-] | ||||||||||||||||||||||
> HN downmodded the first comment to hell but I know I'm right and the crowd is wrong. Got downvoted for saying it too. Don't let it discourage you. | |||||||||||||||||||||||
| ▲ | wang_li 42 minutes ago | parent | prev [-] | ||||||||||||||||||||||
It's not the package manager, it's the repo and the cryptographic signatures that are trusted by the package manager and the users who choose to point their pacakge managers at those repos. The fundamental problem here is that people's risk assessment is treating a user named devioustiger12345 as having the same situation and story as Microsoft/Apple/Red Hat. | |||||||||||||||||||||||