NPM-AUDIT menemukan kerentanan tinggi. Apa yang harus aku lakukan?

13

npm audit jalankan proyek saya dan dapatkan saya ini


Ketergantungan Injeksi Perintah Tinggi dari @ angular-devkit / build-angular [dev]

Path @ angular-devkit / build-angular> @ ngtools / webpack> tree-kill

Info lebih lanjut https://npmjs.com/advisories/1432

Injeksi Perintah Tinggi

Paket membunuh pohon

Ditambal>> 1.2.2

Ketergantungan pada @ angular-devkit / build-angular [dev]

Path @ angular-devkit / build-angular> tree-kill

Info lebih lanjut https://npmjs.com/advisories/1432

Pembunuhan pohon perlu diperbarui, tetapi dept sudut, bukan milikku. Terus? Perlu menunggu bahwa tim sudut memperbarui paketnya sendiri. Bergabung dengan versi baru dari tree-kill?

Nemus
sumber

Jawaban:

11

Anda dapat memperbaikinya tanpa menunggu versi baru dari paket @angular-devkit/build-angular.

Lakukan saja langkah-langkah berikut:

  1. Perbarui package.jsonfile Anda dengan menambahkan resolutionsbagian dengan versi paket yang tepat tree-kill:
"resolutions": {
  "tree-kill": "1.2.2"
}
  1. Perbarui package-lock.jsondengan menjalankan perintah:
npx npm-force-resolutions
  1. Instal ulang paket NPM di proyek Anda:
rm -r node_modules
npm install

Jalankan npm audituntuk memeriksa bahwa proyek Anda tidak lagi memiliki masalah ini. Dan jangan lupa untuk melakukan file yang dimodifikasi package.jsondan package-lock.json.

Informasi lebih lanjut tentang Resolusi Kekuatan NPM .

Yuri Beliakov
sumber
11

Saya mengalami masalah yang sama hari ini dan saya memperbaikinya dengan:

  1. hapus paket tree-kill dari folder node_modules.
  2. hapus file package-lock.json.
  3. buka folder @ angular-devkit / build-angular di folder node_modules dan edit file package.json; ganti versi tree-kill dari 1.2.1 ke 1.2.2
  4. buka folder @ ngtools / webpack di folder node_modules dan lakukan hal yang sama seperti langkah 3.

jalankan npm install setelah itu.

saleem
sumber
1
Jadi dengan perbaikan ini, saya harus menyimpan folder node_modules dengan Git kan?
Loki
Saya tidak yakin jika saya menjawab pertanyaan Anda dengan benar, tetapi Anda perlu melakukan perubahan baru setelah instalasi baru.
saleem
1
edit secara manual dependensi Anda bukan ide yang baik, karena melakukan instalasi baru proyek akan mewakili masalah
Nemus
2

Saya baru saja mengalami masalah ini dan setelah beberapa penelitian, saya menemukan sesuatu:

NPM melempar kesalahan pada "perbaikan audit" - Registri yang dikonfigurasi tidak didukung

Tentu saja, ini tentang masalah lain tetapi, dengan mengadaptasi solusi yang diberikan di sana, itu menyelesaikan masalah saya.

Jadi:

  • Hapus folder node_modules dari tree-kill
  • Edit file package-lock.json seperti itu dilakukan tetapi dengan modul tree-kill sebagai gantinya.
  • Jangan lupa untuk menjalankan npm install di akhir

Saya harap saya sudah cukup jelas.

Archelite
sumber
Bagaimana saya bisa mengedit package-lock.json pada langkah kedua jika seharusnya dihapus ketika menghapus folder node_modules dari tree-kill di langkah 1?
Mauricio Martinez
0
  1. Hapus paket tree-kill dari folder node_modules & Hapus
    file package-lock.json.

  2. Temukan @ angular-devkit / build-angular folder di folder node_modules dan edit file package.json; ganti versi tree-kill dari 1.2.1 ke 1.2.2
    Temukan @ ngtools / webpack di folder node_modules dan edit file package.json; ganti versi tree-kill dari 1.2.1 ke 1.2.2

  3. jalankan npm install.
sam0606
sumber
0

Tambahkan kode di bawah ini ke package.json

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

Hapus semua modul simpul:

rm -r node_modules

Perbarui package-lock.json untuk versi baru 1.2.2 sebagai:

npx npm-force-resolutions

Sekarang instal modul simpul:

npm install

Ini bekerja untuk saya.

rohit
sumber