← नवीनतम पेपर
💻 computer science

Vulnerable Code Search: Transferable Attack for Code Language Models

यह शोध पत्र एक हस्तांतरणीय, प्रोग्रामिंग भाषा-अज्ञेय (language-agnostic) प्रतिकूल हमले (adversarial attack) को प्रस्तुत करता है जो कोड पहचानकर्ताओं (code identifiers) को विचलित करता है ताकि अप्रासंगिक अंशों को लक्षित प्रश्नों के साथ कृत्रिम रूप से संरेखित किया जा सके, जिससे ओपन-सोर्स और क्लोज्ड-सोर्स दोनों कोड लैंग्वेज मॉडल्स के रिट्रीवल प्रदर्शन में महत्वपूर्ण गिरावट आती है।

मूल लेखक: Kaicheng Wang, Liyan Huang, Jesse Thomason, Weihang Wang

प्रकाशित 2026-08-27
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Kaicheng Wang, Liyan Huang, Jesse Thomason, Weihang Wang

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

आधुनिक सॉफ़्टवेयर के विशाल और विस्तृत पारिस्थितिकी तंत्र में, डेवलपर्स उन निर्माण खंडों (building blocks) को खोजने के लिए डिजिटल लाइब्रेरी पर भरोसा करते हैं जिनकी उन्हें आवश्यकता होती है। कल्पना कीजिए कि एक प्रोग्रामर डेटा को तेज़ी से लोड करने के लिए एक विशिष्ट फ़ंक्शन खोजने की कोशिश कर रहा है; वे सर्च बार में एक प्रश्न टाइप करते हैं, और एक सिस्टम को सही मिलान खोजने के लिए लाखों कोड लाइनों को तुरंत छानना पड़ता है। यह प्रक्रिया, जिसे कोड रिट्रीवल (code retrieval) कहा जाता है, उत्पादकता की रीढ़ है, जो इंजीनियरों को पहिए का पुन: आविष्कार करने के बजाय मौजूदा समाधानों का पुन: उपयोग करने की अनुमति देती है। इसे बड़े पैमाने पर काम करने के लिए, कंप्यूटर विशेष मॉडल का उपयोग करते हैं जो मानव प्रश्न और कंप्यूटर कोड दोनों को एक साझा गणितीय स्थान (mathematical space) में अनुवादित करते हैं। इस स्थान में, दो आइटम एक-दूसरे के जितने करीब होते हैं, उन्हें उतना ही समान माना जाता है। सिस्टम फिर परिणामों को रैंक करता है, सबसे प्रासंगिक कोड को शीर्ष पर रखता है। वर्षों से, उद्योग इन प्रणालियों को मजबूत होने के भरोसे करता आया है, यह मानकर कि क्योंकि कोड सही ढंग से काम करता है, इसलिए कंप्यूटर इसके उद्देश्य को समझ लेगा।

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

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

इस खोज का सबसे चिंताजनक पहलू यह है कि यह ट्रिक विभिन्न प्रणालियों में कितनी आसानी से स्थानांतरित हो जाती है। शोधकर्ताओं ने इन भ्रामक कोड स्निपेट्स को एक छोटे, ओपन-सोर्स मॉडल का उपयोग करके उत्पन्न किया, फिर भी यह ट्रिक बड़ी तकनीकी कंपनियों द्वारा उपयोग किए जाने वाले बहुत बड़े, क्लोज्ड-सोर्स सिस्टम के खिलाफ भी उतनी ही प्रभावी रही। जब उन्होंने अत्याधुनिक मॉडल्स के विरुद्ध इसका परीक्षण किया, तो सर्च इंजन का प्रदर्शन ढह गया। एक प्रयोग में, सही उत्तर खोजने की प्रणाली की क्षमता 77 प्रतिशत तक गिर गई। सर्च इंजन, जो पहले मानक परीक्षणों पर उच्च स्कोर करते थे, वास्तविक समाधान और हेरफेर किए गए छद्म (impostor) के बीच अंतर करने में विफल रहे। यह सुझाव देता है कि ये मॉडल वास्तव में कोड के अर्थ को नहीं समझ रहे हैं; इसके बजाय, वे प्रोग्राम के गहरे तर्क के बजाय, वेरिएबल नामों जैसे सतही पैटर्न पर बहुत अधिक निर्भर हैं।

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

यह भेद्यता (vulnerability) साधारण सर्च इंजन से परे तक फैली हुई है। शोधकर्ताओं ने दिखाया कि वही ट्रिक उन बड़े लैंग्वेज मॉडल्स को भी मूर्ख बना सकती है जिनका उपयोग रिपॉजिटरी से कोड जेनरेट करने के लिए किया जाता है। जब इन उन्नत सिस्टमों को हेरफेर किए गए कोड के साथ प्रस्तुत किया गया, तो पायथन, C++, और जावा सहित कई प्रोग्रामिंग भाषाओं में सही फ़ंक्शन चुनने की उनकी सटीकता तेजी से गिरी। हमला इसलिए सफल हुआ क्योंकि मॉडल उन पुनर्नामकरण किए गए आइडेंटिफायर्स (identifiers) की ओर आकर्षित हुए जो क्वेरी से मेल खाते थे, इस तथ्य को अनदेखा करते हुए कि कोड का व्यवहार अप्रासंगिक था। अध्ययन निष्कर्ष निकालता है कि उद्योग को कोड के अधिक मजबूत तरीकों की ओर बढ़ने की आवश्यकता है जो कोड के केवल टेक्स्टुअल स्वरूप के बजाय उसकी संरचना और तर्क को समझते हैं। तब तक, महत्वपूर्ण सॉफ़्टवेयर निर्णयों का मार्गदर्शन करने के लिए इन स्वचालित उपकरणों पर रखा गया विश्वास अनिश्चित बना हुआ है, जो कुछ शब्दों के सरल बदलाव के प्रति संवेदनशील है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →