CASCADE: LLM-Powered JavaScript Deobfuscator at Google
यह शोध पत्र CASCADE को पेश करता है, जो गूगल में तैनात एक नवीन हाइब्रिड डीऑबफस्केशन सिस्टम है जो क्रिटिकल प्रिल्यूड फंक्शन्स की पहचान करने के लिए जेमिनी एलएलएम (Gemini LLM) की क्षमता को एक जावास्क्रिप्ट इंटरमीडिएट रिप्रेजेंटेशन (JavaScript Intermediate Representation) के साथ जोड़ता है ताकि नियत कोड ट्रांसफॉर्मेशन (deterministic code transformation) किया जा सके, जिससे व्यापक हार्डकोडेड नियमों की आवश्यकता को समाप्त करते हुए सिमेंटिक तत्वों और प्रोग्राम व्यवहारों को प्रभावी ढंग से पुनर्प्राप्त किया जा सके।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास एक गुप्त संदेश है जो एक ऐसी भाषा में लिखा है जिसे आप नहीं समझते, लेकिन वह संदेश ऊन के एक विशाल, उलझे हुए गोले के अंदर भी छिपा हुआ है, जिसमें अदृश्य स्याही की परतें लिपटी हुई हैं, और एक ऐसे रोबोट द्वारा बिखेरा गया है जो इसे पढ़ने की हर कोशिश पर नियम बदल देता है।
यही जावास्क्रिप्ट ऑबफस्केशन (JavaScript obfuscation) है। यह एक ऐसी तकनीक है जिसका उपयोग बुरे तत्वों (और कभी-कभी अच्छे लोगों) द्वारा कोड को छिपाने के लिए किया जाता है ताकि इंसान और कंप्यूटर आसानी से यह न समझ सकें कि वह क्या करता है। यह ऐसा है जैसे किसी स्पष्ट निर्देश पुस्तिका को एक पहेली में बदल देना जहाँ शब्दों को यादृच्छिक प्रतीकों (random symbols) से बदल दिया गया है, वाक्यों को इधर-उधर कर दिया गया है, और तर्क (logic) को गणित की परतों के नीचे दबा दिया गया है।
यह पेपर CASCADE को पेश करता है, जो Google द्वारा बनाया गया एक नया टूल है जो इस उलझन को सुलझाता है। यह कैसे काम करता है, यहाँ सरल भाषा में समझाया गया है:
समस्या: "अपठनीय" कोड
ऑबफस्केटेड कोड को एक लॉक तिजोरी (locked safe) के रूप में सोचें जहाँ संयोजन (combination) एक पहेली के अंदर छिपा है।
- पुराने टूल्स एक विशाल चाबियों की किताब वाले ताला बनाने वाले (locksmith) की तरह थे। उनके पास हर उस प्रकार के ताले के लिए एक विशिष्ट चाबी थी जिसे उन्होंने पहले देखा था। लेकिन अगर बुरे तत्वों ने ताले को थोड़ा सा भी बदल दिया (जैसे एक नया पेंच जोड़ दिया), तो पुरानी चाबियाँ फिट नहीं बैठती थीं, और तिजोरी बंद ही रहती थी।
- शुद्ध AI टूल्स (एक सुपर-स्मार्ट रोबोट की तरह) संयोजन का अनुमान लगाने में बहुत अच्छे होते हैं। लेकिन कभी-कभी, वे "हैलुसिनेशन" (hallucinations) का शिकार हो जाते हैं—वे आत्मविश्वास से एक ऐसा संयोजन बताते हैं जो सही लग सकता है लेकिन वास्तव में गलत होता है, जिससे तिजोरी खजाने के बजाय कचरे के ढेर की ओर खुल जाती है।
समाधान: CASCADE (हाइब्रिड डिटेक्टिव)
CASCADE दो बहुत अलग विशेषज्ञों की एक टीम है: Gemini (एक सुपर-स्मार्ट AI) और JSIR (एक सुपर-प्रिसिजन कंपाइलर रोबोट)।
इसे एक डिटेक्टिव एजेंसी की तरह समझें:
1. AI डिटेक्टिव (Gemini): "मैं पैटर्न देख सकता हूँ!"
पहला कदम "प्रेल्यूड फंक्शन्स" (Prelude Functions) को खोजना है। ऑबफस्केशन की दुनिया में, ये वे ब्लूप्रिंट्स या निर्देश मैनुअल हैं जिनका उपयोग बुरे तत्व कोड को बिखेरने के लिए करते हैं। ये पहेली के लिए "रेसिपी" की तरह हैं।
- Gemini क्या करता है: यह बिखरे हुए कोड को देखता है और कहता है, "आह! मैं इस पैटर्न को पहचानता हूँ! यह वह हिस्सा है जहाँ उन्होंने स्ट्रिंग्स (वास्तविक शब्द) छिपाए हैं।"
- यह क्यों शानदार है: पुराने "चाबियों की किताब" वाले तरीके के विपरीत, Gemini को हर ताले के लिए विशिष्ट चाबी की आवश्यकता नहीं होती। यह ताले के अवधारणा (concept) को समझता है। भले ही बुरे तत्व फॉन्ट बदल दें या गणित की कुछ अतिरिक्त लाइनें जोड़ दें, Gemini ब्लूप्रिंट को पहचान लेता है। यह किसी मित्र के चेहरे को पहचानने जैसा है, भले ही उसने टोपी और धूप का चश्मा पहना हो।
2. कंपाइलर रोबोट (JSIR): "चलिए गणित करते हैं, सटीकता के साथ।"
एक बार जब Gemini ब्लूप्रिंट की ओर इशारा कर देता है, तो काम अभी खत्म नहीं हुआ है। कोड को अभी भी अनस्क्रैम्बल (unscramble) करने की आवश्यकता है। यहीं पर JSIR (एक कंपाइलर इंजन) आता है।
- JSIR क्या करता है: यह Gemini द्वारा खोजे गए ब्लूप्रिंट को लेता है और गणित को बिल्कुल सटीक रूप से चलाता है। यह अनुमान नहीं लगाता। यह की गणना करता है और हर बार $4$ प्राप्त करता है। यह बिखरे हुए शब्दों को लेता है और, ब्लूप्रिंट का उपयोग करके, उन्हें "तिजोरी" से बाहर निकालता है और उनके मूल, पठनीय रूप में वापस रखता है।
- यह क्यों शानदार है: यह सुनिश्चित करता है कि परिणाम 100% सही हो। यदि AI ने संयोजन का अनुमान लगाया था, तो रोबोट गणित की दोबारा जांच करता है ताकि यह सुनिश्चित हो सके कि तिजोरी वास्तव में सही खजाने तक ही खुले।
जादुई ट्रिक: "सैंडबॉक्सिंग" (Sandboxing)
इन पहेलियों का सबसे कठिन हिस्सा यह है कि कोड अक्सर कहता है, "मैं चलते समय अपने स्वयं के नियम बदल दूँगा।"
- CASCADE की ट्रिक: यह एक सुरक्षित, अलग खेल का कमरा (sandbox) बनाता है। यह कोड के "ब्लूप्रिंट" वाले हिस्से को लेता है और उसे पहले इस खेल के कमरे में चलाता है। यह देखता है कि क्या होता है, अंतिम परिणाम देखता है, और फिर उस परिणाम को लिख लेता है।
- फिर, यह मुख्य कोड पर वापस जाता है और भ्रमित करने वाले गणित को उस सरल उत्तर से बदल देता है जो इसने अभी खोजा है। यह एक जादूगर को दर्पण में करतब दिखाते हुए देखने जैसा है, यह समझना कि वह कैसे काम करता है, और फिर दर्शकों को इसे समझाना।
यह क्यों महत्वपूर्ण है
- गति (Speed): यह सेकंडों में हजारों ऐसी पहेलियों को सुलझा सकता है।
- सटीकता (Accuracy): यह अनुमान नहीं लगाता। यह मूल शब्दों को वापस प्राप्त करता है (जैसे "Hello World" या "steal your password") ताकि सुरक्षा विशेषज्ञ देख सकें कि कोड वास्तव में क्या करने की कोशिश कर रहा है।
- अनुकूलन क्षमता (Adaptability): क्योंकि यह पैटर्न खोजने के लिए AI का उपयोग करता है, इसलिए इसे हर बार बुरे तत्वों द्वारा कोड में थोड़ा बदलाव करने पर फिर से प्रोग्राम करने की आवश्यकता नहीं होती। यह लचीला है।
निष्कर्ष
CASCADE से पहले, इन कोड्स को सुलझाना आँखों पर पट्टी बांधकर और हथौड़े का उपयोग करके रूबिक क्यूब (Rubik's cube) को हल करने जैसा था।
CASCADE के साथ, यह एक स्मार्ट गाइड (Gemini) होने जैसा है जो बताता है कि टुकड़े कहाँ हैं, और एक प्रिसिजन रोबोट (JSIR) जो उन्हें पूरी तरह से वापस जोड़ देता है।
यह टूल पहले से ही Google के भीतर काम कर रहा है, दुर्भावनापूर्ण कोड (malicious code) को तेजी से पकड़ने में मदद कर रहा है और इंटरनेट को सुरक्षित रखने में मदद कर रहा है, और यह सब "गिबरिश" (निरर्थक शब्द) को वापस "अंग्रेजी" में बदलकर किया जा रहा है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।