Фон
Если я сделаю npm audit
для приложения ReactJS, которое мы не затрагивали в течение года (до недавнего времени), я получаю следующее резюме:
found 356 vulnerabilities (321 low, 20 moderate, 14 high, 1 critical)
in 11345 scanned packages run `npm audit fix` to fix 3 of them.
353 vulnerabilities require semver-major dependency updates.
Если я сделаю это npm audit fix
, то эти 3 уязвимости устранены, остальные - не потому, что они вносят изменения.
Делая еще npm audit
Я получаю это резюме:
found 71 vulnerabilities (36 low, 20 moderate, 14 high, 1 critical) in 11345 scanned packages
71 vulnerabilities require semver-major dependency updates.
В верхней части аудита:
Запустите npm install react-scripts@2.1.2
, чтобы устранить 71 уязвимость. ПРЕДУПРЕЖДЕНИЕ ПО СЕМЕРЕ: рекомендуемое действие - потенциально опасное изменение
После того, как я это сделаю npm install react-scripts@2.1.2
, уязвимости уменьшаются до 1:
=== npm audit security report ===
Manual Review
Some vulnerabilities require your attention to resolve
Visit https://go.npm.me/audit-guide for additional guidance
High Missing Origin Validation
Package webpack-dev-server
Patched in >=3.1.11
Dependency of react-scripts
Path react-scripts > webpack-dev-server
More info https://nodesecurity.io/advisories/725
После выполнения npm install webpack-dev-server@3.1.14
я получаю 2 новых номера:
=== npm audit security report ===
Manual Review
Some vulnerabilities require your attention to resolve
Visit https://go.npm.me/audit-guide for additional guidance
High Missing Origin Validation
Package webpack-dev-server
Patched in >=3.1.11
Dependency of react-scripts
Path react-scripts > webpack-dev-server
More info https://nodesecurity.io/advisories/725
High Missing Origin Validation
Package webpack-dev-server
Patched in >=3.1.11
Dependency of webpack-dev-server
Path webpack-dev-server
More info https://nodesecurity.io/advisories/725
Эта дополнительная информационная ссылка предполагает обновление до версии 3.1.6 или более поздней. То, что я делаю, намного выше этого ...
Вопросы
Чтобы лучше понять, что делает npm audit
, я бы хотел обсудить следующие замечания:
Почему выполнение npm install webpack-dev-server@3.1.14
добавляет проблему, а не исправляет упомянутую выше? Похоже, предыдущий номер остается четным ...
Почему количество уязвимостей уменьшается с 356 до 71 после устранения только 3 проблем, в то время как общее количество пакетов одинаково?
Почему аудит не предложил мне сделать npm install webpack-dev-server@3.1.11
или выше, если он знает, что проблема исправлена с 3.1.11? он знал, что npm install react-scripts@2.1.2
был необходим раньше.
Что я должен сделать, чтобы исправить проблему, упомянутую в вопросе № 1?
PS: ссылка nodesecurity предлагает обновить webpack-dev-server
до версии 3.1.6 или выше. Я делаю намного выше этого ...
PPS: я тоже пробовал npm install webpack-dev-server@3.1.11
, без разницы.