Khi tôi chạy npm installnó 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 fixkế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 đó reviewcó 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 auditnó 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.jsonxem 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?