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

Prompt Structure Redistributes, Not Reduces: An Empirical Analysis of Security-Weaknesses in LLM-Generated Python Code

यह अनुभवजन्य अध्ययन प्रदर्शित करता है कि जहाँ संरचित, सुरक्षा-उन्मुख प्रॉम्प्ट्स (prompts) एलएलएम (LLM) अनुपालन में महत्वपूर्ण सुधार करते हैं और अमान्य आउटपुट को कम करते हैं, वहीं वे उत्पन्न पायथन (Python) कोड में समग्र सुरक्षा कमजोरी के प्रसार को लगातार कम करने में विफल रहते हैं, बल्कि अक्सर उच्च-गंभीरता वाली कमजोरियों को निम्न-गंभीरता वाली कमजोरियों में स्थानांतरित करके जोखिम को पुनर्वितरित करते हैं और सिमेंटिक ड्रिफ्ट (semantic drift) उत्पन्न करते हैं जो अनुरोधित कार्यक्षमता को चुपचाप बदल देता है।

मूल लेखक: Maitreyee Das Urmi, Jessica Pourleyli, Fabio Santos, Glaucia Melo

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

मूल लेखक: Maitreyee Das Urmi, Jessica Pourleyli, Fabio Santos, Glaucia Melo

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

सॉफ्टवेयर निर्माण के आधुनिक परिदृश्य में, एक नए प्रकार का सहायक उभरा है: लार्ज लैंग्वेज मॉडल्स (large language models)। ये शक्तिशाली कंप्यूटर प्रोग्राम हैं जिन्हें विशाल मात्रा में टेक्स्ट पर प्रशिक्षित किया गया है, जो साधारण अंग्रेजी में पूछे जाने पर कंप्यूटर कोड लिखने में सक्षम हैं। डेवलपर्स अपने काम की गति बढ़ाने के लिए इनका उपयोग करते हैं, जिसमें वे किसी कार्य का विवरण टाइप करते हैं और बदले में कोड का एक ब्लॉक प्राप्त करते हैं। हालाँकि, जिस तरह एक मानव लेखक सावधानीपूर्वक मार्गदर्शन न मिलने पर अनजाने में एक खतरनाक विचार शामिल कर सकता है, ये मशीनें भी छिपे हुए सुरक्षा दोषों वाले कोड उत्पन्न कर सकती हैं। इसे रोकने के लिए, इंजीनियर 'प्रॉम्प्ट इंजीनियरिंग' नामक एक तकनीक का उपयोग करते हैं, जिसमें मॉडल को सुरक्षित परिणामों की ओर निर्देशित करने के लिए विशिष्ट निर्देश तैयार किए जाते हैं। प्रचलित आशा यह रही है कि केवल मॉडल से अधिक सावधान रहने के लिए कहने या उसके उत्तर के लिए एक संरचित टेम्पलेट प्रदान करने से, हम उसके द्वारा उत्पन्न सॉफ्टवेयर में सुरक्षा संबंधी खामियों की संख्या को काफी कम कर सकते हैं।

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

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

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

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

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

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

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

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

Digest आज़माएँ →