Poprawny sposób naprawienia potencjalnej luki w zabezpieczeniach w zależności zdefiniowanej w package-lock.json
Github dał mi ten błąd w jednym z moich repozytoriów.
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.
Zależność nie jest zdefiniowana w naszym pliku package.json
. Moim zdaniem nie jest dobrą praktyką usuwanie pliku package-lock.json
i jego regeneracja. Nie widzę jednak innego sposobu na rozwiązanie tego problemu. Jeśli odrzucę tę lukę w zabezpieczeniach, pojawi się ona ponownie kilka dni później. Jakieś pomysły? Dzięki!
4 answers
Należy spróbować zidentyfikować nazwę problematycznego pakietu, a następnie uruchomić
npm install package-name
Wymiana nazwy pakietu, oczywiście.
Spowoduje to zainstalowanie najnowszej wersji pakietu i bardzo często najnowsza wersja rozwiązuje problem z bezpieczeństwem. Jeśli masz ograniczenia w wersji (np: 1.2), zawsze możesz spróbować:
npm install package-name@^1.2
I zostanie zainstalowana najnowsza poprawiona wersja
New: teraz, z npm@6 można bezpośrednio uruchomić
npm audit fix
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-02 08:44:51
Aby rozwiązać ten problem:
Solucja 1: Najpierw Znajdź lukę: używając terminala: cd do twojego projektu, następnie uruchom "npm ls hoek"
I wreszcie: npm install bcrypt@latest
Następnie wypchnij zaktualizowany projekt do git.(tj. wykonać nowy commit).
Rozwiązanie 2:
Jeśli pierwsza opcja / rozwiązanie nie rozwiąże problemu.Zmień wersję ręcznie w package-lock.json. Zmień swoją wersję ręcznie z 2.16.3 do 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
Następnie zaktualizuj swój projekt na GitHub(commit / push) Po prostu upewnij się, że każda wersja hoek występuje w Twoim pakiecie-lock.wersja json została zmieniona na 4.2.1
Alternatywnie, jeśli możesz wymyślić sposób na zmianę wersji hoek / aktualizacji hoek za pomocą npm, ułatwi to sprawę.(coś w stylu: npm update @hoek..wersja )..lub odinstaluj konkretną zależność, a następnie zainstaluj ją ponownie za pomocą bower lub npm.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-29 19:28:22
Moim zdaniem usunięcie blokady pakietu nie jest dobrą praktyką.plik json i zregenerować go.
Jednak, to jest to, co zwykle robi się w tym przypadku.
Zobacz na przykład angular / angular-CLI problem 8534 , który jest rozwiązany przez PR 8535 .
Który prowadzi zależny projekt jak frees-io/freestyle-opscenter-webclient
Aby zaktualizować swój package-lock.json
: PR 31 .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-31 04:16:08
Najprostszym/najłatwiejszym sposobem naprawienia tego jest:
npm install <dep>
npm uninstall <dep>
npm update
npm install
From: https://github.com/Microsoft/vscode/issues/48783#issuecomment-384873041
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-31 18:57:49