THINK

(post|pre)installを防ぐためにやっていること

3/31/2026

postinstallの脆弱性の混入問題は去年も騒がれていた記憶があるんですが,「とりあえずやっとくと良いんじゃない?」という設定の覚書.

deno使って細かくパーミッション管理しようと言いつつもnpmを利用する現状で,とりあえず .npmrcに入れている内容:

save-exact=true
ignore-scripts=true
min-release-age=3

save-exact

依存パッケージのバージョンを固定するための設定. npm i fooとした時に, package.jsonのバージョン指定が"foo": "^1.2.3"ではなく"foo": "1.2.3"になる.

ignore-scripts

postinstallpreinstallなどのスクリプトを無効化するための設定. prebuildなども無効化されるので注意.

min-release-age

新しいバージョンがリリースされてから、インストール可能になるまでの最小期間を指定する設定. min-release-age=3とすると、リリースされてから3日経過しないとインストールできなくなる.