साइबर सुरक्षा

मशीन में मौजूद साया: कैसे अदृश्य यूनिकोड गिटहब सप्लाई चेन को खतरे में डाल रहा है

शोधकर्ताओं ने कोड छिपाने के लिए अदृश्य यूनिकोड का उपयोग करने वाले 151 दुर्भावनापूर्ण गिटहब पैकेजों का पता लगाया है। जानें कि यह सप्लाई-चेन हमला कैसे काम करता है और अपने कोड की सुरक्षा कैसे करें।
मशीन में मौजूद साया: कैसे अदृश्य यूनिकोड गिटहब सप्लाई चेन को खतरे में डाल रहा है

सप्लाई-चेन सुरक्षा लंबे समय से चूहे और बिल्ली का खेल रही है, लेकिन ऐकिडो सिक्योरिटी (Aikido Security) के शोधकर्ताओं द्वारा की गई एक हालिया खोज से पता चलता है कि चूहे ने अदृश्य होने का रास्ता खोज लिया है। 3 मार्च और 9 मार्च, 2026 के बीच, एक परिष्कृत अभियान ने गिटहब (GitHub) और अन्य प्रमुख रिपॉजिटरी को 151 दुर्भावनापूर्ण पैकेजों से भर दिया। अतीत के टाइपोस्क्वैटिंग (typosquatting) हमलों के विपरीत, जो किसी लाइब्रेरी के नाम की गलत वर्तनी लिखने वाले उपयोगकर्ताओं पर निर्भर थे, इन पैकेजों ने कोड के भीतर दुर्भावनापूर्ण लॉजिक को छिपाने के लिए अदृश्य यूनिकोड वर्णों का उपयोग किया।

यह तकनीक इस बात में एक महत्वपूर्ण विकास का प्रतिनिधित्व करती है कि हमलावर ओपन-सोर्स इकोसिस्टम में निहित विश्वास का फायदा कैसे उठाते हैं। उन वर्णों का लाभ उठाकर जिन्हें मानवीय आँखें नहीं देख सकतीं, लेकिन कंपाइलर और इंटरप्रेटर सटीक रूप से प्रोसेस करते हैं, हमलावर मैन्युअल कोड समीक्षाओं और पारंपरिक सुरक्षा स्कैनर्स को सफलतापूर्वक बायपास कर रहे हैं।

अदृश्यता की कार्यप्रणाली

इस हमले के केंद्र में यूनिकोड की जटिलता निहित है—जो लगभग हर लेखन प्रणाली के वर्णों को एनकोड करने का अंतरराष्ट्रीय मानक है। जबकि हम में से अधिकांश यूनिकोड को इमोजी या एक्सेंट वाले अक्षरों के रूप में सोचते हैं, इस मानक में विभिन्न प्रकार के "नॉन-प्रिंटिंग" वर्ण भी शामिल हैं। इनमें जीरो-विड्थ स्पेस, डायरेक्शनल ओवरराइड और जॉइनर्स शामिल हैं जो स्क्रीन पर कोई दृश्य स्थान नहीं घेरते हैं।

जब एक डेवलपर पुल रिक्वेस्ट (pull request) की समीक्षा करता है या लाइब्रेरी के सोर्स कोड का निरीक्षण करता है, तो उनका IDE या टेक्स्ट एडिटर आमतौर पर इन वर्णों को बिल्कुल भी प्रदर्शित नहीं करता है। हालाँकि, पायथन इंटरप्रेटर या जावास्क्रिप्ट इंजन के लिए, ये वर्ण अलग डेटा पॉइंट होते हैं। एक हमलावर किसी स्ट्रिंग या कमेंट के अंदर एक दुर्भावनापूर्ण पेलोड डाल सकता है जो इंसान को खाली दिखता है लेकिन कोड चलने पर कमांड निष्पादित करता है।

उदाहरण के लिए, एक हमलावर "राइट-टू-लेफ्ट ओवरराइड" (U+202E) वर्ण का उपयोग कर सकता है। यह वर्ण अरबी या हिब्रू जैसी भाषाओं का समर्थन करने के लिए डिज़ाइन किया गया है जो इसके बाद आने वाले टेक्स्ट की दिशा को उलट देता है। एक दुर्भावनापूर्ण संदर्भ में, इसका उपयोग annoying_executable.exe.txt नामक फ़ाइल को annoying_txt.exe के रूप में दिखाने के लिए किया जा सकता है, जिससे उपयोगकर्ता को एक ऐसा प्रोग्राम चलाने के लिए धोखा दिया जा सके जिसे वे एक साधारण टेक्स्ट फ़ाइल समझते हैं।

पारंपरिक सुरक्षा प्रणालियाँ क्यों विफल हैं

लगभग एक दशक से, सप्लाई-चेन सुरक्षा "टाइपोस्क्वैटिंग" और "डिपेंडेंसी कन्फ्यूजन" पर केंद्रित रही है। सुरक्षा उपकरण requests के बजाय requesst जैसे नामों वाले पैकेजों को फ्लैग करने के लिए बनाए गए थे। ये उपकरण ज्ञात खराब स्ट्रिंग्स के पैटर्न मिलान में उत्कृष्ट हैं, लेकिन वे उस चीज़ के साथ संघर्ष करते हैं जो वहां दिखाई ही नहीं देती।

कई पुराने स्टेटिक एनालिसिस सिक्योरिटी टेस्टिंग (SAST) उपकरण कमजोरियों को खोजने के लिए रेगुलर एक्सप्रेशन (regex) पर निर्भर करते हैं। यदि कोई regex विशेष रूप से नॉन-प्रिंटिंग यूनिकोड रेंज को खोजने के लिए कॉन्फ़िगर नहीं किया गया है, तो वह बस उन्हें छोड़ देगा। इसके अलावा, क्योंकि ये वर्ण वैध यूनिकोड हैं, वे आवश्यक रूप से "विकृत फ़ाइल" (malformed file) अलर्ट को ट्रिगर नहीं करते हैं। कोड सिंटैक्टिक रूप से सही रहता है, भले ही उसका व्यवहार छिपा हुआ हो।

सप्लाई-चेन हमला वेक्टरों की तुलना

इस नई लहर की गंभीरता को समझने के लिए, रिपॉजिटरी पॉइजनिंग के अधिक पारंपरिक तरीकों के साथ इसकी तुलना करना सहायक है।

हमला विधि प्राथमिक तंत्र मनुष्यों के लिए दृश्यता पहचान की कठिनाई
टाइपोस्क्वैटिंग गलत वर्तनी वाले पैकेज नाम उच्च (यदि ध्यान से देखें) कम
डिपेंडेंसी कन्फ्यूजन आंतरिक बनाम सार्वजनिक नामों का शोषण कम मध्यम
अदृश्य यूनिकोड सोर्स में नॉन-प्रिंटिंग वर्ण शून्य उच्च
अकाउंट टेकओवर मेंटेनर क्रेडेंशियल की चोरी कोई नहीं बहुत उच्च

मार्च 2026 की घटना

ऐकिडो सिक्योरिटी द्वारा पहचाने गए 151 पैकेज केवल प्रूफ-ऑफ-कॉन्सेप्ट नहीं थे; वे डेवलपर मशीनों से एनवायरनमेंट वेरिएबल्स, SSH कीज़ और क्लाउड क्रेडेंशियल चुराने के सक्रिय प्रयास थे। जब तक शोधकर्ताओं ने इस अभियान को चिन्हित किया, तब तक इनमें से कुछ पैकेज पहले से ही स्वचालित बिल्ड पाइपलाइनों में एकीकृत हो चुके थे, जो उस गति को उजागर करता है जिस पर ये खतरे फैलते हैं।

जो चीज़ इस विशिष्ट अभियान को उल्लेखनीय बनाती है, वह छह दिनों की अवधि में जारी किए गए पैकेजों की भारी संख्या है। यह हमलावर की ओर से उच्च स्तर के ऑटोमेशन का सुझाव देता है, जो संभवतः लोकप्रिय लाइब्रेरी के "शैडो" संस्करण बनाने और सामान्य उपयोगिता फ़ंक्शनों में अदृश्य पेलोड इंजेक्ट करने के लिए स्क्रिप्ट का उपयोग कर रहे हैं।

अपनी पाइपलाइन को कैसे सुरक्षित रखें

जैसे-जैसे हमलावर अदृश्य खतरों की ओर बढ़ रहे हैं, डेवलपर्स और DevOps इंजीनियरों को अपनी रक्षात्मक स्थिति को अनुकूलित करना चाहिए। केवल दृश्य निरीक्षण पर निर्भर रहना अब पर्याप्त नहीं है। अदृश्य कोड इंजेक्शन के जोखिम को कम करने के लिए यहाँ व्यावहारिक कदम दिए गए हैं:

  • IDEs में यूनिकोड चेतावनियाँ सक्षम करें: VS Code और IntelliJ जैसे आधुनिक एडिटर्स में प्लगइन्स या नेटिव सेटिंग्स होती हैं जो "अस्पष्ट" या नॉन-प्रिंटिंग वर्णों को हाइलाइट करती हैं। सुनिश्चित करें कि ये आपके संगठन के सभी लोगों के लिए चालू हैं।
  • यूनिकोड चेक के साथ लिंटर्स लागू करें: ऐसे लिंटर्स का उपयोग करें जो विशेष रूप से सोर्स कोड में गैर-ASCII वर्णों को फ्लैग करते हैं जब तक कि उन्हें स्पष्ट रूप से अनुमति न दी गई हो (जैसे, लोकलाइजेशन फ़ाइलों में)।
  • लॉकफाइल्स और पिनिंग का उपयोग करें: हमेशा विशिष्ट हैश के साथ package-lock.json, poetry.lock, या requirements.txt का उपयोग करें। यह आपके बिल्ड सिस्टम को किसी डिपेंडेंसी के दुर्भावनापूर्ण "नवीनतम" संस्करण को स्वचालित रूप से खींचने से रोकता है।
  • अपने CI/CD लॉग्स का ऑडिट करें: बिल्ड प्रक्रिया के दौरान अप्रत्याशित नेटवर्क आउटबाउंड कॉल की तलाश करें। दुर्भावनापूर्ण पैकेज अक्सर इंस्टॉलेशन के तुरंत बाद चोरी किए गए क्रेडेंशियल्स के साथ "फोन होम" करने की कोशिश करते हैं।

आगे की राह

इन 151 पैकेजों की खोज एक गंभीर अनुस्मारक है कि ओपन-सोर्स सप्लाई चेन विकसित होते शिकारियों के साथ एक जीवित पारिस्थितिकी तंत्र है। अदृश्य यूनिकोड हमलों की ओर बदलाव दर्शाता है कि हमलावर सोशल इंजीनियरिंग से दूर तकनीकी अस्पष्टता (obfuscation) की ओर बढ़ रहे हैं जो मानवीय धारणा की सीमाओं का फायदा उठाती है।

जैसे-जैसे हम 2026 में आगे बढ़ रहे हैं, उद्योग को डिपेंडेंसी के लिए "जीरो ट्रस्ट" मॉडल की ओर बढ़ना चाहिए। हम अब यह मानकर नहीं चल सकते कि कोड सुरक्षित है सिर्फ इसलिए क्योंकि यह स्क्रीन पर साफ दिखता है। सत्यापन एल्गोरिथम, स्वचालित और इतना गहरा होना चाहिए कि वह देख सके जिसे मानवीय आँख नहीं देख सकती।

स्रोत

bg
bg
bg

आप दूसरी तरफ देखिए।

हमारा एंड-टू-एंड एन्क्रिप्टेड ईमेल और क्लाउड स्टोरेज समाधान सुरक्षित डेटा एक्सचेंज का सबसे शक्तिशाली माध्यम प्रदान करता है, जो आपके डेटा की सुरक्षा और गोपनीयता सुनिश्चित करता है।

/ एक नि: शुल्क खाता बनाएं