🐡
npm installで発動するnpmライフサイクルフックスクリプトの確認
2025年9月に、npmのサプライチェーン攻撃「Shai-Hulud」が報告されました。
調べてみると、この攻撃は npm install 実行時にトリガーされる postinstall スクリプト を悪用していたようです。
postinstall がどのように動くのか気になったので調べてみたところ、npm にはLife Cycle Scriptsという仕組みがあり、postinstall はその一部であることが分かりました。
Life Cycle Scriptsは、Reactなどの「フック」と同様に、特定の処理タイミングで自動的に実行されるスクリプトです。
良い機会だったので、実際に自分でnpmパッケージを作成し、それを自分でインストールして、ライフサイクルフックの実行確認をしてみました。
検証手順とコードは以下のリポジトリにまとめています。
興味のある方は clone して試してみてください。
Discussion