Как исправить проблему скобок пакета npm с помощью сценариев реакции v2.1.5, когда аудит npm ничего не делает?

Мой пакет NPM в моей папке клиента реакции дает мне 63 слабые уязвимости, все они связаны с пакетом скобок, в основном в папке jest пакета сценариев реакции версии 2.1.5. Исправление NPM Audit не работает, что мне делать?

Я пробовал вернуться к предыдущим версиям сценариев реакции, обновляя фигурные скобки либо путем обновления package.json, удаления блокировки пакета и повторного запуска npm install, либо запуска фигурных скобок npm update, но ничего не помогло после 2 часов возни. Я также пытался вернуться к предыдущей версии моего Github package.json, когда он работал. Я считаю, что он перестал работать после того, как я попытался загрузить firebase-ui, но я думаю, что это связано с обновлением пакетов, поскольку я несколько раз удалял модули узлов и установку npm.

Вот что испортил мой чистый package.json.

"webpack-dev-server": "3.1.14",
"@babel/core": "*",
"axios": "*",
"body-parser": "*",
"bootstrap": "*",
"cors": "*",
"dotenv": "*",
"draft-js": "*",
"draft-js-export-html": "*",
"errorhandler": "*",
"express": "*",
"express-session": "*",
"history": "*",
"jquery": "*",
"moment": "*",
"mongoose": "*",
"morgan": "*",
"node-sass-chokidar": "*",
"npm-run-all": "*",
"path": "*",
"query-string": "*",
"react": "*",
"react-dom": "*",
"react-loadable": "*",
"react-redux": "*",
"react-router-dom": "*",
"react-router-redux": "*",
"react-scripts": "*",
"react-validation": "*",
"reactstrap": "*",
"recharts": "*",
"redux": "*",
"redux-logger": "*",
"redux-observable": "*",
"redux-thunk": "*",
"rxjs": "*",
"rxjs-compat": "*",
"validator": "*"

И вот проблема, которую я получаю:

Отказ в обслуживании с низким регулярным выражением

Пакет брекетов

Зависимость сценариев реакции

Путь react-scripts> jest> jest-cli> micromatch> braces

Дополнительная информация https://nodesecurity.io/advisories/786


person CrumrineCoder    schedule 17.02.2019    source источник


Ответы (3)


Я побежал npm install [email protected], а затем npm update

Это по-прежнему привело к 63 уязвимостям, но привело к тому, что мои фигурные скобки вернулись к текущей версии. Итак, я просмотрел и обновил ВСЕ ссылки с braces в package-lock.json на 2.3.2. Затем я снова запустил npm update, и когда я запустил npm audit, уязвимости исчезли.

person jeffdstephens    schedule 17.02.2019
comment
Есть ли какие-либо проблемы с нарушением семвера, как предполагает аудит npm? - person Mathew; 18.02.2019
comment
Я выполнил эти инструкции и обновился через npm update, после чего предупреждение исчезло и для меня. - person Jonathan Sexton; 21.02.2019
comment
Я сделал это безуспешно :( - person Daniella; 05.03.2019
comment
-1 за предложение редактирования package-lock.json @Jony Это работает, но вы НЕ должны этого делать. Это сгенерированный файл по какой-то причине. - person Emobe; 15.11.2019
comment
@Emobe Тогда что ты посоветуешь? - person Jony; 18.11.2019
comment
@Jony Я предлагаю НЕ редактировать package-lock.json - person Emobe; 20.11.2019

Jest - это тестовый пакет, который никогда не появится в вашем производственном комплекте, вы можете игнорировать эту уязвимость без риска.

Этот пакет https://github.com/naugtur/npm-audit-resolver#readme может помочь вам игнорировать низкие уязвимости.

person Alexandre Behaghel    schedule 18.02.2019
comment
Хотя это не повлияет на производственный код, уязвимости в зависимостях разработчиков могут по-прежнему влиять на ваших разработчиков или процесс сборки. - person Wes Souza; 14.03.2019

Мне удалось решить аналогичную проблему с помощью поля resolutions, за которым следует yarn install -

  "resolutions": {
    "braces": "= 2.3.1"
  }

Я проверил yarn.lock и убедился, что обновлена ​​только соответствующая зависимость.

Здесь есть дополнительная информация по этой теме - https://github.com/yarnpkg/yarn/issues/4986.

person Anton    schedule 11.02.2020