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

Evaluating and Preventing Security Smells in AI-Generated Ansible Code

यह शोध पत्र प्रकट करता है कि एआई-जनित एंसिबल (Ansible) कोड में स्वाभाविक रूप से सुरक्षा संबंधी कमजोरियां होती हैं, लेकिन यह प्रदर्शित करता है कि एक विस्तारित को-स्टार (CO-STAR) ढांचे के माध्यम से प्रॉम्प्ट्स में सुरक्षा बेंचमार्क को एकीकृत करने से अनुपालन और कोड की गुणवत्ता में काफी सुधार किया जा सकता है, जिसमें शीर्ष मॉडल बिना पुनरप्रशिक्षण के लगभग पूर्ण सुरक्षा मानकों को प्राप्त करते हैं।

मूल लेखक: Pandu Ranga Reddy Konala, Vimal Kumar, David Bainbridge, Junaid Haseeb

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

मूल लेखक: Pandu Ranga Reddy Konala, Vimal Kumar, David Bainbridge, Junaid Haseeb

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

आधुनिक डिजिटल दुनिया में, लगभग हर ऑनलाइन सेवा की रीढ़ एक विशाल, अदृश्य परत है जिसे कंप्यूटर और सॉफ्टवेयर का बुनियादी ढांचा (इंफ्रास्ट्रक्चर) कहा जाता है। दशकों तक, इस बुनियादी ढांचे को स्थापित करने के लिए इंजीनियरों की टीमों को सर्वर, डेटाबेस और सुरक्षा सेटिंग्स को मैन्युअल रूप से कॉन्फ़िगर करना पड़ता था, जो एक धीमी और त्रुटिपूर्ण प्रक्रिया थी। इसे ठीक करने के लिए, उद्योग ने "इन्फ्रास्ट्रक्चर एज़ कोड" (Infrastructure as Code) नामक एक विधि को अपनाया, जहाँ पूरे सेटअप को टेक्स्ट फ़ाइलों में लिखा जाता है, बिल्कुल एक विस्तृत रेसिपी या ब्लूप्रिंट की तरह। ये टेक्स्ट फ़ाइलें कंप्यूटर को बताती हैं कि एक सिस्टम को कैसे बनाया और सुरक्षित किया जाए, जिससे तेजी से, निरंतर और स्वचालित परिनियोजन (डिप्लॉयमेंट) संभव हो पाता है। हालाँकि, जिस तरह एक सामग्री की कमी वाली रेसिपी भोजन को खराब कर सकती है, उसी तरह इन कोड फ़ाइलों में एक छोटी सी गलती भी सिस्टम को हैकर्स के लिए पूरी तरह खुला छोड़ सकती है। यदि कोड में छिपी हुई कमजोरियां हैं, जैसे कि अनएन्क्रिप्टेड पासवर्ड या अत्यधिक उदार एक्सेस नियम, तो वे क्षण भर में लाइव सिस्टम में स्थानांतरित हो जाती हैं जब उसे चालू किया जाता है।

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

टीम ने सोलह अलग-अलग आर्टिफिशियल इंटेलिजेंस मॉडल्स के डिफ़ॉल्ट व्यवहार का परीक्षण करके शुरुआत की। उन्होंने प्रत्येक मॉडल को एक विशिष्ट निर्देश सेट, जिसे 'एंसिबल रोल' (Ansible role) कहा जाता है, लिखने के लिए कहा ताकि दो सामान्य प्रकार के सॉफ्टवेयर सेटअप किए जा सकें: एक वेब सर्वर जिसे अपाचे टॉमकेट (Apache Tomcat) कहा जाता है और एक डेटाबेस सिस्टम जिसे मोंगोडीबी (MongoDB) कहा जाता है। उन्होंने मॉडल्स को कोई विशेष सुरक्षा सलाह, सुरक्षा संबंधी चेतावनियाँ या अच्छे कोड के उदाहरण नहीं दिए। उन्होंने बस मशीनों से काम करने को कहा। परिणाम तत्काल और चिंताजनक थे। सोलह में से प्रत्येक मॉडल ने ऐसा कोड तैयार किया जिसमें सुरक्षा खामियां थीं। इन खामियों में हार्ड-कोडेड पासवर्ड शामिल थे जिन्हें कोई भी पढ़ सकता था, संवेदनशील फाइलों के लिए सुरक्षा का अभाव था, और एरर हैंडलिंग की कमी थी जिसके कारण सिस्टम क्रैश हो सकता था या अप्रत्याशित व्यवहार कर सकता था। जब शोधकर्ताओं ने इस AI-जनरेटेड कोड की तुलना सार्वजनिक रिपॉजिटरी से लिखे गए मानव डेवलपर्स के कोड से की, तो AI कोड का प्रदर्शन खराब रहा। यह केवल थोड़ा दोषपूर्ण नहीं था; यह मौलिक रूप से असुरक्षित था, जो उद्योग के मानक बुनियादी सुरक्षा आवश्यकताओं को पूरा करने में विफल रहा।

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

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

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

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

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

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

Digest आज़माएँ →