パッケージの脆弱性を確認すると、導入した覚えのないパッケージの脆弱性があった。
当時、脆弱性(ランクはModerate)があったのは、postcssというパッケージ。
検証と対策
auditの詳細を参考にnode_modules内を確認したところ、パッケージで使用するパッケージにpostcssがあった。
パッケージ作成者もすぐには対応できないことが多いが、npm-force-resolutionsを使えば依存関係のあるパッケージのバージョンを強制的に上げることが可能。
package.jsonにresolutionsを足して、依存関係にあるパッケージのバージョンを強制的に上げました。
package.jsonにresolutionsを追加
package.jsonにresolutionsを追加し、当時postcssの最新バージョンを指定する。
"resolutions": {
"postcss": "8.2.15"
},
scripts内にはnpxで専用のコマンドを入れておく。
"preinstall": "npx npm-force-resolutions"
preinstallはinstallが実行されるよりも前に実行される。