स्वचालित सुरक्षा
यहां, हम कुछ तरीकों पर चर्चा करते हैं जिनसे आप एक रिपॉजिटरी में सुरक्षा जांच को स्वचालित कर सकते हैं जो GitHub रिपॉजिटरी प्रशासकों के लिए उपलब्ध हैं।
सुरक्षा कमजोरियों के साथ पुरानी निर्भरताओं का पता लगाएं और उन्हें ठीक करें
वस्तुतः हर परियोजना इन दिनों बाहरी पैकेजों पर निर्भरता लेती है। हालांकि ये घटक उत्पादकता में पर्याप्त लाभ प्रदान कर सकते हैं, वे अन्य सुरक्षा जोखिमों को पेश कर सकते हैं। इन पैकेजों के शीर्ष पर बने रहना और उनकी भेद्यता की स्थिति समय लेने वाली हो सकती है, विशेष रूप से यह देखते हुए कि प्रत्येक निर्भरता की अपनी निर्भरताएं कैसे हो सकती हैं जिन्हें ट्रैक करना और बनाए रखना मुश्किल हो सकता है। सौभाग्य से, GitHub ऐसी सुविधाएँ प्रदान करता है जो इस कार्यभार को कम करती हैं।
रिपॉजिटरी निर्भरता रेखांकन
प्रत्येक रिपॉजिटरी में शामिल एक डिफ़ॉल्ट विशेषता निर्भरता ग्राफ़ है। GitHub सामान्य पैकेज मैनिफ़ेस्ट को स्कैन करता है, जैसे package.json, requirements.txtऔर अन्य। ये ग्राफ़ परियोजना मालिकों को उन सभी निर्भरताओं को पुनरावर्ती रूप से ट्रैक करने की अनुमति देते हैं जिन पर उनकी परियोजना निर्भर करती है।
समर्थित निर्भरता मैनिफ़ेस्ट की सूची के लिए, निर्भरता ग्राफ़ के बारे मेंदेखें.
Dependabot अलर्ट
यहां तक कि एक दृश्य निर्भरता ग्राफ के साथ, यह अभी भी एक परियोजना की प्रत्येक निर्भरता के लिए नवीनतम सुरक्षा विचारों के शीर्ष पर रहने के लिए भारी हो सकता है। इस ओवरहेड को कम करने के लिए, GitHub Dependabot अलर्ट प्रदान करता है जो आपके लिए आपके निर्भरता ग्राफ़ देखते हैं। यह तब ज्ञात भेद्यता सूचियों पर संस्करणों के साथ लक्ष्य संस्करणों को क्रॉस-रेफरेंस करता है। जब जोखिम का पता चलता है, तो परियोजना को सतर्क किया जाता है। विश्लेषण के लिए इनपुट GitHub सुरक्षा सलाहकारसे आता है।
Dependabot के साथ स्वचालित निर्भरता अद्यतन
एक निर्भरता चेतावनी एक परियोजना योगदानकर्ता को अनुशंसित संस्करण के लिए अपमानजनक पैकेज संदर्भ को टक्कर दे सकती है और सत्यापन के लिए एक पुल अनुरोध बना सकती है। क्या यह बहुत अच्छा नहीं होगा यदि इस प्रयास को स्वचालित करने का कोई तरीका था? खैर, अच्छी खबर! Dependabot बस यही करता है। यह निर्भरता अलर्ट के लिए स्कैन करता है और पुल अनुरोध बनाता है ताकि योगदानकर्ता अपडेट को मान्य कर सके और अनुरोध को मर्ज कर सके।
Dependabot के लचीलेपन के बारे में अधिक जानने के लिए, Dependabot सुरक्षा अद्यतनों को कॉन्फ़िगर करनादेखें।
स्वचालित कोड स्कैनिंग
निर्भरता अलर्ट के लिए Dependabot आपके रिपॉजिटरी को कैसे स्कैन करता है, उसी तरह आप GitHub रिपॉजिटरी में कोड में सुरक्षा कमजोरियों और त्रुटियों का विश्लेषण करने और खोजने के लिए कोड स्कैनिंग का उपयोग कर सकते हैं। कोड स्कैनिंग के कई फायदे हैं। आप इसका उपयोग मौजूदा समस्याओं या संभावित सुरक्षा कमजोरियों को खोजने, ट्राइएज करने और प्राथमिकता देने के लिए कर सकते हैं। डेवलपर्स को कोड में किसी भी नई सुरक्षा समस्याओं को पेश करने से रोकने में मदद करने के लिए भी उपयोगी है।
कोड स्कैनिंग का एक अन्य लाभ इसकी CodeQL का उपयोग करने की क्षमता है। CodeQL आपको डेटा के रूप में कोड क्वेरी करने देता है, जो आपको कस्टम क्वेरी बनाने या ओपन-सोर्स समुदाय द्वारा बनाए गए प्रश्नों का उपयोग करने देता है। कोड स्कैनिंग आपको अनुकूलित करने और बनाए रखने की स्वतंत्रता देता है कि आपके रिपॉजिटरी के भीतर कोड कैसे स्कैन किया जा रहा है।
आप GitHub रिपॉजिटरी के सुरक्षा टैब में कोड-स्कैनिंग अलर्ट और वर्कफ़्लो सक्षम कर सकते हैं:
कोड स्कैनिंग और CodeQLके बारे में अधिक जानें।
गुप्त स्कैनिंग
GitHub रिपॉजिटरी के भीतर एक और स्वचालित स्कैनिंग सुविधा गुप्त स्कैनिंग है। पिछली सुरक्षा स्कैनिंग सुविधाओं के समान, गुप्त स्कैनिंग रिपॉजिटरी के भीतर किए गए ज्ञात रहस्यों या क्रेडेंशियल्स की तलाश करती है। यह स्कैनिंग धोखाधड़ी व्यवहार के उपयोग को रोकने और किसी भी संवेदनशील डेटा की अखंडता को सुरक्षित करने के लिए की जाती है। डिफ़ॉल्ट रूप से, गुप्त स्कैनिंग सार्वजनिक रिपॉजिटरी पर होती है और आप रिपॉजिटरी प्रशासकों या संगठन मालिकों द्वारा निजी रिपॉजिटरी पर गुप्त स्कैनिंग को सक्षम कर सकते हैं।
जब गुप्त स्कैनिंग क्रेडेंशियल्स के एक सेट का पता लगाती है, तो GitHub उस सेवा प्रदाता को सूचित करता है जिसने रहस्य जारी किया था। सेवा प्रदाता क्रेडेंशियल सत्यापित करता है। फिर, यह तय करता है कि उन्हें रहस्य को रद्द करना चाहिए, एक नया रहस्य जारी करना चाहिए, या सीधे आप तक पहुंचना चाहिए। कार्रवाई आपके या सेवा प्रदाता से जुड़े जोखिमों पर निर्भर करती है।
सार्वजनिक और निजी रिपॉजिटरी के लिएसीक्रेट स्कैनिंग के बारे में अधिक जानें।