Npm аудит Произвольная перезапись файла

Недавно я обновил свою версию 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, но не уверен.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
13
0
10 292
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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",

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

github.com/angular/angular-cli/issues/…
gloomy.penguin 13.04.2019 02:20

Если вы читаете комментарии в приведенной выше ссылке, предоставленной gloomy.penguin, там говорится: «НЕ редактируйте вручную файл блокировки. Подождите, пока sass обновится, и дайте угловое время, сегодня пятница (2019-04-12 для нас в любом случае) Мы не выпускаем в эти выходные. Ребята из Angular очень быстро решают проблемы, главное терпение».

mruanova 15.04.2019 21:43
Ответ принят как подходящий

Для меня работало следующее:

Перейдите в node_modules > node_gyp > package.json, затем найдите tar в разделе зависимостей и замените 2.0.0 на 4.4.8.

Затем запустите:

  1. нпм я
  2. npm-аудит
  3. исправление аудита npm
  4. npm-аудит

вы должны увидеть 0 уязвимостей.

Я обновил несколько угловых проектов, и у каждого проекта была одна и та же проблема. Выполнение вышеуказанного работало все время.

Это плохо. Изменение локальных node_modules всегда плохое решение, так как ваши изменения не отразятся на новых установках.

Jota.Toledo 05.05.2019 14:19

Ваше понимание неверно. Подробный подход см. в статье stackoverflow.com/questions/51377148/….

Jota.Toledo 07.05.2019 09:32

Свежие установки: клонирование вашего проекта (при условии, что это репозиторий git) и запуск npm install или удаление всей node_modules папки и запуск ``npm install`. В обоих случаях ваши локальные изменения в модулях вашего узла не будут отражены.

Jota.Toledo 07.05.2019 09:33

Другие вопросы по теме