← नवीनतम पेपर
💻 computer science

PickleFuzzer: A Case Study in Fuzzing for Discrepancies Between Python Pickle Implementations

यह शोध पत्र PickleFuzzer को प्रस्तुत करता है, जो एक व्याकरण-आधारित डिफरेंशियल फज़र (grammar-based differential fuzzer) है जो पायथन के पिकल (pickle) कार्यान्वयन में 14 महत्वपूर्ण विसंगतियों की पहचान करता है, जिसमें ऐसी कमजोरियां शामिल हैं जो हमलावरों को Hugging Face जैसे प्लेटफार्मों पर सुरक्षा स्कैनिंग टूल को बायपास करने की अनुमति देती हैं।

मूल लेखक: Justin Applegate, Andreas Kellas

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

मूल लेखक: Justin Applegate, Andreas Kellas

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

कल्पना कीजिए कि आपके पास एक जादुई मशीन है जो आपके घर की किसी भी वस्तु—एक खिलौने, एक किताब, या एक सैंडविच—को निर्देशों की एक लंबी श्रृंखला (जैसे कि एक रेसिपी) में बदल सकती है। Python का Pickle यही करता है: यह जटिल कंप्यूटर डेटा को निर्देशों की एक स्ट्रिंग में बदल देता है ताकि इसे सेव किया जा सके या इंटरनेट पर भेजा जा सके। बाद में, दूसरी मशीन उन निर्देशों को पढ़कर उस वस्तु को बिल्कुल वैसा ही फिर से बना देती थी जैसी वह पहले थी।

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

समस्या: तीन अलग-अलग शेफ, तीन अलग-अलग नियम

यहाँ एक ट्विस्ट है: जिन्होंने "रेसिपी रीडर" (वह मशीन जो Pickle को पढ़ती है) बनाया था, उन्होंने एक अकेला नियम पुस्तिका नहीं लिखी। इसके बजाय, उन्होंने रीडर के तीन अलग-अलग वर्ज़न बनाए:

  1. शेफ A (Python): पायथन में लिखा गया, जो एक मानक भाषा है।
  2. शेफ B (C): C नामक एक तेज़, लो-लेवल भाषा में लिखा गया।
  3. शेफ C (द इंस्पेक्टर): एक टूल जिसका उपयोग सुरक्षा स्कैनर द्वारा अन्य शेफ के खाना बनाने से पहले रेसिपी को पढ़ने के लिए किया जाता है।

समस्या यह है कि ये तीनों शेफ हमेशा इस बात पर सहमत नहीं होते कि क्या एक वैध रेसिपी है। कभी-कभी, एक विशिष्ट निर्देश ऐसा हो सकता है जो शेफ A और शेफ B को तो यह कहे कि, "ओह, यह ठीक है, मैं इसे पकाऊँगा," जबकि शेफ C (इंस्पेक्टर) कहे, "रुको, यह टूटा हुआ है! मैं इसे नहीं पढ़ सकता।"

यदि किसी हैकर को यह पता चल जाए, तो वह एक "जहरीली रेसिपी" तैयार कर सकता है जो इंस्पेक्टर को टूटी हुई दिखती है (ताकि वह सुरक्षा स्कैनर से निकल जाए) लेकिन शेफ A या शेफ B को बिल्कुल ठीक लगती है (जो फिर खुशी-खुशी खतरनाक कमांड्स को चला देते हैं)। यह एक गार्ड को संदिग्ध दिखने वाला फर्जी आईडी दिखाने जैसा है, ताकि वह आपको जाने दे, लेकिन फिर अंदर बाउंसर को असली आईडी दिखाकर अंदर घुस जाना।

समाधान: PICKLEFUZZER

शोधकर्ताओं ने इस पेपर में PICKLEFUZZER नामक एक टूल बनाया है। इसे एक सुपर-फास्ट, ऑटोमेटेड टेस्ट-टेस्टर समझें।

इंसान को नियम पुस्तिकाएं पढ़ने और यह अनुमान लगाने के लिए काम पर रखने के बजाय कि शेफ कहाँ असहमत हो सकते हैं, PICKLEFUZZER निम्नलिखित कार्य करता है:

  1. रैंडम रेसिपी बनाना: यह एक विशेष ग्रामर (नियमों का एक सेट जिसे उसने शेफ का अध्ययन करके समझा है) का उपयोग करके लाखों रैंडम, वैध दिखने वाली निर्देश स्ट्रिंग्स (रेसिपी) बनाता है।
  2. सभी शेफ को परोसना: यह बिल्कुल एक ही रेसिपी को एक ही समय में शेफ A, शेफ B और शेफ C को सौंप देता है।
  3. प्रतिक्रिया की जाँच करना: यह बारीकी से देखता है कि क्या कोई शेफ क्रैश हो जाता है, गुस्सा करता है (एरर थ्रो करता है), या अन्य शेफ की तुलना में अलग परिणाम देता है।

यदि शेफ C कहता है "Error!" लेकिन शेफ A कहता है "Delicious!", तो PICKLEFUZZer उस रेसिपी को एक विसंगति (discrepancy) के रूप में चिह्नित करता है। इसे "सही" उत्तर जानने की आवश्यकता नहीं है; यह बस जानता है कि यदि शेफ असहमत हैं, तो वहाँ एक सुरक्षा छेद (security hole) है।

उन्होंने क्या पाया

शोधकर्ताओं ने इस टूल को एक सप्ताह तक चलाया और पाया कि शेफ के बीच 14 अलग-अलग तरीके थे जिनसे वे असहमत थे।

  • बड़ी जीत: इनमें से चार असहमति गंभीर थीं। उन्होंने साबित कर दिया कि एक हैकर इनका उपयोग लोकप्रिय वेबसाइटों (जैसे Hugging Face, जहाँ लोग AI मॉडल साझा करते हैं) के सुरक्षा स्कैनर्स को धोखा देने के लिए कर सकता है ताकि खतरनाक कोड को अंदर आने दिया जाए।
  • इनाम: शोधकर्ताओं ने इन छेदों के बारे में पायथन टीम को बताया। उन्होंने इन्हें एक बग बाउंटी प्रोग्राम (सुरक्षा खामियों को खोजने के लिए इनाम प्रणाली) को भी रिपोर्ट किया और उन्हें $750 का पुरस्कार मिला।
  • गति बनाम इंसान: यह दिखाने के लिए कि उनका टूल कितना अच्छा था, उन्होंने इसकी तुलना एक मानव सुरक्षा विशेषज्ञ से की। इंसान ने कोड को मैन्युअल रूप से पढ़ने में 60 घंटे बिताए और 14 विसंगतियाँ पाईं। PICKLEFUZZER ने वही 14 विसंगतियाँ केवल 10 मिनट में ढूँढ लीं।

निचोड़ (The Bottom Line)

यह पेपर दिखाता है कि जब आपके पास एक सुरक्षा टूल के कई वर्ज़न होते हैं बिना किसी एक आधिकारिक नियम पुस्तिका के, तो वे अनिवार्य रूप से असहमत होंगे। ये असहमति एक बांध में दरारों की तरह होती हैं जिनका फायदा हैकर्स उठा सकते हैं। PICKLEFUZZER उन दरारों को स्वचालित रूप से खोजने का एक नया, तेज़ तरीका है—यह देखकर कि सॉफ्टवेयर के विभिन्न वर्ज़न एक-दूसरे से सहमत होना कब बंद कर देते हैं—जिससे बुरे तत्वों के उपयोग करने से पहले उन्हें ठीक करने में मदद मिलती है।

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

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

Digest आज़माएँ →