Khi tôi chạy npm install
nó nói found 33 vulnerabilities (2 low, 31 moderate)
run `npm audit fix` to fix them, or `npm audit` for details
.
Tuy nhiên, npm audit fix
kết quả đầu raup to date in 11s
fixed 0 of 33 vulnerabilities in 24653 scanned packages
33 vulnerabilities required manual review and could not be updated
Điều đó review
có nghĩa là nó không được người dùng yêu cầu sửa chữa?
Khi tôi chạy, npm audit
nó cung cấp cho tôi danh sách các bảng, tương tự như sau:
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Prototype Pollution │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ lodash │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=4.17.5 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ browser-sync [dev] │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ browser-sync > easy-extender > lodash │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://nodesecurity.io/advisories/577 │
└───────────────┴──────────────────────────────────────────────────────────────┘
Trong ví dụ này, phần khắc phục của trang được liên kết cho biết Update to version 4.17.5 or later.
. Tuy nhiên, trong /node_modules/browser-sync/package.json
đó có những dòng:
"devDependencies": {
"lodash-cli": "4.17.5",
}
và không còn phụ thuộc vào lodash. Vì vậy, nó đã phải là v4.17.5. Tôi cũng đã kiểm tra /node_modules/lodash/lodash.json
xem có var VERSION = '4.17.10';
dòng nào. Trong /node_modules/lodash/package.json
đó có những dòng này:
"_from": "lodash@^4.17.4",
"_id": "lodash@4.17.10",
Tôi tin rằng phiên bản được hiển thị trong "_id", không phải trong "_from", vì vậy các phiên bản là chính xác nhưng lỗ hổng bảo mật vẫn xuất hiện trong danh sách kiểm tra.
Tôi vẫn là người mới trong node.js và những thông báo đó khiến tôi bối rối rất nhiều. Có cách nào để khắc phục thủ công hoặc thoát khỏi những thông báo đó, tôi không thể làm gì với?