feat: add npm 'install-hooks-whitelist' option to prevent executing h… #8882
+94
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
install-hooks-whitelist
feat: add
install-hooks-whitelistto restrict lifecycle script executionWhat
This change introduces a new
install-hooks-whitelistoption that limits which packages are allowed to execute hooks duringnpm install.When configured, npm install hooks are only executed for packages explicitly listed in the whitelist; hooks from all other packages are skipped.
Why
Npm hooks are a well-known security risk in the npm ecosystem, as they allow arbitrary code execution during install.
While
--ignore-scriptsdisables all hooks, it is often too coarse-grained for real-world usage where certain packages legitimately rely on install scripts.This option provides a middle ground:
Behavior
Use cases
Example
npm install --install-hooks-whitelist="node-sass,core-js"