npmパッケージの脆弱性の対処方

環境構築


そもそもnpmって?

npmはnode.jsでのパッケージを管理してくれるパッケージ管理ツールです。

npm install [パッケージ名]

でインストールを行うと、package.jsonに書き込んでくれてるので、環境を構築する時はpackage.jsonを渡してnpm installを行うと同じパッケージを一機に入れて環境を同期する事ができます。

脆弱性の確認

このnpm installをpackege.jsonを元に行うと、今だと脆弱性があるから危険ですよみたいな感じで教えてくれます。
また下記コマンドを行う事で、明示的に脆弱性の確認ができます。

npm audit

脆弱性が出た場合の対処方法

下記コマンドで自動補完を利用する。

npm audit fix

これでも解決しない場合は、パッケージのマイナーバージョンアップデートを試してみます。

npm update

上記を実行した上で再度audit fixを実行するのも良いと思います。
上記で解決しない場合は、手動での解決やメジャーバージョンアップでの対応も必要です。

手動での解決方法例

packege.jsonに現在書かれているバージョンがかいてあるので、こちらのバージョンを指定して修正し

npm install

で再度インストールを実行します。
こちらを指定でインストールする場合、メジャーバージョンアップもあると思いますので、メジャーバジョーンアップを行う場合は、コンパイルが通らなく等のリスクもあるので注意です。