
Go पैकेज क्षमताओं का विश्लेषण करने के लिए CLI उपकरण, विशेषाधिकार प्राप्त मानक लाइब्रेरी संचालनों के लिए संक्रामक कॉलों का पता लगाकर, जो आपूर्ति श्रृंखला जोखिम मूल्यांकन और न्यूनतम-विशेषाधिकार प्रवर्तन को सक्षम करता है।

Capslock एक क्षमता विश्लेषण CLI है Go पैकेजों के लिए जो उपयोगकर्ताओं को सूचित करता है कि किसी दिए गए पैकेज द्वारा कौन से विशेषाधिकार प्राप्त संचालन तक पहुँचा जा सकता है। यह Go पैकेजों की क्षमताओं को वर्गीकृत करके काम करता है, जो विशेषाधिकार प्राप्त मानक पुस्तकालय संचालनों के लिए ट्रांज़िटिव कॉल का अनुसरण करता है।
ओपन सोर्स सॉफ्टवेयर को लक्षित करने वाले सप्लाई चेन हमलों में हालिया वृद्धि ने इस बात पर प्रकाश डाला है कि तीसरे पक्ष की निर्भरताओं पर स्वाभाविक रूप से भरोसा नहीं किया जाना चाहिए। क्षमताएँ इंगित करती हैं कि किसी पैकेज के पास कौन सी अनुमतियाँ हैं, और अन्य सुरक्षा संकेतों के साथ यह इंगित करने के लिए इस्तेमाल किया जा सकता है कि किस कोड को भरोसेमंद माने जाने से पहले अतिरिक्त जांच की आवश्यकता है।
वर्तमान सुरक्षा विश्लेषण पैकेजों में कमजोरियों की पहचान करने पर बहुत अधिक ध्यान केंद्रित करता है -- नए CVEs की पहचान होने की दर को देखते हुए यह एक महत्वपूर्ण लक्ष्य है। इस विश्लेषण को पूरक करने के लिए, हम पैकेजों की क्षमताओं पर सचेत कर रहे हैं, जिसका अर्थ है कि हम पहचान रहे हैं कि पैकेज के पास विशेषाधिकार प्राप्त पहुँच वाले मानक पुस्तकालय कार्यों पर इसकी ट्रांज़िटिव निर्भरताओं के माध्यम से कौन सी अनुमतियाँ हैं।
इसके कई संभावित अनुप्रयोग हैं, जैसे कि पैकेजों के उद्देश्य की पहचान करना यह देखकर कि वे किन क्षमताओं का उपयोग करते हैं, सुरक्षा समीक्षाओं को अधिक विशेषाधिकार प्राप्त कोड पथों पर निर्देशित करना, और यहाँ तक कि अप्रत्याशित क्षमता परिवर्तनों पर सचेत करना ताकि संभावित सप्लाई चेन खतरों को एक समस्या बनने से पहले रोका जा सके।
यह न्यूनतम विशेषाधिकार के सिद्धांत से प्रेरित है -- यह विचार कि पहुँच को न्यूनतम सेट तक सीमित किया जाना चाहिए जो संभव और व्यावहारिक हो। हम इसे सॉफ्टवेयर विकास पर लागू करने का इरादा रखते हैं ताकि यह सुनिश्चित किया जा सके कि कोड को उन क्षमताओं के न्यूनतम सेट तक सीमित किया जा सके जो इसके इच्छित उद्देश्य को पूरा करने के लिए आवश्यक हैं।
अपनी निर्भरताओं में क्षमताओं के बारे में अधिक जानने के लिए, Capslock स्थापित करें
go install github.com/google/capslock/cmd/capslock@latest
फिर आप Capslock को उन पैकेजों के पथ से capslock चलाकर आमंत्रित कर सकते हैं जिनका आप विश्लेषण करना चाहते हैं।
सावधानियाँ फ़ाइल देखें।
योगदान फ़ाइल देखें।