Недавно я обновил свою версию angular, используя ng update
и при запуске npm audit он обнаружил 1 уязвимость высокой степени серьезности, но не предложил никаких предложений по ее устранению. Обычно предлагается обновить пакет из package.json, например: «angular-devkit/build-angular», но я уже использую их последнюю версию.
=== npm audit security report ===
Manual Review
Some vulnerabilities require your attention to resolve
Visit https://go.npm.me/audit-guide for additional guidance
High Arbitrary File Overwrite
Package tar
Patched in >=4.4.2
Dependency of @angular-devkit/build-angular [dev]
Path @angular-devkit/build-angular > node-sass > node-gyp > tar
More info https://npmjs.com/advisories/803
found 1 high severity vulnerability in 29707 scanned packages
1 vulnerability requires manual review. See the full report for details.
Думал установить npm i tar, но не уверен.





angular-cli полагается на node-gyp, у которых есть открытая проблема для этого: https://github.com/nodejs/node-gyp/issues/1714
Чтобы обойти это, вы можете пропатчить node-gyp, а затем пропатчить angular, чтобы использовать пропатченный node-gyp. Или ждать и надеяться, что скоро исправят.
Вы должны искать в своем package-lock.json это:
"tar": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
И заменить для этого:
"tar": {
"version": "4.4.8",
"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz",
Это сработало для меня
Если вы читаете комментарии в приведенной выше ссылке, предоставленной gloomy.penguin, там говорится: «НЕ редактируйте вручную файл блокировки. Подождите, пока sass обновится, и дайте угловое время, сегодня пятница (2019-04-12 для нас в любом случае) Мы не выпускаем в эти выходные. Ребята из Angular очень быстро решают проблемы, главное терпение».
Для меня работало следующее:
Перейдите в node_modules > node_gyp > package.json, затем найдите tar в разделе зависимостей и замените 2.0.0 на 4.4.8.
Затем запустите:
вы должны увидеть 0 уязвимостей.
Я обновил несколько угловых проектов, и у каждого проекта была одна и та же проблема. Выполнение вышеуказанного работало все время.
Это плохо. Изменение локальных node_modules всегда плохое решение, так как ваши изменения не отразятся на новых установках.
Ваше понимание неверно. Подробный подход см. в статье stackoverflow.com/questions/51377148/….
Свежие установки: клонирование вашего проекта (при условии, что это репозиторий git) и запуск npm install или удаление всей node_modules папки и запуск ``npm install`. В обоих случаях ваши локальные изменения в модулях вашего узла не будут отражены.