NPM-AUDIT trouve des vulnérabilités élevées. Qu'est-ce que je suis supposé faire?


13

npm audit courir sur mon projet et m'a obtenu ce


Dépendance d' injection de haut commandement de @ angular-devkit / build-angular [dev]

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

Plus d'infos https://npmjs.com/advisories/1432

Injection de haut commandement

Package tree-kill

Patché dans> = 1.2.2

Dépendance de @ angular-devkit / build-angular [dev]

Chemin @ angular-devkit / build-angular> tree-kill

Plus d'infos https://npmjs.com/advisories/1432

Tree-kill doit être mis à jour, mais c'est un dep de angulaire, pas le mien. Et alors? Besoin d'attendre que l'équipe angulaire mette à jour son propre package.json vers une nouvelle version de tree-kill?

Réponses:


11

Vous pouvez résoudre ce problème sans attendre une nouvelle version du package @angular-devkit/build-angular.

Suivez simplement les étapes suivantes:

  1. Mettez à jour votre package.jsonfichier en ajoutant une resolutionssection avec la version appropriée du package tree-kill:
"resolutions": {
  "tree-kill": "1.2.2"
}
  1. Mettez à jour votre package-lock.jsoncommande en exécutant:
npx npm-force-resolutions
  1. Réinstallez les packages NPM dans votre projet:
rm -r node_modules
npm install

Exécutez npm auditpour vérifier que votre projet n'a plus ce problème. Et n'oubliez pas de valider les fichiers modifiés package.jsonet package-lock.json.

Plus d'informations sur NPM Force Resolutions .


11

J'avais le même problème aujourd'hui et je l'ai résolu par:

  1. supprimez le package tree-kill du dossier node_modules.
  2. supprimez le fichier package-lock.json.
  3. accédez au dossier @ angular-devkit / build-angular dans le dossier node_modules et modifiez le fichier package.json; changer la version de suppression d'arbre de 1.2.1 à 1.2.2
  4. accédez au dossier @ ngtools / webpack dans le dossier node_modules et faites la même chose qu'à l'étape 3.

exécutez npm install après cela.


1
Donc, par ce correctif, je dois conserver le dossier node_modules avec Git non?
Loki

Je ne sais pas si j'ai bien répondu à votre question, mais vous devez valider les nouvelles modifications après la nouvelle installation.
saleem

1
modifier manuellement vos dépendances n'est pas une bonne idée, car faire une nouvelle installation du projet représentera le problème
Nemus

2

Je viens d'avoir ce problème aussi et après quelques recherches, j'ai trouvé quelque chose:

NPM renvoie une erreur sur le "correctif d'audit" - Le registre configuré n'est pas pris en charge

Bien sûr, il s'agit d'un autre problème mais, en adaptant la solution qui y est donnée, cela a résolu mon problème.

Donc :

  • Supprimez le dossier node_modules de tree-kill
  • Modifiez le fichier package-lock.json comme si c'était fait, mais avec le module tree-kill à la place.
  • N'oubliez pas d'exécuter npm install à la fin

J'espère avoir été assez clair.


Comment pourrais-je modifier le package-lock.json dans la deuxième étape s'il était censé être supprimé lors de la suppression du dossier node_modules de tree-kill à l'étape 1?
Mauricio Martinez


0
  1. Supprimez le package tree-kill du dossier node_modules et supprimez
    le fichier package-lock.json.

  2. Recherchez le dossier @ angular-devkit / build-angular dans le dossier node_modules et modifiez le fichier package.json; changer la version de
    suppression d' arborescence de 1.2.1 à 1.2.2 Recherchez @ ngtools / webpack dans le dossier node_modules et modifiez le fichier package.json; changer la version de suppression d'arbre de 1.2.1 à 1.2.2

  3. exécutez l'installation de npm.

0

Ajoutez le code ci-dessous à package.json

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

Supprimez tous les modules de noeud:

rm -r node_modules

Mettez à jour package-lock.json pour la nouvelle version 1.2.2 en tant que:

npx npm-force-resolutions

Installez maintenant les modules de nœuds:

npm install

Cela fonctionne pour moi.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.