← नवीनतम पेपर
🤖 machine learning

FuzzingBrain-Bench V1: Evaluating Open-Ended Bug Discovery by LLMs

यह शोध पत्र FuzzingBrain-Bench प्रस्तुत करता है, जो एक नया बेंचमार्क है जिसे 43 ओपन-सोर्स प्रोजेक्ट्स के 77 चुनौतियों में सैनिटाइज़र-इंस्ट्रूमेंटेड हार्नेस में विशिष्ट क्रैश को ट्रिगर करने वाले इनपुट उत्पन्न करने की उनकी क्षमता को मापकर लार्ज लैंग्वेज मॉडल्स की ओपन-एंडेड बग डिस्कवरी क्षमताओं का मूल्यांकन करने के लिए डिज़ाइन किया गया है।

मूल लेखक: Ze Sheng, Aleksandar Kezic, Zhicheng Chen, Jeff Huang

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

मूल लेखक: Ze Sheng, Aleksandar Kezic, Zhicheng Chen, Jeff Huang

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

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

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

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

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

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

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

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

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

Digest आज़माएँ →