プロジェクトに新しいNPMモジュールをインストールするたびに、次のエラーが表示されます。
[!] 40 vulnerabilities found - Packages audited: 5840 (0 dev, 299 optional)
Severity: 8 Low | 24 Moderate | 8 High
それでnpm audit
を実行すると、次のような40の脆弱性のそれぞれの詳細が表示されます。
# Run npm install [email protected] to resolve 22 vulnerabilities
SEMVER WARNING: Recommended action is a potentially breaking change
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Prototype pollution │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ hoek │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ npm │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ npm > libcipm > npm-lifecycle > node-gyp > request > hawk > │
│ │ boom > hoek │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://nodesecurity.io/advisories/566 │
└───────────────┴──────────────────────────────────────────────────────────────┘
またはこれ:
# Run npm update fsevents --depth 2 to resolve 3 vulnerabilities
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ chokidar │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ chokidar > fsevents > node-pre-gyp > tar-pack > debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://nodesecurity.io/advisories/534 │
└───────────────┴──────────────────────────────────────────────────────────────┘
npm install [email protected]
を実行します(すでに6.0.1があります)、その後npm update fsevents --depth 2
を実行しますが、その後npm audit
を再実行しても何も変更されず、同じ40の脆弱性とそれらの本当に怖いです。私は何をすべきか ?
これはMacOSで私のために働いた:
「npm audit」を再度実行すると、残っている脆弱性は「手動レビュー」の問題のみになります。
これは、オプションの依存関係の処理に関連するnpm 6.0.1のバグのようです: https://github.com/npm/npm/issues/20577
ソース: https://github.com/npm/npm/issues/20675 。 fsevents
の問題の1つは、
fsevents
はWindowsにインストールできないため、macOSマシンで更新する必要があります。
Exhnozoaaの解決策を見たので、それは少し奇妙です。
次の手順でWindowsでこれを回避できました。
- エディターで
package-lock.json
を開きます。"fsevents"
を検索します。"dependencies"
の直下にあるオブジェクトを見つけます。"fsevents"
(キーとオブジェクト全体)を削除します。- ターミナルから、
npm install
を実行します。これにより、他のパッケージと互換性のある最新バージョンでそのセクションが再生成されます。私はこれがそれを修正する良い方法だとは本当に思いませんが、それは私のために働いたものです。