Выполнение предложенной команды не устраняет уязвимость NPM
после каждой установки нового модуля NPM в моем проекте я получаю следующую ошибку:
[!] 40 vulnerabilities found - Packages audited: 5840 (0 dev, 299 optional)
Severity: 8 Low | 24 Moderate | 8 High
Итак, я бегу npm audit
и я получаю информацию для каждой из 40 уязвимостей, таких как:
# Run npm install npm@6.0.1 to resolve 22 vulnerabilities
SEMVER WARNING: Recommended action is a potentially breaking change
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Prototype pollution │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ hoek │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ npm │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ npm > libcipm > npm-lifecycle > node-gyp > request > hawk > │
│ │ boom > hoek │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://nodesecurity.io/advisories/566 │
└───────────────┴──────────────────────────────────────────────────────────────┘
или такой :
# Run npm update fsevents --depth 2 to resolve 3 vulnerabilities
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ chokidar │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ chokidar > fsevents > node-pre-gyp > tar-pack > debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://nodesecurity.io/advisories/534 │
└───────────────┴──────────────────────────────────────────────────────────────┘
Я npm install npm@6.0.1
(хотя у меня уже было 6.0.1) тогда npm update fsevents --depth 2
но после этого я перезапускаю npm audit
и ничего не изменилось, я все еще имеют те же 40 уязвимостей и некоторые из них действительно страшные. Что делать ?
3 ответов
Это сработало для меня на MacOS:
- обновить NPM до Нового 6.1.0. Он вводит команду "исправление аудита npm",подробнее здесь.
- выполнить "исправление аудита npm".
когда вы снова запустите "аудит npm", единственными оставшимися уязвимостями должны быть проблемы "ручного обзора".
Это похоже на ошибку в npm 6.0.1, связанную с обработкой необязательных зависимостей:https://github.com/npm/npm/issues/20577
источник:https://github.com/npm/npm/issues/20675.
Один fsevents
проблема может быть связана с тем, что
fsevents
не может быть установлен на windows, поэтому вам придется обновить его на компьютере macOS.
это немного странно, так как, глядя на решение exhnozoaa, начиная с этой даты, похоже, подразумевает обратное:
я смог обойти это в Windows со следующими шагами.
- открыть
package-lock.json
в Редактор.- искать
"fsevents"
. Найдите тот, который является объектом непосредственно под"dependencies"
.- удалить
"fsevents"
(ключ и весь объект).- от терминала, запустить
npm install
.это должно регенерировать этот раздел с последней версией, совместимой с другими пакетами. Я не думаю, что это хороший способ, чтобы исправить это, но это тот, который работал для мне.