NMP Audit Произвольная перезапись файлов - PullRequest
13 голосов
/ 11 апреля 2019

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

Ответы [ 3 ]

6 голосов
/ 11 апреля 2019

angular-cli полагается на node-gyp, у которого есть открытая проблема для этого: https://github.com/nodejs/node-gyp/issues/1714

Чтобы обойти это, вы можете исправить патч узла, а затем патч угловой, чтобы использовать ваш патч узла узла. Или подожди и надейся, что они скоро это исправят.

5 голосов
/ 24 апреля 2019

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

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

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

  1. npm i
  2. Аудит npm
  3. Исправление аудита npm
  4. Аудит npm

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

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

1 голос
/ 12 апреля 2019

Вы должны искать в вашем пакете-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",

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

...