#node.js #vue.js #package.json
#node.js #vue.js #package.json
Вопрос:
Недавно я запустил новую Vue.js проект. После моего последнего коммита на GitHub я получил следующее уведомление о зависимостях:
Известная уязвимость безопасности высокой степени серьезности, обнаруженная в node-forge < 0.10.0, определенная в package-lock.json. предложено обновление package-lock.json: node-forge ~> 0.10.0.
Как мне обновить node-forge? Я запустил исправление аудита npm.
node-forge находится только в моем файле package-lock.json и требуется для зависимости «самоподписанный».
Ответ №1:
Вы могли бы попробовать
npm update
Это должно обновить все пакеты до последней версии, соблюдая правила семантического управления версиями в вашем package.json / package-lock.json.
Вы также можете попробовать разрешить Dependabot генерировать запрос на извлечение, чтобы устранить проблему. Если вы выберете само оповещение, вы должны увидеть кнопку, подобную этой:
Это попытается создать запрос на извлечение (это не всегда удается) и обычно занимает несколько минут. Как только это будет завершено, вы сможете просмотреть и объединить.
Комментарии:
1. обновление npm, похоже, решило эту проблему. Спасибо всем за вашу помощь.
Ответ №2:
Причинно-следственная связь:
node-forge@0.9.0
необходимо обновить до node-forge@^0.10.0
Решение (NPM)
rm -rf node-modules
rm package.lock
npm cache clean
npm i
Решение (Yarn)
rm -rf node_modules
rm yarn.lock
yarn cache clean
yarn
Объяснение
Это должно привести к тому, что библиотека, которая использует node-forge
, обновит свои собственные зависимости.
Комментарии:
1. Решение npm неверно, должно быть
rm -rf node_modules
, и если вы используете Windows, используйтеrm -r node_modules
иrm pacakge-lock.json
2. Подождите, все это нужно сделать? Как насчет простого запуска
npm install node-forge --save
?
Ответ №3:
В случае, если npm update
это не устраняется, я исправил это, удалив package-lock.json
amp; node_modules
, а затем запустив npm install
для воссоздания обоих.
Я ожидаю, что это быстрое исправление и, возможно, оно не идеально подходит для командной разработки, но это серьезная ошибка безопасности, которой более 3 недель, и ее необходимо устранить. Обязательно запустите git diff
на package-lock.json
и убедитесь, что он не обновил ничего, чего не должно было быть.
Для меня Dependabot не создал PR, как это обычно делается, поскольку ошибка была в node-forge 0.9.0, а патч был в 0.10.0, который самоподписанный считается критическим изменением. npm audit
не нашел никакой уязвимости и npm update
сделал несколько обновлений, но не обновил node-forge до 0.10.0 и не самоподписался до 1.10.8 (который обновляет ссылку на версию node-forge). Я использовал webpack-dev-server 3.11.0, который зависит от самоподписанного ^ 1.10.7. После повторного создания package-lock.json
ссылка на webpack-dev-server не изменилась, но были обновлены версии с самоподписью и node-forge, что является именно тем, что я хотел.
Ответ №4:
Попробуйте: npm i node-forge@latest
Вы можете попробовать вышеуказанную команду, если npm update
и удаление node_modules
и package-lock.json
. Он обновил node-forge до последней версии для меня.
Ответ №5:
Уязвимость в node-forge 0.9.0 была исправлена в самоподписанном недавно. Попробуйте обновить самоподписанный. Это устранило проблему для меня. Пожалуйста, проверьте ссылку для справки. Самоподписанная ссылка на github