← नवीनतम पेपर
🤖 AI

LLAMAFUZZ: Large Language Model Enhanced Greybox Fuzzing

LLAMAFUZZ एक नवीन ग्रेबॉक्स फज़र है जो संरचित इनपुट को प्रभावी ढंग से उत्पन्न करने और उत्परिवर्तित करने के लिए लार्ज लैंग्वेज मॉडल्स के प्री-ट्रेन्ड ज्ञान और फाइन-ट्यून्ड क्षमताओं का लाभ उठाता है, जो विभिन्न वास्तविक दुनिया के प्रोग्रामों में कोड कवरेज और बग डिस्कवरी के मामले में AFL++ जैसे मौजूदा टूल्स से काफी बेहतर प्रदर्शन करता है।

मूल लेखक: Hongxiang Zhang, Yuyang Rong, Yifeng He, Hao Chen

प्रकाशित 2026-03-18
📖 5 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Hongxiang Zhang, Yuyang Rong, Yifeng He, Hao Chen

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

कल्पना कीजिए कि आप एक जटिल, बंद खजाने के संदूक (एक कंप्यूटर प्रोग्राम) के अंदर छिपे हुए जाल (बग्स) खोजने की कोशिश कर रहे हैं। संदूक को खोलने के लिए, आपको उसे विशिष्ट चाबियाँ (इनपुट डेटा) देनी होंगी। यदि चाबी थोड़ी भी गलत हुई, तो संदूक उसे अस्वीकार कर देगा, और आपको कुछ भी पता नहीं चलेगा।

वर्षों से, सुरक्षा शोधकर्ता एक विधि का उपयोग करते आए हैं जिसे "फज़िंग" (Fuzzing) कहा जाता है। वे संदूक पर हजारों रैंडम चाबियाँ फेंकते हैं ताकि यह देख सकें कि कौन सी चाबी उसे तोड़कर खोल देती है।

समस्या: "आंखों पर पट्टी बांधने वाला" दृष्टिकोण

पारंपरिक फज़िंग टूल्स (जैसे AFL++) अंधे मुंडों की तरह हैं जो बोर्ड पर तीर फेंक रहे हैं।

  • यह कैसे काम करता है: यह डेटा के बिट्स (0s और 1s) को रैंडम तरीके से बदल देता है।
  • समस्या: आधुनिक प्रोग्राम अक्सर बहुत विशिष्ट, संरचित स्वरूपों (जैसे JSON फ़ाइल, XML दस्तावेज़, या PNG इमेज) की आवश्यकता रखते हैं।
  • उपमा: कल्पना कीजिए कि खजाने के संदूक को सोने की एक विशेष आकार वाली चाबी चाहिए। आंखों पर पट्टी बांधा हुआ बंदर बस एक पत्थर को रैंडम तरीके से तराश रहा है, इस उम्मीद में कि शायद गलती से एक सोने की चाबी बन जाए। यह हो सकता है, लेकिन इसमें बहुत समय लगता है, और ज्यादातर समय, वह पत्थर सिर्फ धूल (अमान्य डेटा) में बदल जाता है जिसे संदूक अनदेखा कर देता है।

समाधान: "स्मार्ट आर्किटेक्ट" (LLAMAFUZZ)

इस पेपर के लेखकों ने LLAMAFUZZ के साथ, अंधे मुंडों को एक स्मार्ट आर्किटेक्ट (एक लार्ज लैंग्वेज मॉडल, या LLM) से बदलने का निर्णय लिया।

LLM को एक ऐसे मास्टर शिल्पकार के रूप में सोचें जिसने लाखों ब्लूप्रिंट पढ़े हैं। वह समझता है कि एक सोने की चाबी वास्तव में कैसी दिखनी चाहिए, उसके हिस्से कैसे फिट होते हैं, और यदि आप इसके किसी एक हिस्से को बदलते हैं तो क्या होता है।

यहाँ बताया गया है कि LLAMAFUZZ कैसे काम करता है, जिसे सरल चरणों में विभाजित किया गया है:

1. प्रशिक्षण चरण (आर्किटेक्ट को सिखाना)

शिकार शुरू होने से पहले, शोधकर्ता LLM को हजारों "अच्छी चाबियों" और "टूटी हुई चाबियों जो लगभग काम कर गई थीं" के उदाहरण दिखाते हैं।

  • वे LLM को सिखाते हैं: "यदि आप इस XML फ़ाइल के इस हिस्से को बदलते हैं, तो टैग्स का संतुलन बनाए रखें। यदि आप इस इमेज हेडर को बदलते हैं, तो सिग्नेचर को बरकरार रखें।"
  • परिणाम: LLM डेटा की "व्याकरण" (Grammar) सीख जाता है। वह जानता है कि यदि आप क्लोजिंग ब्रैकेट </tag> को हटा देते हैं, तो पूरी फ़ाइल टूट जाएगी, इसलिए वह ऐसा नहीं करेगा।

2. हाइब्रिड टीम (एसिंक्रोनस डांस)

शोधकर्ताओं ने महसूस किया कि स्मार्ट आर्किटेक्ट बुद्धिमान तो है लेकिन धीमा है (सोचने में समय लगता है), जबकि अंधा मुंडा तेज़ है लेकिन मूर्ख है।

  • सेटअप: उन्होंने एक टीम बनाई। बंदर (AFL++) CPU पर चलता है, जितनी तेज़ी से हो सके तीर फेंक रहा है। आर्किटेक्ट (LLM) बैकग्राउंड में एक शक्तिशाली GPU पर चलता है।
  • कार्यप्रवाह (Workflow):
    • बंदर एक "उम्मीदवार" चाबी (एक ऐसी चाबी जो संदूक को प्रतिक्रिया देने के लिए मजबूर करती है) ढूंढता है।
    • बंदर इस चाबी को आर्किटेक्ट के पास भेजता है।
    • आर्किटेक्ट कुछ देर सोचता है और उस चाबी का एक पूरी तरह से संरचित नया संस्करण बनाता है।
    • बंदर इस नई चाबी को लेता है और इसे वापस संदूक पर फेंकता है।
  • जादू: वे आर्किटेक्ट के खत्म होने का इंतज़ार नहीं करते, इससे पहले कि बंदर अपना काम जारी रखे। वे समानांतर (Parallel) चलते हैं, जैसे एक रिले रेस जहाँ धावक बिना रुके एक-दूसरे को बैटन सौंपते हैं।

यह क्यों महत्वपूर्ण है (परिणाम)

इस पेपर ने वास्तविक दुनिया के सॉफ़्टवेयर (जैसे इमेज व्यूअर्स, PDF रीडर्स और वेब सर्वर) पर इस नई टीम का परीक्षण किया।

  • पुराना तरीका: अंधे मुंडे ने 31 से 46 बग्स खोजे।
  • नया तरीका (LLAMAFUZZ): स्मार्ट आर्किटेक्ट टीम ने 47 अद्वितीय बग्स खोजे, जिनमें से कुछ ऐसे भी थे जिन्हें कोई और नहीं ढूंढ सका।
  • गति: उन्होंने ये बग्स तेजी से खोजे क्योंकि उन्होंने हजारों बेकार, टूटी हुई चाबियाँ फेंकने में समय बर्बाद नहीं किया।

एक वास्तविक उदाहरण: PNG इमेज

पेपर PNG इमेज फ़ाइल का एक बेहतरीन उदाहरण देता है।

  • बंदर: इमेज हेडर में एक बाइट को रैंडम तरीके से बदल देता है। फ़ाइल अब कहती है "मैं एक JPEG हूँ" न कि "मैं एक PNG हूँ।" प्रोग्राम तुरंत क्रैश हो जाता है क्योंकि वह भ्रमित हो जाता है, लेकिन बंदर ने कोड के बारे में गहराई से कुछ नहीं सीखा।
  • आर्किटेक्ट: जानता है कि इमेज हेडर बरकरार रहना चाहिए। इसके बजाय, यह सावधानीपूर्वक एक इमेज ब्लॉक के आकार या कलर डेप्थ को इस तरह से बदलता है जो प्रोग्राम के लिए वैध दिखता है, लेकिन कोड को उसकी सीमाओं तक धकेलता है। यह प्रोग्राम को गहराई तक चलने की अनुमति देता है, जिससे लॉजिक में छिपी दरारें सामने आती हैं जिन्हें बंदर कभी नहीं देख पाता।

निष्कर्ष

LLAMAFUZZ एक मशीन गन से, जो रैंडम गोलियां बरसा रही है, से एक स्नाइपर राइफल में अपग्रेड करने जैसा है, जो एक विशेषज्ञ द्वारा निर्देशित है। डेटा की संरचना को समझने के लिए AI का उपयोग करके, यह टूल अधिक स्मार्ट, अधिक वैध टेस्ट केस बना सकता है। इसका मतलब है कि कम मेहनत में, कम समय में, और कम बर्बादी के साथ अधिक सुरक्षा खामियां ढूंढना।

यह साबित करता है कि सॉफ़्टवेयर सुरक्षा की दुनिया में, खेल के नियमों को समझना उतना ही महत्वपूर्ण है जितना कि खेल खेलना।

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

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

Digest आज़माएँ →