🐙

npmパッケージのセキュリティチェック

2022/02/22に公開

セキュリティチェックを行う理由

開発が止まったパッケージではセキュリティホールが放置されています。
脆弱性のあるパッケージを放置すると、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