पिछले महीने मुझे पता चला इस लेख डार्क रीडिंग से. बड़ी जानी पहचानी लगी। मुझे यह समझने में देर नहीं लगी कि लेख में चर्चा की गई GitHub क्रॉस-वर्कफ़्लो आर्टिफैक्ट विषाक्तता भेद्यता GitHub क्रॉस-वर्कफ़्लो से काफी मिलती-जुलती है। कैश विषाक्तता हमने मार्च 2022 में भेद्यता की सूचना दी थी।
GitHub वर्कफ़्लोज़- GitHub CI/CD पाइपलाइनों का एक प्रमुख घटक
GitHub वर्कफ़्लो का उपयोग उन विशिष्ट क्रियाओं को परिभाषित करने के लिए किया जाता है जिन्हें CI/CD पाइपलाइन के भाग के रूप में लिया जाना चाहिए। वे स्वचालित प्रक्रियाएं हैं जिन्हें GitHub रिपॉजिटरी में विशिष्ट घटनाओं द्वारा ट्रिगर किया जा सकता है। उदाहरण के लिए, ऐसी घटनाएँ तब होती हैं जब कोड को रिपॉजिटरी में धकेला जाता है, जब एक पुल अनुरोध खोला या बंद किया जाता है, या जब एक नई रिलीज़ प्रकाशित की जाती है।
वर्कफ़्लो एक YAML फ़ाइल का उपयोग करके बनाए जाते हैं, जो वर्कफ़्लो ट्रिगर होने पर की जाने वाली कार्रवाइयों को निर्दिष्ट करता है। ऐसी कार्रवाइयां डेवलपर द्वारा लिखी जा सकती हैं या GitHub के बाज़ार से पूरी सामग्री ली जा सकती हैं जहां 10,000 से अधिक पूर्वनिर्मित कार्रवाइयां डाउनलोड और उपयोग की जा सकती हैं।
वर्कफ़्लोज़ एक या अधिक नौकरियों से बने होते हैं, जिन्हें चरणों की एक श्रृंखला के रूप में परिभाषित किया जाता है। चरण विभिन्न प्रकार की कार्रवाइयां हो सकते हैं, जैसे परीक्षण चलाना, कोड परिनियोजित करना, या पैकेज प्रकाशित करना।
GitHub वर्कफ़्लो एक शक्तिशाली उपकरण है जो डेवलपर्स को अपने वर्कफ़्लो को स्वचालित और सुव्यवस्थित करने, समय और प्रयास बचाने और उनकी सॉफ़्टवेयर विकास प्रक्रिया की विश्वसनीयता में सुधार करने में मदद कर सकता है, लेकिन वे अपनी अंतर्निहित खामियों के बिना नहीं हैं।
ऐसे कई संभावित सुरक्षा मुद्दे हैं जो GitHub वर्कफ़्लो का उपयोग करते समय उत्पन्न हो सकते हैं। यहां कुछ सामान्य बातें दी गई हैं:
- अनाधिकृत उपयोग: जो वर्कफ़्लो ठीक से कॉन्फ़िगर या सुरक्षित नहीं हैं, उन्हें संभावित रूप से अनधिकृत उपयोगकर्ताओं द्वारा एक्सेस और ट्रिगर किया जा सकता है। इससे उन्हें मनमाना कोड निष्पादित करने या अन्य अनधिकृत कार्य करने की अनुमति मिल सकती है।
- रहस्य रिसाव: वर्कफ़्लो को बाहरी संसाधनों तक पहुंचने या कुछ कार्यों को करने के लिए अक्सर एपीआई कुंजी या पासवर्ड जैसे रहस्यों के उपयोग की आवश्यकता होती है। यदि इन रहस्यों को ठीक से संरक्षित नहीं किया गया, तो वे संभावित रूप से लीक हो सकते हैं, जिससे सुरक्षा उल्लंघन हो सकता है।
- असुरक्षित निर्भरताएस: वर्कफ़्लो जो बाहरी पुस्तकालयों या निर्भरताओं पर निर्भर हैं, यदि वे निर्भरताएँ सुरक्षित नहीं हैं तो संभावित रूप से हमलों के प्रति संवेदनशील हो सकते हैं। यह सुनिश्चित करने के लिए कि निर्भरताएँ सुरक्षित हैं, नियमित रूप से समीक्षा और अद्यतन करना महत्वपूर्ण है।
- इनपुट सत्यापन और स्वच्छता का अभाव: वर्कफ़्लो जो इनपुट को ठीक से मान्य नहीं करते हैं, उनका संभावित रूप से मनमाना कोड निष्पादित करने या अन्य अनधिकृत कार्य करने के लिए शोषण किया जा सकता है।
आइए ऊपर उल्लिखित लेखों में चर्चा की गई दो क्रॉस-वर्कफ़्लो कमजोरियों पर करीब से नज़र डालें।
क्रॉस-वर्कफ़्लो आर्टिफैक्ट विषाक्तता
GitHub वर्कफ़्लो कलाकृतियाँ CI/CD पाइपलाइनों में किए गए कार्य के उत्पाद हैं। आम तौर पर, प्रत्येक वर्कफ़्लो को ऐसी कलाकृतियों को संग्रहीत करने के लिए अपनी स्वयं की बाल्टी मिलती है लेकिन कभी-कभी वर्कफ़्लो को अन्य वर्कफ़्लो द्वारा बनाई गई कलाकृतियों तक पहुंचने की आवश्यकता होती है। GitHub वर्कफ़्लोज़ को अलग-अलग वर्कफ़्लोज़ से स्टोरेज/कलाकृतियों तक पहुँचने की अनुमति नहीं देता है। इससे बचने के लिए एक GitHub-अनुमोदित API है जो बुनियादी फ़िल्टरिंग के आधार पर कलाकृतियों को डाउनलोड करने की अनुमति देता है। समस्या यह है कि एपीआई उन कलाकृतियों के बीच अंतर नहीं करता है जो फोर्कड रिपॉजिटरी द्वारा अपलोड किए गए थे और जो बेस रिपॉजिटरी द्वारा अपलोड किए गए थे। इसका मतलब है कि फोर्क्ड रिपॉजिटरी द्वारा बनाई गई संभावित जहरीली कलाकृतियों को अपलोड करना एक वास्तविक और वर्तमान खतरा है।
इस समस्या को दूर करने के लिए, GitHub ने कलाकृतियों को डाउनलोड करते समय अतिरिक्त जानकारी, साथ ही विरूपण साक्ष्य मेटाडेटा प्रदान करना शुरू कर दिया। यह जानकारी लेखक को यह सुनिश्चित करने में मदद करने के लिए डिज़ाइन की गई है कि वे सही आर्टिफैक्ट डाउनलोड कर रहे हैं। क्रॉस-वर्कफ़्लो कलाकृतियों के मूल मुद्दे को इस समय GitHub द्वारा कोई समस्या नहीं माना जाता है। इस मुद्दे के बारे में अधिक जानने के लिए, देखें लेख उपर्युक्त।
क्रॉस-वर्कफ़्लो कैश विषाक्तता
GitHub CI/CD पाइपलाइन को तेज़ करने के लिए कलाकृतियों और पैकेजों की कैशिंग की अनुमति देता है। प्रत्येक वर्कफ़्लो के लिए आवश्यक कलाकृतियों और पैकेजों को बार-बार डाउनलोड करने के बजाय, उन्हें कैश किया जा सकता है और विभिन्न वर्कफ़्लो में उपयोग किया जा सकता है।
चूंकि कैश को वर्कफ़्लो के बीच साझा किया जाता है, इसलिए इसे बदलने की अनुमति के साथ कैश का उपयोग करके वर्कफ़्लो में केवल एक उल्लंघन की आवश्यकता होती है, और उस कैश को निम्नलिखित सभी वर्कफ़्लो उपयोगों के लिए ज़हर दिया जा सकता है। चूंकि कैश को केवल तभी अपडेट किया जाता है जब डाउनलोड करने के लिए कोई नया आर्टिफैक्ट या पैकेज होता है, इसका मतलब है कि एक जहरीला कैश लंबे समय तक सक्रिय हो सकता है, जो उस पाइपलाइन में चलाए जा रहे सॉफ़्टवेयर बिल्ड के अनगिनत पुनरावृत्तियों को प्रभावित कर सकता है।
GitHub संभावित रूप से ज़हरीले कैश के मुद्दे को कोई समस्या नहीं मानता है। कैश एक उपयोगी सुविधा है और वर्कफ़्लो के बीच साझा करने की इसकी क्षमता को इस समय बग या पूर्ण सुरक्षा समस्या नहीं माना जाता है। इस मुद्दे के बारे में अधिक जानने के लिए, देखें लेख उपर्युक्त।
अन्य कम ज्ञात GitHub कमजोरियाँ और उनसे बचाव कैसे करें
GitHub दुनिया में सबसे लोकप्रिय सोर्स कंट्रोल मैनेजमेंट (SCM) सिस्टम में से एक है। इस प्रकार, इसकी सीआई/सीडी पाइपलाइन, क्रियाओं और वर्कफ़्लो का उपयोग करके सॉफ़्टवेयर बनाने और वितरित करने के लिए भी इसका व्यापक रूप से उपयोग किया जाता है।
लोगों को यह याद रखना होगा कि GitHub कोड साझाकरण और संयुक्त विकास की सुविधा के लिए बनाया गया था। यह मूल रूप से ओपन-सोर्स डेवलपर्स के लिए डिज़ाइन किया गया था और एंटरप्राइज़ और संगठनात्मक खाता क्षमताओं को बाद में जोड़ा गया था। इसके मूल में, सुरक्षा प्रणाली की प्रमुख चिंता नहीं थी। तथ्य यह है कि आपको एक करने की आवश्यकता है विशेष व्यवस्था GitHub पर अपने खाते पर सुरक्षा सुविधाओं को सक्षम करने का मतलब है कि यह विचार कि Git का उपयोग करके आप स्वाभाविक रूप से अधिक सुरक्षित हैं, केवल एक भ्रम है।
इस महीने के अंत में, स्क्राइब मेजबानी करेगा तज़ाची ज़ोर्नस्टेनगिटहब में ऐसे कुछ संभावित सॉफ्टवेयर आपूर्ति श्रृंखला के नुकसान के बारे में बात करने के लिए एक वेबिनार में चेकमार्क्स में सॉफ्टवेयर सप्लाई चेन के प्रमुख।
यदि आप कमजोरियों के इस कम-ज्ञात वर्ग के बारे में अधिक जानना चाहते हैं और उनसे बचाव कैसे करें, तो इस ऑन-डिमांड को सुनें वेबिनार।
यह सामग्री आपके लिए स्क्राइब सिक्योरिटी द्वारा लाई गई है, जो एक अग्रणी एंड-टू-एंड सॉफ्टवेयर आपूर्ति श्रृंखला सुरक्षा समाधान प्रदाता है - जो संपूर्ण सॉफ्टवेयर आपूर्ति श्रृंखलाओं में कोड कलाकृतियों और कोड विकास और वितरण प्रक्रियाओं के लिए अत्याधुनिक सुरक्षा प्रदान करता है। और अधिक जानें.