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

ARVO: Atlas of Reproducible Vulnerabilities for Open-Source Software

यह शोध पत्र ARVO को प्रस्तुत करता है, जो 6,100 से अधिक पुनरुत्पादक (reproducible) ओपन-सोर्स सॉफ़्टवेयर कमजोरियों का एक बड़े पैमाने का डेटासेट है, जो उनके संगत पैच के साथ लगातार पुनर्गठित करने योग्य और विश्लेषण योग्य बग इंस्टेंस प्रदान करके पुनरुत्पादकता, मात्रा और विविधता के बीच पारंपरिक समझौते को दूर करता है।

मूल लेखक: Xiang Mei, Jordi Del Castillo, Pulkit Singh Singaria, Haoran Xi, Abdelouahab Benchikh, Tiffany Bao, Ruoyu Wang, Yan Shoshitaishvili, Adam Doupé, Hammond Pearce, Brendan Dolan-Gavitt

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

मूल लेखक: Xiang Mei, Jordi Del Castillo, Pulkit Singh Singaria, Haoran Xi, Abdelouahab Benchikh, Tiffany Bao, Ruoyu Wang, Yan Shoshitaishvili, Adam Doupé, Hammond Pearce, Brendan Dolan-Gavitt

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

कल्पना कीजिए कि आप एक जासूस हैं जो अतीत में हुए अपराधों (सॉफ्टवेयर बग्स) की एक श्रृंखला को सुलझाने की कोशिश कर रहे हैं। आपके पास एक विशाल फाइलिंग कैबिनेट (एक डेटाबेस) है जिसमें हजारों केस फाइलें रखी हैं। हालाँकि, एक बहुत बड़ी समस्या है: अधिकांश फाइलें केवल नोट्स हैं जिनमें लिखा है, "इस तारीख को यहाँ एक अपराध हुआ था।" इनमें अपराध स्थल, हथियार, या अपराध को कैसे दोबारा दोहराया जाए (recreate) इसके विशिष्ट निर्देश शामिल नहीं हैं ताकि यह साबित किया जा सके कि वह हुआ था।

इस कारण से, अन्य जासूसों के लिए सबूतों को सत्यापित करना, गलतियों से सीखना या अपराधियों को पकड़ने के नए तरीके परीक्षण करना अविश्वसनीय रूप से कठिन हो गया है। वे अपराध को बस "दोबारा नहीं चला" (replay) सकते क्योंकि मूल दृश्य को साफ कर दिया गया है, उपकरण बदल गए हैं, और निर्देश गायब हैं।

ARVO से मिलिए: "टाइम-ट्रैवलिंग क्राइम सीन किट"

यह पेपर ARVO (Open-Source Software के लिए पुनरुत्पादनीय कमजोरियों का एटलस - Atlas of Reproducible Vulnerabilities for Open-Source Software) को प्रस्तुत करता है। ARVO को केवल अपराधों की एक सूची के रूप में नहीं, बल्कि एक पूरी तरह से सुसज्जित, समय यात्रा करने वाली (time-traveling) क्राइम सीन किट के रूप में समझें।

ARVO कैसे काम करता है, इसे सरल उपमाओं (analogies) का उपयोग करके यहाँ समझाया गया है:

1. समस्या: "बासी" फाइलिंग कैबिनेट

पहले, सॉफ्टवेयर बग्स का सबसे बड़ा डेटाबेस (जिसे OSS-Fuzz कहा जाता था) एक ऐसे पुस्तकालय की तरह था जो केवल अपराध की रिपोर्ट रखता था।

  • समस्या: यदि आप आज उस पुराने रिपोर्ट का उपयोग करके अपराध को फिर से बनाने की कोशिश करते, तो आप विफल हो जाते। क्यों? क्योंकि अपराधी ने 5 साल पहले जिन "उपकरणों" (सॉफ्टवेयर लाइब्रेरीज़) का उपयोग किया था, वे बदल गए हैं या गायब हो गए हैं। "अपराध स्थल" (सॉफ्टवेयर बिल्ड एनवायरनमेंट) नष्ट हो चुका है।
  • परिणाम: शोधकर्ता इन बग्स के केवल एक छोटे से हिस्से (लगभग 37%) का ही उपयोग कर सके क्योंकि वे उन्हें फिर से चालू करने में सक्षम नहीं थे। बाकी सब केवल "भूतिया कहानियाँ" (ghost stories) थीं।

2. समाधान: ARVO का "जादुई बॉक्स"

ARVO हर एक बग के लिए एक स्व-निहित टाइम कैप्सूल बनाकर इसे ठीक करता है।

  • "पुनरुत्पादनीय" (Reproducible) जादू: प्रत्येक बग के लिए, ARVO केवल एक नोट नहीं लिखता; यह एक डॉकर कंटेनर (एक डिजिटल टाइम कैप्सूल) बनाता है। इस बॉक्स के अंदर, यह रखता है:
    • सॉफ्टवेयर का वही सटीक संस्करण जिसमें बग था।
    • उन सभी टूल्स और लाइब्रेरीज़ का सटीक संस्करण जिनकी उस समय उस सॉफ्टवेयर को आवश्यकता थी।
    • "ट्रिगर" (एक विशिष्ट इनपुट, जैसे कि एक विशिष्ट की-कॉम्बिनेशन) जो क्रैश का कारण बनता है।
  • परिणाम: एक शोधकर्ता इस बॉक्स को खोल सकता है और कह सकता है, "इसे चलाओ," और क्रैश बिल्कुल वैसे ही होता है जैसा वर्षों पहले हुआ था, चाहे दुनिया में कितना भी कुछ क्यों न बदल गया हो।

3. उन्होंने इसे कैसे बनाया: "रिस्टोरेशन एक्सपर्ट्स"

इन टाइम कैप्सूलों को बनाना कठिन है क्योंकि पुराना सॉफ्टवेयर नाजुक होता है। लेखकों को तीन पहेलियों को हल करना पड़ा:

  • "लापता हिस्सों" की पहेली: पुराना सॉफ्टवेयर अक्सर इंटरनेट से ऐसे हिस्से डाउनलोड करने की कोशिश करता है जो अब मौजूद नहीं हैं (जैसे कि कोई वेबसाइट जो स्थानांतरित हो गई हो)। ARVO एक ऐसे जासूस की तरह कार्य करता है जो उन लापता हिस्सों को एक संग्रहालय के संग्रह (museum archive) में खोज लेता है और उन्हें बॉक्स में रख देता है ताकि सॉफ्टवेयर चल सके।
  • "टूल मिसमैच" की पहेली: कभी-कभी सॉफ्टवेयर को एक विशिष्ट टूल (जैसे कि एक विशिष्ट रिंच/wrench) के संस्करण की आवश्यकता होती जो आज उपलब्ध है उससे अलग है। ARVO प्रत्येक टूल के सटीक "वर्जन इतिहास" को ट्रैक करता है, यह सुनिश्चित करते हुए कि सही रिंच बॉक्स में हो।
  • "पैच फाइंडर" (Patch Finder) की पहेली: जब एक बग को ठीक किया जाता है, तो सुधार अक्सर कोड परिवर्तनों के एक विशाल ढेर के भीतर छिपा होता है। ARVO एक "बाइनरी सर्च" (जैसे कि 1 से 1,000 के बीच की संख्या का अनुमान लगाना, रेंज को बार-बार आधा करके) का उपयोग करता है ताकि यह पता लगाया जा सके कि ठीक वही कौन सी सिंगल लाइन थी जिसने बग को ठीक किया, बजाय इसके कि केवल यह अनुमान लगाया जाए कि कौन सा कमिट (commit) इसे कर सकता था।

4. परिणाम: एक विशाल, विश्वसनीय लाइब्रेरी

  • पैमाना (Scale): ARVO ने 311 अलग-अलग सॉफ्टवेयर प्रोजेक्ट्स में से 6,138 वास्तविक दुनिया के बग्स को सफलतापूर्वक पुन: निर्मित किया।
  • सफलता दर: जहाँ पुराने तरीके से केवल 37% समय सफलता मिलती थी, वहीं ARVO 81% बार सफल होता है।
  • सटीकता: जब ARVO उस कोड की ओर इशारा करता है जिसने एक बग को ठीक किया, तो वह 89.4% बार सही होता है।
  • बोनस खोज: इसे बनाते समय, ARVO ने पाया कि मूल डेटाबेस (OSS-Fuzz) ने कुछ गलतियाँ की थीं। इसने 300 से अधिक ऐसे बग्स को ढूँढा जिन्हें सोचा गया था कि वे "ठीक" हो गए हैं लेकिन वे वास्तव में अभी भी टूटे हुए हैं, और 1,500 से अधिक झूठे अलार्म (false alarms) भी मिले जो वास्तविक बग नहीं थे। ARVO ने इन त्रुटियों को मूल डेटाबेस को साफ करने के लिए रिपोर्ट किया।

5. यह क्यों महत्वपूर्ण है

ARVO से पहले, सुरक्षा शोधकर्ता एक कार के इंजन को ठीक करने वाले मैकेनिक की तरह थे जो इंजन की केवल एक फोटो का उपयोग कर रहे थे। वे उसे छू नहीं सकते थे और न ही उसे चलते हुए सुन सकते थे।
ARVO के साथ, उनके पास एक बॉक्स में वास्तविक इंजन है। वे इसे खोल सकते हैं, देख सकते हैं कि वास्तव में क्या टूटा, अपने नए मरम्मत उपकरणों का परीक्षण कर सकते हैं, और यह साबित कर सकते हैं कि उनका सुधार वास्तव में काम करता है।

संक्षेप में, ARVO "टूटी हुई चीजों" की एक स्थिर सूची को एक जीवित, सांस लेते हुए और पुनरुत्पादनीय प्रयोगशाला में बदल देता है जहाँ सुरक्षा शोधकर्ता बड़े पैमाने पर सॉफ्टवेयर कमजोरियों का अध्ययन, परीक्षण और सुधार कर सकते हैं।

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

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

Digest आज़माएँ →