🐙
npmパッケージのセキュリティチェック
セキュリティチェックを行う理由
開発が止まったパッケージではセキュリティホールが放置されています。
脆弱性のあるパッケージを放置すると、DoS攻撃を食らう危険があります。
その為、問題のあるパッケージ確認ができたら、修正済みパッケージをインストールします。
npm audit
$ npm audit
プロジェクトのディレクトリ内で使用している npmパッケージのセキュリティをチェックするコマンドです。
プロジェクトに設定されている依存関係の説明をデフォルトのレジストリに送信し、既知の脆弱性の報告を求めます。
引用:npm Docs
npm auditでの指摘に対する対応
$ npm audit fix
脆弱性が含まれていないバージョンを探し、そのアプリケーションで使用しているライブラリのバージョンを自動で変更してくれるコマンドです。
なお、一部の脆弱性は自動で修正できないため、手動での介入やレビューが必要になります。
引用:npm Docs
$ npm audit fix --force
SemVer互換の依存関係だけでなく、トップレベルの依存関係にもSemVerのメジャーアップデートをインストールするようになりました。
引用:npm Docs
semver(Semantic Versioning)は依存関係のもつれを解決するべく制定されたバージョニングの標準仕様です。
Discussion