NPM-AUDITは高い脆弱性を発見します。私はどうしたらいいですか?


13

npm audit 私のプロジェクトで実行してこれを手に入れました


@ angular-devkit / build-angular [dev]の高いコマンドインジェクション依存性

パス@ angular-devkit / build-angular> @ ngtools / webpack> tree-kill

詳細 https://npmjs.com/advisories/1432

高コマンド注入

package-kill

> = 1.2.2でパッチを適用

@ angular-devkit / build-angular [dev]の依存関係

パス@ angular-devkit / build-angular> tree-kill

詳細 https://npmjs.com/advisories/1432

ツリーキルは更新する必要がありますが、私のものではなく、角度の詳細です。だから何?angular-teamが独自のpackage.jsonをtree-killの新しいバージョンに更新するのを待つ必要がありますか?

回答:


11

これは、パッケージの新しいバージョンを待たずに修正できます@angular-devkit/build-angular

次の手順を実行してください。

  1. 適切なバージョンのパッケージでセクションをpackage.json追加してファイルを更新します。resolutionstree-kill
"resolutions": {
  "tree-kill": "1.2.2"
}
  1. package-lock.json次のコマンドを実行して更新します。
npx npm-force-resolutions
  1. プロジェクトにNPMパッケージを再インストールします。
rm -r node_modules
npm install

実行npm auditして、プロジェクトにこの問題がないことを確認します。そして、変更されたファイルをコミットすることを忘れないでくださいpackage.jsonpackage-lock.json

NPM強制解決に関する詳細情報。


11

私は今日同じ問題を抱えていて、それを次のように修正しました:

  1. node_modulesフォルダーからtree-killパッケージを削除します。
  2. package-lock.jsonファイルを削除します。
  3. node_modulesフォルダーの@ angular-devkit / build-angularフォルダーに移動し、package.jsonファイルを編集します。ツリーキルバージョンを1.2.1から1.2.2に変更
  4. node_modulesフォルダーの@ ngtools / webpackフォルダーに移動し、手順3と同じ操作を行います。

その後、npm installを実行します。


1
したがって、この修正により、node_modulesフォルダーをGitで正しく保持する必要がありますか?
ロキ

質問に正解したかどうかはわかりませんが、新しいインストール後に新しい変更をコミットする必要があります。
サレム

1
手動で依存関係編集問題表現するプロジェクトの新規インストールを行うと、良いアイデアではありません
Nemus

2

私もこの問題を抱えていて、いくつかの調査の後、私は何かを見つけました:

NPMが「監査修正」でエラーをスローする-構成済みレジストリはサポートされていません

もちろん、それは別の問題に関するものですが、そこに与えられた解決策を採用することで、私の問題は解決しました。

そう :

  • tree-killのnode_modulesフォルダーを削除する
  • 行われるようにpackage-lock.jsonファイルを編集しますが、代わりにtree-killモジュールを使用します。
  • 最後にnpm installを実行することを忘れないでください

私は十分に明確であったと思います。


手順1でtree-killのnode_modulesフォルダーを削除するときに削除されるはずだった場合、2番目の手順でpackage-lock.jsonを編集するにはどうすればよいですか?
マウリシオマルティネス


0
  1. node_modulesフォルダーからtree-killパッケージを削除して削除
    、package-lock.jsonファイルをします。

  2. node_modulesフォルダーで@ angular-devkit / build-angularフォルダーを見つけ、package.jsonファイルを編集します。ツリーキルバージョンを1.2.1から1.2.2に変更
    変更します。node_modulesフォルダーで@ ngtools / webpackを見つけ、package.jsonファイルを編集します。ツリーキルバージョンを1.2.1から1.2.2に変更

  3. npm installを実行します。

0

以下のコードをpackage.jsonに追加します

"resolutions": {
"tree-kill":"1.2.2"
}

すべてのノードモジュールを削除します。

rm -r node_modules

新しいバージョン1.2.2のpackage-lock.jsonを次のように更新します。

npx npm-force-resolutions

次に、ノードモジュールをインストールします。

npm install

これは私にとってはうまくいきます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.