Github hat mir diesen Fehler in einem meiner Repositories gegeben.
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.
Die Abhängigkeit ist in unserer package.json
Datei nicht definiert . Nach meinem Verständnis ist es nicht empfehlenswert, die package-lock.json
Datei zu löschen und neu zu generieren. Ich kann jedoch keinen anderen Weg finden, um dieses Problem zu beheben. Wenn ich diese Sicherheitslücke schließe, wird sie einige Tage später erneut angezeigt. Irgendwelche Ideen? Vielen Dank!
github
npm
package-lock.json
Kaito
quelle
quelle
Antworten:
Neu: Jetzt können Sie mit npm @ 6 direkt ausführen
Alte Antwort:
Sie sollten versuchen, den Namen des problematischen Pakets zu identifizieren, und dann ausführen
offensichtlich den Paketnamen ersetzen.
Dadurch wird die neueste Version des Pakets installiert, und sehr oft hat die neueste Version das Sicherheitsproblem behoben. Wenn Sie eine Einschränkung für die Version haben (z. B. 1.2), können Sie immer versuchen:
und die neueste gepatchte Version wird installiert
quelle
npm ls vulnerability-name
. Hier werden die Schwachstellenabhängigen aufgelistet, die Sie dann aktualisieren / installieren können. (wie in @ RileyMandas Antwort ziemlich unklar erwähnt)package-name
independencies
derpackage.json
. Ich will das nichtSo beheben Sie dieses Problem:
Lösung 1: Finden Sie zuerst die Sicherheitsanfälligkeit: Verwenden Sie Ihr Terminal: cd in Ihrem Projekt und führen Sie dann "npm ls hoek" aus.
Und zum Schluss: npm install bcrypt @ latest
Drücken Sie dann das aktualisierte Projekt auf git (dh führen Sie ein neues Commit durch).
Lösung 2:
Wenn die erste Option / Lösung das Problem nicht behebt. Ändern Sie die Version manuell in Ihrer package-lock.json. Ändern Sie Ihre Version manuell von 2.16.3 auf 4.2.1
Aktualisieren Sie dann Ihr Projekt auf GitHub (Commit / Push). Stellen Sie einfach sicher, dass jedes Auftreten einer Hoek-Version in Ihrer package-lock.json-Version in 4.2.1 geändert wird
Wenn Sie alternativ einen Weg finden, um die Hoek-Version zu ändern / Hoek mit npm zu aktualisieren, wird dies die Dinge viel einfacher machen (etwa: npm update @ hoek..version ). Oder Sie deinstallieren die spezifische Abhängigkeit und installieren sie mit bower oder neu npm.
quelle
Ich hatte das gleiche Problem mit einer Sicherheitslücke in Lodash in einem Projekt, das ich mit Garn baute. Github bezeichnete diese als Sicherheitsbedenken.
Ich habe die Antwort von @rileymanda oben mit einem Terminal versucht: cd in project, dann ausführen
npm ls lodash
.Dies ergab, dass in meinem Fall der Fehler in Reaktionsskripten lag . Schnelles Google für Probleme mit React-Skripten und Lodash stellte fest, dass dies ein bekanntes Problem war.
Ich habe versucht, verschiedene Dinge mit Garn zu reparieren - alles ohne Erfolg.
npm ls lodash
zeigte immer noch die anfällige Version von lodash im Einsatz.Nachdem ich Matt Turnbulls Blog über Verbesserungen an npm gelesen hatte, wechselte ich von Garn zurück zu npm. (Löschen
yarn.lock
, löschen./node_modules
. Ausführennpm install
).npm ls lodash
Jetzt wurden die neuesten Abhängigkeitsversionen verwendet - Hurra! Dem Github verpflichtet, und es war jetzt froh, dass die Verwundbarkeit verschwunden war.Es sieht so aus, als ob Garn Schwierigkeiten hat, solche Probleme zu lösen (oder nicht beabsichtigt ist).
Wenn dieses Problem beim Bauen mit Garn auftritt, versuchen Sie, [zurück] auf npm umzuschalten!
quelle
Dies wird jedoch normalerweise in diesem Fall getan.
Siehe zum Beispiel Angular / Angular-Cli-Problem 8534 , das durch PR 8535 behoben wird .
Das führt wie ein abhängiges Projekt
frees-io/freestyle-opscenter-webclient
zu seiner Aktualisierungpackage-lock.json
PR 31: .quelle
Der einfachste / einfachste Weg, dies zu beheben, ist:
npm install <dep>
npm uninstall <dep>
npm update
npm install
Von: https://github.com/Microsoft/vscode/issues/48783#issuecomment-384873041
quelle
Seit dem 23. Mai 2019 haben Sie jetzt " Dependabot: Automatisierte Sicherheitskorrekturen ".
Weitere Informationen finden Sie unter " Konfigurieren automatisierter Sicherheitskorrekturen ".
quelle
npm audit
und / odernpm audit fix
.Das funktioniert bei mir. Deinstallieren Sie alle Ihre Abhängigkeiten und installieren Sie sie erneut
Zum Beispiel
In package.json finden Sie eine Liste Ihrer Abhängigkeiten
Folgen Sie dazu dem Befehl
quelle
Siehe Einzelheiten
quelle
Versuchen Sie
npm audit fix
, es wird viele Warnungen lösendann
npm i [package.name]@xxx
zum Beispiel:
npm i [email protected]
quelle