GCP - Artifact Registry Persistence

हैकट्रिक्स का समर्थन करें

Artifact Registry

आर्टिफैक्ट रजिस्ट्री के बारे में अधिक जानकारी के लिए देखें:

GCP - Artifact Registry Enum

Dependency Confusion

  • अगर एक रिमोट और एक मानक रिपॉजिटरी एक वर्चुअल में मिलाए गए हैं और एक पैकेज दोनों में मौजूद है?

  • वर्चुअल रिपॉजिटरी में सेट की गई सर्वोच्च प्राथमिकता वाला पैकेज उपयोग में लाया जाता है।

  • अगर प्राथमिकता समान है:

  • अगर संस्करण समान है, तो वर्चुअल रिपॉजिटरी में वर्चुअल रिपॉजिटरी में अक्षरों के क्रम में पहला नाम उपयोग में लाया जाता है।

  • अगर नहीं, तो सर्वोच्च संस्करण का उपयोग किया जाता है।

इसलिए, यदि रिमोट रिपॉजिटरी में एक उच्चतम संस्करण (डिपेंडेंसी कन्फ्यूजन) है तो सार्वजनिक पैकेज रजिस्ट्री में इसका दुरुपयोग किया जा सकता है अगर रिमोट रिपॉजिटरी में उच्चतम या समान प्राथमिकता है।

यह तकनीक स्थिरता और अनधिकृत पहुंच के लिए उपयोगी हो सकती है क्योंकि इसे दुरुपयोग करने के लिए यह आवश्यक है कि आर्टिफैक्ट रजिस्ट्री में संग्रहित एक पुस्तकालय का नाम पता हो और **उसी पुस्तकालय को सार्वजनिक रिपॉजिटरी में (उदाहरण के लिए पायथन के लिए PyPi) उच्च संस्करण के साथ बनाने की आवश्यकता है।

स्थिरता के लिए निम्नलिखित चरणों का पालन करना होगा:

  • आवश्यकताएं: एक वर्चुअल रिपॉजिटरी मौजूद होना चाहिए और उसका उपयोग होना चाहिए, एक आंतरिक पैकेज का उपयोग करना चाहिए जिसका नाम सार्वजनिक रिपॉजिटरी में मौजूद नहीं है

  • रिमोट रिपॉजिटरी बनाएं अगर यह मौजूद नहीं है

  • रिमोट रिपॉजिटरी को वर्चुअल रिपॉजिटरी में जोड़ें

  • वर्चुअल रजिस्ट्री की नीतियों को उच्च प्राथमिकता (या समान) देने के लिए संपादित करें। कुछ इस प्रकार चलाएं:

  • वैध पैकेज डाउनलोड करें, अपना दुरुपयोगी कोड जोड़ें और उसे सार्वजनिक रिपॉजिटरी में उसी संस्करण के साथ पंजीकृत करें। हर बार जब एक डेवलपर इसे इंस्टॉल करता है, वह आपका ही इंस्टॉल करेगा!

डिपेंडेंसी कन्फ्यूजन के बारे में अधिक जानकारी के लिए देखें:

हैकट्रिक्स का समर्थन करें

Last updated