Show HN: Safe-install – safer NPM installs with trusted build dependencies (npmjs.com)
In light of the ongoing npm supply chain compromises, I built safe-install:
https://www.npmjs.com/package/@gkiely/safe-install
It brings a couple of protections I wanted from npm but are not built in.
Similar to Bun’s trusted dependencies, it lets you disable install scripts by default and define a list of dependencies that are allowed to run build/install scripts:
https://bun.com/docs/guides/install/trusted
It also supports blocking exotic sub-dependencies, similar to pnpm’s `blockExoticSubdeps` setting:
https://gajus.com/blog/3-pnpm-settings-to-protect-yourself-f...
I was hoping npm would eventually add something like this, but it does not seem to be happening soon, so I made a small package for it.
4 comments
[ 1.7 ms ] story [ 12.2 ms ] threadhttps://github.com/artifact-keeper
It's currently my favourite package gate keeper - after a few years of self-built jank
Nexus, Artifactory, and many others.
Security minded organisations don't allow cowboy installs into projects, the systems are configured to use internal repos and only IT validated packages got uploaded into them.
Still it might be of value to single devs.
Enabling `ignore-scripts=true` protects you from almost all of the recent compromises `min-release-age=3` protects you from the rest. But you still typically need trusted dependency builds, which this script solves.
I hope that npm enables this by default in the future.
It has dependency cooldowns, build scripts disabled by default, and the setting you mentioned.