Github выдал мне эту ошибку в одном из моих репозиториев.
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.
Зависимость не определена в нашем package.json
файле. Насколько я понимаю, удалять package-lock.json
файл и восстанавливать его - не лучшая практика . Однако я не вижу другого способа решить эту проблему. Если я отклоню эту уязвимость в системе безопасности, она появится снова через пару дней. Любые идеи? Благодарность!
github
npm
package-lock.json
Kaito
источник
источник
Ответы:
Новое: теперь с npm @ 6 вы можете напрямую запускать
Старый ответ:
Вы должны попытаться определить имя проблемного пакета, а затем запустить
замена имени пакета, очевидно.
При этом будет установлена последняя версия пакета, и очень часто последняя версия устраняет проблему безопасности. Если у вас есть ограничение на версию (например, 1.2), вы всегда можете попробовать:
и будет установлена последняя исправленная версия
источник
npm ls vulnerability-name
. Здесь перечислены зависимые от уязвимости, которые вы затем можете обновить / установить. (как довольно неясно упомянуто в ответеpackage-name
вdependencies
изpackage.json
. Я не хочу этого.Чтобы решить эту проблему:
Решение 1. Сначала найдите уязвимость: используйте свой терминал: cd в свой проект , затем запустите «npm ls hoek»
И наконец: npm install bcrypt @ latest
Затем отправьте обновленный проект в git (т.е. выполните новую фиксацию).
Решение 2:
если первый вариант / решение не решает проблему, измените версию вручную в файле package-lock.json. Измените версию вручную с 2.16.3 на 4.2.1
Затем обновите свой проект на GitHub (фиксация / нажатие). Просто убедитесь, что каждая версия hoek-версии в вашей версии package-lock.json изменена на 4.2.1.
В качестве альтернативы, если вы можете найти способ изменить версию hoek / обновить hoek с помощью npm, это значительно упростит работу. ( Что- то вроде: npm update @ hoek..version ) .. или удалите конкретную зависимость, затем переустановите ее с помощью bower или npm.
источник
У меня была такая же проблема с уязвимостью безопасности lodash в проекте, который я создавал с помощью пряжи. Github пометил это как проблемы безопасности.
Я попробовал ответ от @rileymanda выше, используя терминал: cd в проект, затем запустите
npm ls lodash
.Это обнаружило, что в моем случае ошибка была в сценариях реакции . Быстрый поиск в Google проблем с реактивными скриптами и lodash обнаружил, что это известная проблема.
Я пробовал разные вещи, чтобы исправить с помощью пряжи - все безуспешно.
npm ls lodash
все еще показывает уязвимую версию lodash в использовании.Прочитав блог Мэтта Тернбулла об улучшениях в npm, я переключился с yarn обратно на npm. (Удалить
yarn.lock
, удалить./node_modules
. Выполнитьnpm install
).npm ls lodash
теперь показаны последние используемые версии зависимостей - ура! Привязан к github, и теперь он был счастлив, что уязвимость исчезла.Похоже, что пряжа пытается решить такие проблемы (или не предназначена для этого).
Если у вас возникла эта проблема при сборке с помощью пряжи, попробуйте переключиться [назад] на npm!
источник
Тем не менее, именно это обычно и делается в этом случае.
См., Например, проблему angular / angular-cli 8534 , которая решается с помощью PR 8535 .
Это приводит зависимый проект , как
frees-io/freestyle-opscenter-webclient
для обновления егоpackage-lock.json
: PR 31 .источник
Самый простой способ исправить это:
npm install <dep>
npm uninstall <dep>
npm update
npm install
От: https://github.com/Microsoft/vscode/issues/48783#issuecomment-384873041
источник
С 23 мая 2019 года у вас теперь есть « Dependabot: автоматические исправления безопасности ».
Подробнее см. « Настройка автоматических исправлений безопасности ».
источник
npm audit
и / илиnpm audit fix
.У меня это работает. удалите все свои зависимости и снова установите
Например
из package.json см. список ваших зависимостей
Следуйте команде для этого
источник
Смотрите подробности
источник
попробуйте
npm audit fix
, это решит многие предупреждениятогда
npm i [package.name]@xxx
например:
npm i lodash@4.17.13
источник