Github m'a donné cette erreur sur l'un de mes référentiels.
We found a potential security vulnerability in one of your dependencies.
A dependency defined in ./package-lock.json has known security vulnerabilities
and should be updated.
La dépendance n'est pas définie dans notre fichier package.json
. À ma connaissance, il n’est pas recommandé de supprimer le fichier package-lock.json
et de le régénérer. Cependant, je ne vois pas d'autre moyen de résoudre ce problème. Si je rejette cette vulnérabilité de sécurité, elle réapparaîtra quelques jours plus tard. Des idées? Merci!
Nouveau: maintenant, avec npm @ 6, vous pouvez directement lancer
npm audit fix
Ancienne réponse:
Vous devez essayer d’identifier le nom du paquet problématique, puis exécuter
npm install package-name
remplacer le nom du paquet, évidemment.
Cela installera la dernière version du paquet et très souvent, la dernière version corrigera le problème de sécurité. Si vous avez une contrainte sur la version (par exemple: 1.2), vous pouvez toujours essayer de:
npm install package-name@^1.2
et la dernière version corrigée sera installée
Pour résoudre ceci:
Solution1: Recherchez d'abord la vulnérabilité: À l'aide de votre terminal: cd dans votre projet, puis exécutez "npm ls hoek"
Et enfin: npm install bcrypt @ latest
Ensuite, poussez le projet mis à jour vers git (c.-à-d. Effectuez une nouvelle validation).
Solution 2:
si la première option/solution ne résout pas le problème.Changez la version manuellement dans votre package-lock.json. Changez votre version manuellement de 2.16.3 à 4.2.1
"hoek": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"dev": true
Puis mettez à jour votre projet sur GitHub (commit/Push). Assurez-vous simplement que chaque occurrence de version de hoek dans votre version de package-lock.json est modifiée en 4.2.1.
Alternativement, si vous pouvez trouver un moyen de changer la version de hoek/update hoek à l’aide de npm, cela simplifiera considérablement les choses. (Quelque chose comme: npm update @ hoek..version) .. ou désinstallez le dépendance puis réinstallez-le en utilisant bower ou npm.
À ma connaissance, il n’est pas recommandé de supprimer le fichier package-lock.json et de le régénérer.
Pourtant, c'est ce qui se fait habituellement dans ce cas.
Voir par exemple angular/angular-cli issue 8534 , qui est résolu par PR 8535 .
Cela dirige un projet dépendant tel que frees-io/freestyle-opscenter-webclient
à met à jour son _package-lock.json
_: PR 31 .
Le moyen le plus simple/le plus simple de résoudre ce problème est:
npm install <dep>
npm uninstall <dep>
npm update
npm install
De: https://github.com/Microsoft/vscode/issues/48783#issuecomment-384873041
vulnérabilités de sécurité connues et doivent être mises à jour.
Depuis le 23 mai 2019, vous avez maintenant " Dependabot: Correctifs de sécurité automatisés "
Grâce à l’intégration de Dependabot, nous avons publié des correctifs de sécurité automatisés en version bêta publique.
Les correctifs de sécurité automatisés sont des demandes d'extraction générées par GitHub pour corriger des vulnérabilités de sécurité.
Ils automatisent une partie fastidieuse du flux de travail et permettent aux développeurs de maintenir facilement leurs dépendances à jour.
Voir plus à " Configuration de correctifs de sécurité automatisés "
Remarque: les correctifs de sécurité automatiques sont disponibles en version bêta et sont sujets à modification.
Vous pouvez activer les correctifs de sécurité automatiques pour tout référentiel utilisant des alertes de sécurité et le graphique de dépendance.
Nous activerons automatiquement les correctifs de sécurité automatiques dans chaque référentiel qui utilise des alertes de sécurité et le graphique de dépendance au cours des prochains mois, à compter de mai 2019.
J'avais le même problème avec une vulnérabilité de sécurité lodash, dans un projet que je construisais avec du fil. Github a signalé ces problèmes de sécurité.
J'ai essayé la réponse de @rileymanda ci-dessus, en utilisant un terminal: cd dans projet, puis exécutez npm ls lodash
.
Ceci a révélé que dans mon cas, l'erreur était dans réagissait les scripts . Google rapide pour les problèmes avec react-scripts et lodash a découvert qu'il s'agissait d'un problème connu.
J'ai essayé diverses choses à réparer avec de la laine - toutes sans succès. npm ls lodash
montrait toujours la version vulnérable de lodash utilisée.
Ayant lu blog de Matt Turnbull sur les améliorations apportées à npm je suis passé du fil à npm. (Supprimez yarn.lock
, supprimez ./node_modules
. Exécutez npm install
.)). npm ls lodash
montrait maintenant les dernières versions de dépendance utilisées - hourra! Engagé à github, et il était maintenant heureux que la vulnérabilité ait disparu.
Il semble que Yarn ait du mal à résoudre ces problèmes (ou ce n’est pas son intention).
Si vous rencontrez ce problème lors de la construction avec du fil, essayez de revenir à npm!
essayez npm audit fix
, il préviendra de nombreux avertissements
alors npm i [package.name]@xxx
par exemple:
"dependencies": {
"lodash": ">=4.17.13"
}
npm i [email protected]
Cela fonctionne pour moi. désinstallez toutes vos dépendances et réinstallez-le
Par exemple
à partir de package.json voir la liste de vos dépendances
{
"name": "ebook-saler",
"version": "1.0.0",
"description": "App for selling ebooks",
"main": "app.js",
"scripts": {
"start": "node app.js"
},
"author": "Md Shayon",
"license": "ISC",
"dependencies": {
"body-parser": "^1.19.0",
"express": "^4.17.1",
"express-handlebars": "^3.1.0",
"hoek": "^6.1.3",
"stripe": "^7.5.0"
}
}
Suivez la commande pour cela
npm uninstall body-parser express express-handlebars hoek stripe
npm install body-parser express express-handlebars hoek stripe
git commit -m "updated"
git Push