NPM -АУДИТ найти для высоких уязвимостей. Что я должен сделать? - PullRequest
13 голосов
/ 11 января 2020

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

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

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

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

Инъекция высокой команды

Пакетное уничтожение деревьев

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

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

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

Подробнее https://npmjs.com/advisories/1432

Tree- kill необходимо обновить, но это Dep angular, а не мое. И что? Нужно подождать, пока angular -команда обновит свой собственный пакет. json до более новой версии tree-kill?

Ответы [ 6 ]

11 голосов
/ 13 января 2020

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

Просто выполните следующие шаги:

  1. Обновите файл package.json, добавив resolutions раздел с верной версией пакета tree-kill:
"resolutions": {
  "tree-kill": "1.2.2"
}
Обновите package-lock.json, введя команду:
npx npm-force-resolutions
Переустановите NPM пакетов в вашем проекте:
rm -r node_modules
npm install

Запустите npm audit, чтобы убедиться, что в вашем проекте больше нет этой проблемы. И не забудьте зафиксировать измененные файлы package.json и package-lock.json.

Подробнее о NPM Force Resolutions .

11 голосов
/ 12 января 2020

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

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

run npm установить после этого.

2 голосов
/ 11 января 2020

Проверьте репозиторий GitHub, чтобы увидеть, работает ли исправление. Я обнаружил эту проблему: https://github.com/angular/angular-cli/issues/16629 и запрос на получение (https://github.com/angular/angular-cli/pull/15894), который удаляет зависимость.

2 голосов
/ 11 января 2020

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

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

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

Итак:

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

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

0 голосов
/ 28 февраля 2020

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

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

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

rm -r node_modules

Обновите блокировку пакета. json для новой версии 1.2.2 как :

npx npm-force-resolutions

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

npm install

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

0 голосов
/ 14 января 2020
  1. Удалите пакет уничтожения деревьев из папки node_modules и удалите
    файл блокировки пакета. json файл.

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

  3. запустить npm установить.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...