github - पैकेज-लॉक.जॉन में परिभाषित निर्भरता में संभावित सुरक्षा भेद्यता को ठीक करने का उचित तरीका




npm package-lock.json (6)

Github ने मुझे अपनी एक रिपॉजिटरी पर यह त्रुटि दी है।

We found a potential security vulnerability in one of your dependencies.
A dependency defined in ./package-lock.json has known security vulnerabilities 
and should be updated.

निर्भरता हमारे package.json फ़ाइल में परिभाषित नहीं है। मेरी समझ में यह package-lock.json फ़ाइल को हटाने और इसे पुन: उत्पन्न करने के लिए अच्छा अभ्यास नहीं है। हालाँकि, मैं इस समस्या को हल करने के लिए कोई अन्य तरीका नहीं देख सकता। अगर मैं इस सुरक्षा भेद्यता को खारिज करता हूं तो यह कुछ दिनों बाद फिर से दिखाई देगा। कोई विचार? धन्यवाद!


ज्ञात सुरक्षा कमजोरियाँ और अद्यतन की जानी चाहिए।

23 मई, 2019 से, अब आपके पास " डिपेंडबोट: स्वचालित सुरक्षा सुधार " है

Dependabot के एकीकरण के माध्यम से, हमने सार्वजनिक बीटा के रूप में स्वचालित सुरक्षा सुधार जारी किए हैं।

स्वचालित सुरक्षा फ़िक्सेस सुरक्षा कमजोरियों को ठीक करने के लिए GitHub द्वारा उत्पन्न अनुरोधों को खींच रहे हैं।
वे वर्कफ़्लो के एक कठिन भाग को स्वचालित करते हैं और डेवलपर्स के लिए अपनी निर्भरता को बनाए रखना आसान बनाते हैं।

" स्वचालित सुरक्षा सुधार कॉन्फ़िगर करना " पर और देखें

नोट: स्वचालित सुरक्षा फ़िक्सेस बीटा में उपलब्ध हैं और परिवर्तन के अधीन हैं।

आप किसी भी रिपॉजिटरी के लिए स्वचालित सुरक्षा सुधार सक्षम कर सकते हैं जो सुरक्षा अलर्ट और निर्भरता ग्राफ का उपयोग करता है।
हम मई 2019 से शुरू होने वाले अगले कुछ महीनों में सुरक्षा अलर्ट और निर्भरता ग्राफ का उपयोग करने वाले प्रत्येक रिपॉजिटरी में स्वचालित रूप से स्वचालित सुरक्षा सुधार को सक्षम करेंगे।


मेरी समझ में यह पैकेज-लॉक.जसन फ़ाइल को हटाने और इसे पुन: उत्पन्न करने के लिए अच्छा अभ्यास नहीं है।

फिर भी, यह वह है जो आमतौर पर इस उदाहरण में किया जाता है।
उदाहरण के लिए कोणीय / कोणीय-क्लाई अंक 8534 देखें , जिसे पीआर 8535 द्वारा हल किया जाता है।
यह अपने package-lock.json को अपडेट करने के लिए frees-io/freestyle-opscenter-webclient एक आश्रित परियोजना की ओर जाता है। package-lock.json : पीआर 31


आपको समस्याग्रस्त पैकेज के नाम की पहचान करने की कोशिश करनी चाहिए, और फिर दौड़ना चाहिए

npm install package-name

स्पष्ट रूप से पैकेज-नाम की जगह।

यह पैकेज के नवीनतम संस्करण को स्थापित करेगा, और बहुत बार, नवीनतम संस्करण ने सुरक्षा समस्या को ठीक कर दिया है। यदि आपके पास संस्करण पर एक बाधा है (उदाहरण के लिए: 1.2), तो आप हमेशा निम्न प्रयास कर सकते हैं:

npm install [email protected]^1.2

और नवीनतम पैचेड वर्जन इंस्टॉल किया जाएगा

नई: अब, npm @ 6 के साथ आप सीधे चल सकते हैं

npm audit fix


मैं एक लॉश सुरक्षा भेद्यता के साथ एक ही मुद्दा रहा था, एक परियोजना में मैं यार्न के साथ निर्माण कर रहा था। गितुब ने इन्हें सुरक्षा चिंताओं के रूप में चिह्नित किया।

मैंने एक टर्मिनल का उपयोग करके ऊपर @rileymanda से जवाब की कोशिश की: प्रोजेक्ट में cd, फिर npm ls lodash

इससे पता चला कि मेरे मामले में, त्रुटि प्रतिक्रिया-लिपियों में थी । क्विक-स्क्रिप्ट और लॉश के मुद्दों के लिए त्वरित Google ने खुलासा किया कि यह एक ज्ञात मुद्दा था।

मैंने यार्न के माध्यम से ठीक करने के लिए विभिन्न चीजों की कोशिश की - सभी बिना किसी सफलता के। npm ls lodash ने अभी भी उपयोग में लाकेश के असुरक्षित संस्करण को दिखाया।

Npm में सुधार के बारे में मैट टर्नबुल के ब्लॉग को पढ़ने के बाद मैंने यार्न से npm पर स्विच किया। ( yarn.lock को हटा ./node_modulesyarn.lock , हटाएं ./node_modules । रन ./node_modules npm install )। npm ls lodash अब नवीनतम निर्भरता संस्करणों का उपयोग किया जा रहा है - हुर्रे! गिथुब के लिए प्रतिबद्ध, और यह अब खुश था कि भेद्यता चली गई थी।

ऐसा लगता है कि यार्न ऐसे मुद्दों को अनपिक करने के लिए संघर्ष कर सकता है (या इरादा नहीं है)।

यदि आप यार्न के साथ निर्माण करते समय इस मुद्दे को प्राप्त कर रहे हैं, तो npm पर स्विच करने का प्रयास करें!


यह मेरे लिए काम करता है। अपने सभी निर्भरता की स्थापना रद्द करें और इसे फिर से स्थापित करें

उदाहरण के लिए

package.json से आपकी निर्भरता की सूची देखें

 { "name": "ebook-saler", "version": "1.0.0", "description": "App for selling ebooks", "main": "app.js", "scripts": { "start": "node app.js" }, "author": "Md Shayon", "license": "ISC", "dependencies": { "body-parser": "^1.19.0", "express": "^4.17.1", "express-handlebars": "^3.1.0", "hoek": "^6.1.3", "stripe": "^7.5.0" } } 

इसके लिए कमांड का पालन करें

 npm uninstall body-parser express express-handlebars hoek stripe npm install body-parser express express-handlebars hoek stripe git commit -m "updated" git push