MulVul: Retrieval-augmented Multi-Agent Code Vulnerability Detection via Cross-Model Prompt Evolution
MulVul एक रिट्रीवल-ऑगमेंटेड मल्टी-एजेंट फ्रेमवर्क है जो एक कोर्स-टू-फाइन रूटिंग स्ट्रैटेजी और एक नवीन क्रॉस-मॉडल प्रॉम्प्ट इवोल्यूशन मैकेनिज्म को नियोजित करके विविध भेद्यता (वल्नरेबिलिटी) प्रकारों में काफी उच्च सटीकता प्राप्त करने के लिए सिंगल-मॉडल भेद्यता पहचान और मैनुअल प्रॉम्प्ट इंजीनियरिंग की सीमाओं को संबोधित करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप कंप्यूटर कोड की एक विशाल लाइब्रेरी में विशिष्ट प्रकार के बग्स (bugs) खोजने की कोशिश कर रहे हैं। यह एक घास के ढेर में सुई खोजने जैसा है, लेकिन यहाँ "सुइयाँ" हजारों अलग-अलग आकारों, रंगों और आकृतियों में आती हैं।
यह पेपर इस समस्या को हल करने के लिए MulVul नामक एक नई प्रणाली पेश करता है। यह कैसे काम करता है, इसे सरल उपमाओं के माध्यम से समझाया गया है:
समस्या: एक ही आकार सबके लिए सही नहीं होता (One Size Doesn't Fit All)
कल्पना कीजिए कि आपने शहर में हर तरह के अपराध को खोजने के लिए एक बहुत ही बुद्धिमान जासूस को काम पर रखा है।
- समस्या: कुछ अपराध बैंक डकैती की तरह होते हैं (जिसके लिए तालों और अलार्म के ज्ञान की आवश्यकता होती है), जबकि अन्य पहचान की चोरी (identity theft) की तरह होते हैं (जिसके लिए सोशल इंजीनियरिंग के ज्ञान की आवश्यकता होती है)। एक अकेला जासूस एक में बहुत अच्छा हो सकता है लेकिन दूसरे में बहुत खराब।
- पुराना तरीका: पिछले AI टूल्स ने हर चीज़ को एक साथ पकड़ने के लिए एक "सुपर-डिटेक्टिव" का उपयोग करने की कोशिश की। क्योंकि कोड के प्रकार बहुत अधिक हैं (130 से अधिक प्रकार!), यह एकल जासूस अक्सर भ्रमित हो जाता है, चीजें छोड़ देता है, या गलत चेतावनी (false alarms) देने लगता है।
- मैनुअल समस्या: आप AI के लिए हर प्रकार के भेद्यता (vulnerability) के लिए निर्देशों का एक विशिष्ट सेट (एक "प्रॉम्ट") लिखने की कोशिश कर सकते हैं। लेकिन सैकड़ों प्रकारों के साथ, ये निर्देश हाथ से लिखना और टेस्ट करना असंभव है—इसमें बहुत समय और पैसा लगता है।
समाधान: MulVul (विशेषज्ञों की एक टीम)
MulVul एक सामान्य विशेषज्ञ के बजाय विशेषज्ञों की एक टीम का उपयोग करके खेल बदल देता है। यह दो मुख्य चरणों में काम करता है:
1. "रूटर" (ट्रैफिक पुलिस)
जब कोड का एक टुकड़ा आता है, तो वह सभी के पास नहीं जाता। पहले, वह एक Router Agent के पास जाता है।
- यह क्या करता है: रूटर कोड को देखता है और पूछता है, "यह किस तरह की मुसीबत होने की संभावना है?" उसे सटीक बग जानने की आवश्यकता नहीं है; उसे बस व्यापक श्रेणी का अनुमान लगाने की आवश्यकता है (जैसे, "यह मेमोरी एरर जैसा दिखता है" या "यह इंजेक्शन अटैक जैसा दिखता है")।
- चाल (The Trick): यह एक Retrieval Tool का उपयोग करता है। इसे ऐसे समझें जैसे रूटर सटीक अनुमान लगाने से पहले एक अनुमान लगाने से बचने के लिए पिछले अपराधों के एक विशाल, व्यवस्थित विश्वकोश (encyclopedia) को पलट रहा है। यह उसे बेतरतीब ढंग से अनुमान लगाने से बचने में मदद करता है।
- परिणाम: यह शीर्ष 3 सबसे संभावित श्रेणियों को चुनता है और कोड को केवल उन विशेषज्ञों के पास भेजता है जो उन विशिष्ट श्रेणियों को संभालते हैं। यह समय और पैसा बचाता है।
2. "डिटेक्टर्स" (फोरेंसिक विशेषज्ञ)
एक बार जब रूटर कोड को सही विशेषज्ञों के पास भेज देता है, तो Detector Agents कार्यभार संभाल लेते हैं।
- वे क्या करते हैं: ये अत्यधिक विशिष्ट एजेंट हैं। एक केवल मेमोरी एरर को देखता है; दूसरा केवल इंजेक्शन हमलों को देखता है।
- चाल (The Trick): रूटर की तरह, वे भी एक Retrieval Tool का उपयोग करते हैं। लेकिन वे अधिक स्मार्ट हैं। वे "कॉन्ट्रास्टिव" (विपरीत) उदाहरणों की तलाश करते हैं। कल्पना करें कि एक जासूस एक समान अपराध की सच्ची कहानी और एक समान अपराध की झूठी कहानी दोनों की तुलना संदिग्ध की कहानी से कर रहा है ताकि सूक्ष्म अंतरों को पहचाना जा सके। यह उन्हें समान दिखने वाले कोड से भ्रमित हुए बिना सटीक बग को पहचानने में मदद करता है।
- अलगाव (Isolation): महत्वपूर्ण रूप से, ये डिटेक्टिव अकेले काम करते हैं। वे एक-दूसरे से बात नहीं करते हैं। यदि एक डिटेक्टिव गलती करता है, तो वह दूसरों में नहीं फैलती है, जिससे त्रुटियों की चेन रिएक्शन को रोका जा सके।
गुप्त मंत्र: "क्रॉस-मॉडल प्रॉम्ट इवोल्यूशन" (Cross-Model Prompt Evolution)
इन AI एजेंटों के लिए निर्देश (प्रॉम्ट) लिखना सबसे कठिन हिस्सा है। यदि आप एक AI को अपने लिए निर्देश लिखने के लिए कहते हैं, तो वह एक लूप में फंस सकता है, यह सोचते हुए कि उसके अपने बुरे विचार अच्छे हैं।
MulVul इस समस्या को ठीक करने के लिए एक चतुर दो-AI सिस्टम का उपयोग करता है:
- जेनेरेटर (द आर्किटेक्ट): एक AI (जैसे Claude) निर्देशों को लिखने और सुधारने की कोशिश करता है। वह अनुमान लगाता है, "शायद अगर मैं इसे इस तरह कहूँ, तो AI बेहतर करेगा।"
- एक्सेक्यूटर (द टेस्टर): एक अलग AI (जैसे GPT-4o) वास्तव में उन निर्देशों का पालन करने और बग खोजने की कोशिश करता है। वह रिपोर्ट करता है: "यह निर्देश अच्छा काम करता है" या "वह विफल रहा।"
- लूप: जेनेरेटर इस फीडबैक का उपयोग बेहतर निर्देश लिखने के लिए करता है, और टेस्टर उन्हें फिर से चेक करता है। क्योंकि वे अलग-अलग मॉडल हैं, "आर्किटेक्ट" "टेस्टर" को यह विश्वास दिलाने के लिए धोखा नहीं दे सकता कि एक बुरा विचार अच्छा है। यह निरंतर सुधार के चक्र को बनाता है जब तक कि निर्देश एकदम सही न हो जाएं।
परिणाम
लेखकों ने इस प्रणाली का परीक्षण वास्तविक दुनिया के कोड भेद्यताओं (जिसे PrimeVul कहा जाता है) के एक विशाल डेटासेट पर किया।
- स्कोर: MulVul ने 34.79% का स्कोर प्राप्त किया, जो पिछले सर्वोत्तम तरीके से 41.5% बेहतर है।
- क्यों महत्वपूर्ण है: इसने पिछले किसी भी परीक्षण की तुलना में अधिक वास्तविक बग खोजे और कम गलत अलार्म दिए।
- "इवोल्यूशन" बूस्ट: वह हिस्सा जहाँ दो AI मिलकर निर्देशों में सुधार करते हैं, ने इस सिस्टम को मैन्युअल रूप से निर्देश लिखने की तुलना में 51.6% बेहतर बना दिया।
सारांश
MulVul एक हाई-टेक सुरक्षा फर्म की तरह है जो एक ओवरवर्क्ड गार्ड पर निर्भर नहीं है। इसके बजाय, यह संदिग्धों को सही फोरेंसिक विशेषज्ञ के पास भेजने के लिए एक स्मार्ट ट्रैफिक पुलिस का उपयोग करता है, और वे विशेषज्ञ पहेली को सुलझाने के लिए पिछले मामलों के पुस्तकालय का उपयोग करते हैं। यह सुनिश्चित करने के लिए कि विशेषज्ञों को पता हो कि क्या करना है, फर्म दो अलग-अलग AI दिमागों का उपयोग करके लगातार उनके नियम पुस्तिका को फिर से लिखती और परिष्कृत करती है, जिससे यह सुनिश्चित होता है कि वे उच्चतम सटीकता के साथ सबसे खतरनाक बग को पकड़ सकें।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।