Vulnerability Detection with Interprocedural Context in Multiple Languages: Assessing Effectiveness and Cost of Modern LLMs
यह अध्ययन C, C++ और Python में 509 इंटरप्रोसिजरल (interprocedural) कमजोरियों पर चार आधुनिक LLMs का अनुभवजन्य मूल्यांकन करता है, जो यह प्रदर्शित करता है कि कॉलर (caller) और कैली (callee) संदर्भ को शामिल करने से पहचान प्रभावशीलता में महत्वपूर्ण वृद्धि होती है और Gemini 3 Flash सर्वोत्तम लागत-प्रभावशीलता प्रदान करता है जबकि Claude Haiku 4.5 सटीक पहचान और स्पष्टीकरण में उत्कृष्ट है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक जासूस हैं जो एक विशाल, हलचल भरे शहर (सॉफ्टवेयर कोड) में अपराध को सुलझाने की कोशिश कर रहे हैं। आपका काम "कमियों" (vulnerabilities) को खोजना है—वे छिपे हुए जाल या टूटे हुए ताले जिनका उपयोग बुरे लोग घुसपैठ करने के लिए कर सकते हैं।
लंबे समय से, जासूस (और कंप्यूटर प्रोग्राम) अपराध स्थल को एक बार में एक कमरे के रूप में देख रहे हैं। वे एक अकेले कमरे (कोड के एक सिंगल फंक्शन) में प्रवेश करेंगे, चारों ओर देखेंगे, और कहेंगे, "यह सुरक्षित लग रहा है," या "यह खतरनाक लग रहा है।"
लेकिन यहाँ एक समस्या है: अपराध अक्सर कमरों के बीच होता है।
हो सकता है कि चोर ने किचन का ताला नहीं तोड़ा; बल्कि उसने लिविंग रूम में मौजूद व्यक्ति को बहला-फुसलाकर चाबियाँ ले लीं। यदि आप केवल किचन को देखते हैं, तो आप पूरी कहानी मिस कर देते हैं। इसे इंटरप्रोसिजरल वल्नरेबिलिटी (interprocedural vulnerability) कहा जाता है—एक ऐसी खामी जो केवल तब अस्तित्व में आती है जब आप देखते हैं कि कोड के विभिन्न हिस्से एक-दूसरे से कैसे बात करते हैं।
यह शोध पत्र एक बड़ा प्रयोग है यह देखने के लिए कि क्या AI जासूसों (लार्ज लैंग्वेज मॉडल्स या LLMs) का उपयोग करना बेहतर काम करता है जब हम उन्हें पूरी कहानी (कॉलर और कॉली) देते हैं, बजाय इसके कि उन्हें केवल एक सिंगल रूम दिखाया जाए।
पात्रों की टोली (AI मॉडल्स)
शोधकर्ताओं ने चार अलग-अलग AI जासूसों का परीक्षण किया, जिनमें से प्रत्येक का अलग व्यक्तित्व और कीमत है:
- Claude Haiku 4.5: सूक्ष्म, महंगी विशेषज्ञ जो बहुत विस्तृत रिपोर्ट लिखती है।
- Gemini 3 Flash: तेज़, लागत प्रभावी कार्यकर्ता जो बिना जेब खाली किए काम को अच्छी तरह से पूरा करता है।
- GPT-4.1 Mini: बजट विकल्प जो कभी-कभी बहुत अधिक जानकारी मिलने पर भ्रमित हो जाता है।
- GPT-5 Mini: एक नया, थोड़ा स्मार्ट बजट विकल्प, लेकिन फिर भी अधिक जानकारी से अभिभूत होने की संभावना रखता है।
प्रयोग: अपराध स्थल को देखने के तीन तरीके
शोधकर्ताओं ने ReposVul डेटासेट (ज्ञात सॉफ्टवेयर बग्स का एक पुस्तकालय) से 509 वास्तविक दुनिया के "अपराधों" (vulnerabilities) को लिया और AI को तीन अलग-अलग रणनीतियों का उपयोग करके उन्हें खोजने के लिए कहा:
- रणनीति A (केवल कोड): "यहाँ वह कमरा है जहाँ अपराध हुआ। क्या यह सुरक्षित है?"
- रणनीति B (कोड + कॉलर्स): "यहाँ वह कमरा है, और यहाँ वह व्यक्ति है जिसने अंदर आकर चोर को चाबियाँ थमा दीं।"
- रणनीति C (कोड + कॉलीज): "यहाँ वह कमरा है, और यहाँ वह व्यक्ति है जिसे चोर ने मदद के लिए बुलाया।"
बड़े आश्चर्य
1. "अधिक जानकारी" का मतलब हमेशा "बेहतर" नहीं होता
आप सोच सकते हैं, "यदि मैं जासूस को अधिक सुराग दूँ, तो वे इसे तेज़ी से हल करेंगे!"
वास्तविकता: कुछ जासूसों के लिए, उन्हें अधिक सुराग देने से वे वास्तव में बदतर हो गए।
- उपमा: कल्पना कीजिए कि आप घास के ढेर में सुई ढूंढ रहे हैं। यदि आप जासूस को दूसरा, बड़ा घास का ढेर (अतिरिक्त कोड संदर्भ) थमा देते हैं, तो वे अतिरिक्त घास से विचलित हो सकते हैं और सुई को मिस कर सकते हैं।
- परिणाम: GPT मॉडल्स (विशेष रूप से मिनी वर्ज़न) भ्रमित हो गए। जब शोधकर्ताओं ने अतिरिक्त संदर्भ जोड़ा, तो GPT-4.1 Mini की सटीकता भारी 25% गिर गई। यह एक ऐसे छात्र की तरह था जिसे 1-पेज के चीट शीट के बजाय 10-पेज की पाठ्यपुस्तक दी गई, और वह उत्तर ही भूल गया।
- विजेता: Claude और Gemini "स्मार्ट" जासूस थे। वे अतिरिक्त जानकारी को देख सकते थे, शोर को अनदेखा कर सकते थे, और फिर भी बग ढूंढ सकते थे। उनका प्रदर्शन चाहे कितना भी संदर्भ दिया जाए, स्थिर रहा।
2. "कड़ी मेहनत" की लागत
हर बार जब आप AI को अधिक कोड पढ़ने के लिए कहते हैं, तो इसकी एक लागत आती है (कितने "टोकन" या शब्द प्रोसेस किए जाते हैं, इसके आधार पर)।
- उपमा: एक अकेले कमरे को पढ़ने की लागत 1.00 है।
- परिणाम: अतिरिक्त संदर्भ जोड़ने से लगभग सभी के लिए लागत दोगुनी हो गई। लेकिन क्या इसने परिणाम भी दोगुना किए? नहीं। वास्तव में, GPT मॉडल्स के लिए, इसने अधिक लागत लेते हुए परिणामों को बदतर बना दिया।
- सर्वश्रेष्ठ मूल्य: Gemini 3 Flash वॉलेट के लिए स्पष्ट विजेता था। इसने लगभग पूरी तरह से (97.8% सटीकता) बग्स को खोजा, जिसकी लागत प्रति चेक लगभग $0.50 थी। यह "गोल्डिलॉक्स" मॉडल था: न बहुत महंगा, न बहुत भ्रमित।
3. भाषा का महत्व मायने रखता है
प्रयोग में तीन भाषाओं का परीक्षण किया गया: C, C++, और Python।
- C/C++: ये पुरानी, जटिल मशीनरी की तरह हैं जहाँ एक टूटा हुआ गियर पूरे इंजन को क्रैश कर सकता है। अतिरिक्त संदर्भ से मिलने वाला "शोर" यहाँ GPT मॉडल्स को सबसे अधिक नुकसान पहुँचाता है।
- Python: यह एक आधुनिक, आत्मनिर्भर ऐप की तरह है। कोड आमतौर पर साफ और अलग-थला होता है। परिणाम थोड़े मिले-जुले थे, लेकिन आम तौर पर, संदर्भ के बावजूद AI ने अच्छा प्रदर्शन किया।
4. "क्यों" का महत्व (व्याख्याएँ)
बग ढूंढना अच्छा है, लेकिन यह समझाना कि वह बग क्यों है, उससे भी बेहतर है।
- उपमा: एक डॉक्टर जो कहता है "आपका पैर टूट गया है" वह मददगार है। एक डॉक्टर जो कहता है "आपका पैर टूट गया है क्योंकि आप एक ढीले कालीन से टकरा गए थे, और यहाँ बताया गया है कि कालीन को कैसे ठीक करें" वह बेहतरीन है।
- परिणाम: Claude Haiku 4.5 सबसे अच्छा शिक्षक था। इसने 93.6% बार बग्स को सही ढंग से और स्पष्ट रूप से समझाया। हालाँकि, GPT मॉडल्स कभी-कभी गलत निदान देते थे और भ्रमित करने वाली व्याख्या भी देते थे।
निष्कर्ष
यदि आप कोड के बग खोजने के लिए सुरक्षा उपकरण बना रहे हैं:
- AI पर सब कुछ न थोपें। AI को एक फंक्शन का पूरा इतिहास (सभी कॉलर्स और कॉलीज) देना उसे भ्रमित कर सकता है, खासकर यदि आप एक छोटा, सस्ता मॉडल उपयोग कर रहे हैं। कभी-कभी, केवल विशिष्ट फंक्शन को अलग से देखना वास्तव में बेहतर होता है।
- अपने बजट के आधार पर जासूस चुनें।
- यदि आप कीमत और प्रदर्शन का सबसे अच्छा संतुलन चाहते हैं, तो Gemini 3 Flash का उपयोग करें।
- यदि आपको मानव द्वारा पढ़े जाने के लिए एक विस्तृत, उच्च-गुणवत्ता वाली व्याख्या की आवश्यकता है, तो Claude Haiku 4.5 का उपयोग करें।
- यदि आप बहुत अधिक अतिरिक्त संदर्भ देने की योजना बना रहे हैं, तो GPT Mini मॉडल्स का उपयोग करने से बचें; वे अक्सर अभिभूत हो जाते हैं।
- संदर्भ एक दोधारी तलवार है। AI सुरक्षा की दुनिया में, "अधिक डेटा" का मतलब हमेशा "बेहतर डेटा" नहीं होता है। कभी-कभी, कम ही अधिक होता है।
संक्षेप में: यह अध्ययन हमें सिखाता है कि AI शक्तिशाली है, लेकिन यह जादू नहीं है। आपको यह जानना होगा कि किस AI का उपयोग करना है, उसे कितनी जानकारी देनी है, और काम को सही ढंग से करने के लिए आप कितनी कीमत चुकाने को तैयार हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।