НПМ-АУДИТ находят высокие уязвимости. Что я должен сделать?

13

npm audit запустить мой проект и получил меня это


Зависимость высокого командного ввода от @ angular-devkit / build-angular [dev]

Путь @ angular-devkit / build-angular> @ ngtools / webpack> уничтожение деревьев

Дополнительная информация https://npmjs.com/advisories/1432

High Command Injection

Пакет дерево-убить

Исправлено в> = 1.2.2

Зависимость @ angular-devkit / build-angular [dev]

Path @ angular-devkit / build-angular> уничтожение деревьев

Дополнительная информация https://npmjs.com/advisories/1432

Убийство деревьев должно быть обновлено, но это угроза, а не моя. И что? Нужно подождать, пока angular-team обновит свой собственный package.json до новой версии tree-kill?

Nemus
источник

Ответы:

11

Вы можете исправить это, не дожидаясь новой версии пакета @angular-devkit/build-angular .

Просто сделайте следующие шаги:

  1. Обновите package.jsonфайл, добавив resolutionsраздел с верной версией пакета tree-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.json и package-lock.json.

Больше информации о Резолюциях Силы NPM .

Юрий Беляков
источник
11

У меня была та же проблема сегодня, и я исправил ее:

  1. удалите пакет уничтожения деревьев из папки node_modules.
  2. удалите файл package-lock.json.
  3. перейдите в папку @ angular-devkit / build-angular в папке node_modules и отредактируйте файл package.json; изменить версию уничтожения деревьев с 1.2.1 на 1.2.2
  4. перейдите в папку @ ngtools / webpack в папке node_modules и сделайте то же самое, что и шаг 3.

после этого запустите npm install.

Салим
источник
1
Так что с помощью этого исправления я должен сохранить папку node_modules с Git, верно?
Локи
Я не уверен, правильно ли я понял ваш вопрос, но вам нужно зафиксировать новые изменения после новой установки.
Салим
1
редактировать ваши зависимости вручную не очень хорошая идея, так как выполнение новой установки проекта будет представлять проблему
Nemus
2

У меня тоже была эта проблема, и после некоторых исследований я нашел кое-что:

NPM выдает ошибку «исправление аудита» - настроенный реестр не поддерживается

Конечно, речь идет о другой проблеме, но, адаптировав решение, данное там, это решило мою проблему.

Так :

  • Удалите папку node_modules дерева уничтожения
  • Отредактируйте файл package-lock.json так, как это сделано, но вместо этого используйте модуль tree-kill.
  • Не забудьте запустить npm install в конце

Я надеюсь, что я достаточно ясно

archelite
источник
Как я могу отредактировать package-lock.json на втором шаге, если он должен был быть удален при удалении папки node_modules tree-kill на шаге 1?
Маурисио Мартинес
0
  1. Удалите пакет уничтожения деревьев из папки node_modules и
    удалите файл package-lock.json.

  2. Найдите папку @ angular-devkit / build-angular в папке node_modules и отредактируйте файл package.json; измените версию tree-kill с 1.2.1 на 1.2.2
    Найдите @ ngtools / webpack в папке node_modules и отредактируйте файл package.json; изменить версию уничтожения деревьев с 1.2.1 на 1.2.2

  3. запустите npm install.
sam0606
источник
0

Добавьте приведенный ниже код в package.json

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

Удалить все модули узла:

rm -r node_modules

Обновите package-lock.json для новой версии 1.2.2 следующим образом:

npx npm-force-resolutions

Теперь установите модули узла:

npm install

Это работает для меня.

Рохит
источник