SecureVibeBench: Evaluating Secure Coding Capabilities of Code Agents with Realistic Vulnerability Scenarios
यह शोध पत्र SecureVibeBench को प्रस्तुत करता है, जो सुरक्षित C/C++ कोडिंग पर कोड एजेंटों का मूल्यांकन करने के लिए 41 OSS-Fuzz प्रोजेक्ट्स से प्राप्त एक यथार्थवादी बेंचमार्क है, जो यह प्रकट करता है कि शीर्ष प्रदर्शन करने वाले एजेंट भी सही और सुरक्षित कोड उत्पन्न करने में केवल 23.8% सफलता दर प्राप्त करते हैं।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
यहाँ SECUREVIBEBENCH पेपर का सरल भाषा और रचनात्मक उपमाओं (analogies) के साथ हिंदी अनुवाद दिया गया है।
बड़ी तस्वीर: "खतरनाक इंटर्न" की समस्या
कल्पthought में एक बहुत ही स्मार्ट, तेज़ी से सीखने वाले इंटर्न (एक AI कोड एजेंट) को अपनी कंपनी के सॉफ़्टवेयर में बग्स (गलतियाँ) ठीक करने के लिए काम पर रखते हैं। आप उन्हें कार्यों की एक सूची देते हैं, और वे बिजली की गति से कोड टाइप करना शुरू कर देते हैं।
समस्या क्या है? हालांकि वे चीज़ों को काम करने लायक बनाने में बहुत अच्छे हैं, लेकिन वे सुरक्षा (safety) के मामले में आश्चर्यजनक रूप से खराब हैं। वास्तव में, पुराने बग्स को ठीक करने की कोशिश में वे अक्सर नए सुरक्षा छेद (security holes) पैदा कर देते हैं।
यह पेपर इन AI इंटर्न को टेस्ट करने के लिए एक नया "फाइनल एग्जाम" पेश करता है जिसे SECUREVIBEBENCH कहा जाता है। लक्ष्य यह देखना है: यदि हम AI को ठीक उसी स्थिति में रखें जहाँ कभी एक मानव डेवलपर ने गलती की थी, तो क्या AI वही गलती करेगा, या वह बेहतर प्रदर्शन करेगा?
पुराने टेस्ट क्यों काम नहीं आए ( "ट्रेनिंग व्हील्स" की समस्या)
इस पेपर से पहले, शोधकर्ता AI की कोडिंग क्षमताओं को "ट्रेनिंग व्हील्स" वाले परिदृश्यों (scenarios) का उपयोग करके टेस्ट करते थे।
- पुराना तरीका: वे AI को एक छोटा, अलग-थलग पड़ा पहेली जैसा टास्क देते थे (जैसे "इस एक गणित की लाइन को ठीक करो")। यह एक शेफ से टेस्ट किचन में एक अकेली गाजर काटने के लिए कहने जैसा था।
- वास्तविकता: वास्तविक सॉफ्टवेयर इंजीनियरिंग एक विशाल रेस्टोरेंट चलाने की तरह है। आपको सैकड़ों सामग्रियों (फाइलों) को संभालना पड़ता है, अन्य शेफों (कोड के अन्य हिस्सों) के साथ तालमेल बिठाना पड़ता है, और पूरे भवन को जलाने के बिना एक टूने हुए ओवन (बग) को ठीक करना होता है।
पुराने टेस्ट बहुत सरल थे। वे इस बात को पकड़ने में विफल रहे कि जब AI को एक विशाल, जटिल कोडबेस में कई फाइलें एडिट करनी होती हैं, तो वे संघर्ष करते हैं।
नया एग्जाम: SECUREVIBEBENCH
लेखकों ने प्रसिद्ध ओपन-सोर्स प्रोजेक्ट्स (जैसे OpenSSL) से 105 वास्तविक दुनिया के परिदृश्यों का उपयोग करके एक यथार्थवादी, उच्च-दांव वाला एग्जाम बनाया है। यहाँ बताया गया है कि उन्होंने इसे विशेष कैसे बनाया:
1. "टाइम मशीन" सेटअप (यथार्थवादी संदर्भ)
बनावटी समस्याएँ बनाने के बजाय, शोधकर्ताओं ने समय में पीछे जाकर काम किया। उन्होंने इतिहास के उस सटीक क्षण को खोजा जहाँ एक मानव डेवलपर ने अनजाने में एक सुरक्षा बग (security bug) पेश किया था।
- उपमा: कल्पना कीजिए कि एक जासूस को वह सटीक क्षण मिल गया है जब एक चोर ने खिड़की तोड़ी थी। AI को "टूटी हुई खिड़की ठीक करने" के लिए कहने के बजाय, वे कहते हैं, "यहाँ खिड़की टूटने से पहले की स्थिति है। इसे ऐसे ठीक करें कि यह दोबारा न टूटे, लेकिन इससे कुछ और खराब न हो।"
- ट्विस्ट: उन्होंने बग कहाँ आया, इसे सटीक रूप से पहचानने के लिए एक विशेष "टाइम मशीन" (स्टैटिक और डायनेमिक विश्लेषण का मिश्रण) का उपयोग किया, जिससे यह सुनिश्चित हुआ कि AI उसी भ्रम का सामना करे जिसका सामना इंसान ने किया था।
2. "मल्टी-फाइल" चुनौती
AI को केवल एक फाइल ठीक करने की अनुमति नहीं है। उसे कोड की एक विशाल लाइब्रेरी में नेविगेट करना होगा (कुछ प्रोजेक्ट्स में 40 लाख से अधिक लाइनें हो सकती!)।
- उपमा: यह इंटर्न को पनडुब्बी (submarine) में लीकेज ठीक करने के लिए कहने जैसा है। वे केवल छेद को पैच नहीं कर सकते; उन्हें दबाव वाल्वों (pressure valves), इंजन रूम और नेविगेशन सिस्टम को समझना होगा, और वह भी पूरी जहाज की फाइलों को एडिट करते हुए।
3. "डबल-चेक" ग्रेडिंग सिस्टम
एग्जाम केवल यह नहीं पूछता कि "क्या यह काम कर गया?" बल्कि यह दो सवाल पूछता है:
- क्या यह काम कर गया? (Functionality)
- क्या यह सुरक्षित है? (Security)
शोधकर्ता दो प्रकार के "प्रोक्टर्स" (निरीक्षकों) का उपयोग करते हैं:
- टेस्ट सुइट (Test Suite): यह देखने के लिए कोड चलाता है कि क्या यह क्रैश हो रहा है या सही ढंग से व्यवहार कर रहा है।
- सिक्योरिटी स्कैनर (SAST): एक रोबोटिक जासूस जो नए कोड को स्कैन करता है ताकि यह देखा जा सके कि AI ने अनजाने में कौन से नए छेद (holes) बना दिए हैं।
परिणाम: "अच्छी खबर, बुरी खबर" की रिपोर्ट
शोधकर्ताओं ने 5 लोकप्रिय AI एजेंटों (जैसे SWE-agent और OpenHands) का परीक्षण किया जो 5 अलग-अलग "दिमागों" (Claude और GPT जैसे LLMs) द्वारा संचालित थे।
बुरी खबर:
AI एजेंट वर्तमान में सुरक्षा के मामले में बहुत खराब हैं।
- सबसे अच्छा संयोजन (SWE-agent + Claude Sonnet 4.5) भी केवल 23.8% कार्यों को सही और सुरक्षित तरीके से पूरा कर पाया।
- इसका मतलब है कि हर 100 कार्यों में से, 76 ऐसे थे जिनके परिणामस्वरूप या तो सॉफ़्टवेयर टूट गया, या नए सुरक्षा छेद बन गए, या दोनों।
- रूपक (Metaphor): यह एक ऐसे मैकेनिक की तरह है जो आपकी कार का इंजन तो ठीक कर देता है लेकिन ब्रेक लगाना भूल जाता है। कार तेज़ चलती है, लेकिन वह खतरनाक है।
अच्छी खबर:
- AI चीज़ों को काम करने लायक बनाने (functionality) में बेहतर हो रहा है, लेकिन यह अभी भी सुरक्षा (safety) वाले हिस्से के साथ संघर्ष कर रहा है।
- अलग-अलग AI "व्यक्तित्व" (models) अलग-अलग तरीकों से विफल होते हैं। कुछ तर्क (logic) में अच्छे हैं लेकिन मेमोरी सेफ्टी में खराब हैं, अन्य इसके विपरीत हैं।
यह क्यों मायने रखता है
यह पेपर एक चेतावनी है।
- डेवलपर्स के लिए: आप अभी केवल AI पर सुरक्षित कोड लिखने के लिए भरोसा नहीं कर सकते। आपको उनके काम की दोबारा जांच करनी होगी, खासकर सुरक्षा के लिए।
- AI शोधकर्ताओं के लिए: हमें AI को सरल पहेलियों पर टेस्ट करना बंद करना होगा और इसे वास्तविक सॉफ़्टवेयर की जटिल और अव्यवस्थित वास्तविकता में टेस्ट करना शुरू करना होगा।
एक वाक्य में सारांश
SECUREVIBEBENCH एक यथार्थवादी "तनाव परीक्षण" (stress test) है जो साबित करता है कि आज के AI कोडिंग असिस्टेंट उत्साही लेकिन लापरवाह इंटर्न की तरह हैं: वे बग्स को ठीक कर सकते हैं, लेकिन प्रक्रिया के दौरान वे अक्सर सॉफ़्टवेयर की सुरक्षा को तोड़ देते हैं, और हमें उन्हें सुरक्षित रहने के बेहतर तरीके सिखाने की आवश्यकता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।