最終更新日: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して完了です。
技術の進化についていけていないシステムエンジニア。浅く広く、何でも大体はこなせるエンジニアで重宝されてる(つもり)。でもやっぱり特化した武器欲しい。
備忘録として記事を投稿していますが、少しでも誰かの助けになればと思います。
最近はプロジェクトでReact(TypeScript )を触っています。
趣味でギター弾きます。