reactで脆弱性報告がされた場合の対処の流れ

最終更新日:2024‐07-15

npm installコマンドで脆弱性(vulnerabilities)が報告された場合の対処の流れをメモしておきます。

npm install コマンド

以下の例だと3件の脆弱性が報告されたようです。危険度が高い脆弱性が2件、あまり危険ではない(moderate)脆弱性が1件。

$ npm install

up to date, audited 1070 packages in 3s

262 packages are looking for funding
run `npm fund` for details

3 vulnerabilities (1 moderate, 2 high)

To address all issues, run:
npm audit fix

Run `npm audit` for details.

npm audit コマンド

npm auditコマンドを実行し、脆弱性の詳細を確認します。

  • grpc-js
  • braces
  • ws

というライブラリに脆弱性があるようです。

$ npm audit
# npm audit report

@grpc/grpc-js 1.9.0 - 1.9.14 || 1.10.0 - 1.10.8
Severity: moderate
@grpc/grpc-js can allocate memory for incoming messages well above configured limits - https://github.com/advisories/GHSA-7v5v-9h63-cj86
@grpc/grpc-js can allocate memory for incoming messages well above configured limits - https://github.com/advisories/GHSA-7v5v-9h63-cj86
fix available via `npm audit fix`
node_modules/@firebase/firestore/node_modules/@grpc/grpc-js
node_modules/@grpc/grpc-js

braces <3.0.3
Severity: high
Uncontrolled resource consumption in braces - https://github.com/advisories/GHSA-grv7-fg5c-xmjg
fix available via `npm audit fix`
node_modules/braces

ws 7.0.0 - 7.5.9
Severity: high
ws affected by a DoS when handling a request with many HTTP headers - https://github.com/advisories/GHSA-3h5v-q93c-6h6q
fix available via `npm audit fix`
node_modules/ws

3 vulnerabilities (1 moderate, 2 high)

To address all issues, run:
npm audit fix

npm ls コマンド

npm lsコマンドで、念のため依存関係を確認しておきます。npm ls [ライブラリ名]で確認できます。以下の例ではbracesと wsの2つのライブラリを確認しています。

$ npm ls braces
remix-firebase-study@ C:\Users\swash\Documents\git\remix-firebase-study
├─┬ @remix-run/dev@2.8.1
│ └─┬ chokidar@3.6.0
│ └── braces@3.0.2
└─┬ tailwindcss@3.4.3
└─┬ micromatch@4.0.5
└── braces@3.0.2 deduped

$ npm ls ws
remix-firebase-study@ C:\Users\swash\Documents\git\remix-firebase-study
└─┬ @remix-run/dev@2.8.1
└── ws@7.5.9

npm audit fix コマンド

npm audit コマンドを実行した時点でfix available via npm audit fix と表示されていますのでアップデートを適用すれば脆弱性の対応が可能です。

$ npm audit fix

changed 6 packages, and audited 1070 packages in 4s

262 packages are looking for funding
run `npm fund` for details

found 0 vulnerabilities

これで対応が完了です。該当のライブラリと、package.jsonとpackage-lock.jsonがアップデートされます。

先ほど調べた依存関係を意識しながら動作確認が完了したら package.jsonとpackage-lock.jsonをgitにpushして完了です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です