Я провел аудит npm, и он показал мне, что у меня есть одна высокая уязвимость.Вот информация, которую он мне дал:
┌───────────────┬─────────────────────────────────────────────────┐
│ High │ Arbitrary File Overwrite │
├───────────────┼─────────────────────────────────────────────────┤
│ Package │ tar │
├───────────────┼─────────────────────────────────────────────────┤
│ Patched in │ >=4.4.2 │
├───────────────┼─────────────────────────────────────────────────┤
│ Dependency of │ node-sass-chokidar │
├───────────────┼─────────────────────────────────────────────────┤
│ Path │ node-sass-chokidar > node-sass > node-gyp > tar │
├───────────────┼─────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/803 |
└───────────────┴─────────────────────────────────────────────────┘
Я посмотрел свой пакет-lock.json для пакета node-gyp и обнаружил, что пакет tar по-прежнему имеет версию 2.0.0, однако мне нужен 4.4.8.:
"node-gyp": {
"version": "3.8.0",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
"integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
"requires": {
"fstream": "^1.0.0",
"glob": "^7.0.3",
"graceful-fs": "^4.1.2",
"mkdirp": "^0.5.0",
"nopt": "2 || 3",
"npmlog": "0 || 1 || 2 || 3 || 4",
"osenv": "0",
"request": "^2.87.0",
"rimraf": "2",
"semver": "~5.3.0",
"tar": "^2.0.0",
"which": "1"
},
"dependencies": {
"nopt": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
"requires": {
"abbrev": "1"
}
},
"semver": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8="
},
"tar": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
"integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
"requires": {
"block-stream": "*",
"fstream": "^1.0.2",
"inherits": "2"
}
}
}
}
Тогда я искал ту же проблему, поэтому нашел этот ответ .Затем я сделал
npm cache verify
rm -rf node_modules/
npm i -g npm npm-check-updates
ncu -g
ncu -u
npm i
, но версия для пакета tar осталась прежней.Я также попытался обновить его напрямую с помощью npm install tar@4.4.8
, но он просто поместил tar в мой package.json.Я также пробовал обновление npm и npm устаревшие.Все выглядит актуально.