No More Hidden Pitfalls? Exposing Smart Contract Bad Practices with LLM-Powered Hybrid Analysis
यह शोध पत्र SCALM को प्रस्तुत करता है, जो पहला LLM-संचालित हाइब्रिड फ्रेमवर्क है जो संदर्भ-जागरूक फंक्शन-लेवल स्लाइसिंग के साथ ज्ञान-संवर्धित सिमेंटिक रीजनिंग को जोड़कर व्यवस्थित रूप से 47 से अधिक स्मार्ट कॉन्ट्रैक्ट की खराब प्रथाओं (bad practices) का पता लगाता है, जो मौजूदा उपकरणों की तुलना में बेहतर प्रदर्शन प्रदर्शित करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक सार्वजनिक, अपरिवर्तनीय ब्लॉकचेन पर एक डिजिटल तिजोरी बना रहे हैं। एक बार जब आप दरवाजा बंद कर देते हैं, तो आप अपनी गलती सुधारने के लिए वापस नहीं जा सकते। एक स्मार्ट कॉन्ट्रैक्ट (Smart Contract) यही है: कोड का एक टुकड़ा जो ब्लॉकचेन पर स्वचालित रूप से चलता है।
समस्या यह है कि भले ही कोड में कोई ऐसा "छेद" न हो जिससे कोई चोर आपके पैसे चुरा सके (एक सुरक्षा भेद्यता/security vulnerability), फिर भी इसे बुरी आदतों (bad habits) के साथ बनाया जा सकता है। शायद निर्देश अव्यवस्थित हैं, डिज़ाइन भ्रमित करने वाला है, या यह अक्षम है। ये "बुरे अभ्यास" (bad practices) एक पुल को जोड़ने के लिए वेल्डिंग के बजाय डक्ट टेप का उपयोग करने के समान हैं। यह अभी के लिए तो काम कर सकता है, लेकिन यह जोखिम भरा है, इसे बाद में ठीक करना कठिन है, और दबाव पड़ने पर ढह सकता है।
यह शोध पत्र एक नए टूल SCALM (स्मार्ट कॉन्ट्रैक्ट ऑडिट लैंग्वेज मॉडल) का परिचय देता है, जिसे इन बुरी आदतों को परेशानी पैदा करने से पहले खोजने के लिए डिज़ाइन किया गया है। यह कैसे काम करता है, यहाँ सरल भाषा में समझाया गया है:
1. समस्या: पुराने टूल्स क्यों विफल होते हैं
कल्पना कीजिए कि आप 1,000 पन्नों की एक किताब में टाइपो (लिखने की गलती) खोजने की कोशिश कर रहे हैं।
- मैनुअल रिव्यू (Manual Review): आप हर पन्ना पढ़ने के लिए एक इंसान को काम पर रखते हैं। यह धीमा है, महंगा है, और वे थकान के कारण एक सूक्ष्म त्रुटि को भी मिस कर सकते हैं।
- पुराने स्वचालित टूल्स (Old Automated Tools): आप "फाइंड एंड रिप्लेस" टूल का उपयोग करते हैं जो "खतरा" या "त्रुटि" जैसे विशिष्ट शब्दों को खोजता है। यदि बुरा कोड किसी चतुर तरीके से लिखा गया है जिसमें उन सटीक शब्दों का उपयोग नहीं किया गया है, तो टूल उसे पूरी तरह से मिस कर देता है।
लेखकों का कहना है कि वर्तमान टूल्स बहुत कठोर हैं। वे सटीक पैटर्न देखते हैं लेकिन कोड के पीछे की कहानी या तर्क (logic) को नहीं समझते हैं।
2. समाधान: SCALM (सुपर-एडिटर)
SCALM एक फ्रेमवर्क है जो लार्ज लैंग्वेज मॉडल्स (LLMs) द्वारा संचालित है—वही तरह का AI जो चैटबॉट्स को शक्ति देता है। लेकिन केवल चैट करने के बजाय, SCALM एक सुपर-स्मार्ट, अत्यधिक सतर्क संपादक की तरह कार्य करता है।
यह अपना काम करने के लिए दो मुख्य "सुपरपावर्स" का उपयोग करता है:
सुपरपावर A: "कॉन्टेक्स्ट-अवेयर स्लाइसर" (जासूस का आवर्धक लेंस)
पुराने टूल्स अक्सर कोड की एक एकल लाइन को अलग-थलग देखते हैं। SCALM अधिक स्मार्ट है।
- उपमा: कल्पना कीजिए कि आप एक किताब में एक वाक्य पढ़ रहे हैं। यदि आप केवल वह एक वाक्य पढ़ते हैं, तो आप उसे नहीं समझ पाएंगे। लेकिन यदि आप उससे पहले का पैराग्राफ, उसके बाद का पैराग्राफ पढ़ते हैं और देखते हैं कि पात्र किससे बात कर रहे हैं, तो आप संदर्भ (context) को समझ जाते हैं।
- SCALM इसे कैसे करता है: यह स्मार्ट कॉन्ट्रैक्ट को "फंक्शन स्लाइस" में काटता है। लेकिन यह केवल कोड को नहीं काटता; यह आसपास का संदर्भ भी अपने साथ लेता है। यह उपयोग किए गए वेरिएबल्स, ट्रिगर किए गए इवेंट्स और अन्य फंक्शन्स को देखता है जिन्हें कोड कॉल करता है। यह विश्लेषण किए जाने वाले कोड के हर हिस्से के लिए एक पूर्ण "दृश्य" (scene) बनाता है।
सुपरपावर B: "थ्री-लेयर रीजनिंग" (तीन मंजिला निरीक्षण)
एक बार जब SCALM के पास कोड का एक हिस्सा (slice) आ जाता है, तो यह केवल उसे एक बार स्कैन नहीं करता है। यह इसे तीन-चरणीय सत्यापन प्रक्रिया के माध्यम से चलाता है, जो छोटे विवरणों से लेकर बड़े चित्र तक जाता है:
- लेयर 1: सिंटैक्स (व्याकरण की जाँच):
- उपमा: यह जांचना कि क्या वाक्य व्याकरण की दृष्टि से सही है।
- यह क्या करता है: यह बुनियादी कोडिंग गलतियों को देखता है, जैसे कि छूटे हुए सेमीकोलन या गलत डेटा प्रकार का उपयोग।
- लेयर 2: डिज़ाइन पैटर्न (ब्लूप्रिंट की जाँच):
- उपमा: यह जांचना कि क्या घर मानक वास्तुशिल्प नियमों के अनुसार बनाया गया है। क्या दरवाजा सही जगह पर है? क्या वायरिंग सुरक्षित है?
- यह क्या करता है: यह जांचता है कि क्या कोड अच्छे डिज़ाइन अभ्यासों (जैसे "चेक्स-इफेक्ट्स-इंटरेक्शन") का पालन करता है या क्या यह खतरनाक शॉर्टकट का उपयोग करता है।
- लेयर 3: आर्किटेक्चर (सिटी प्लानिंग की जाँच):
- उपमा: पूरे पड़ोस को देखना। क्या यह इमारत ट्रैफिक को रोकती है? क्या यह अन्य इमारतों के साथ फिट बैठती है?
- यह क्या करता है: यह देखता है कि पूरा कॉन्ट्रैक्ट एक साथ कैसे फिट बैठता है। क्या ऐसे लूप हैं जो फंस सकते हैं? क्या पूरा सिस्टम समग्र रूप से सुरक्षित है?
3. सीक्रेट सॉस: RAG (लाइब्रेरी कार्ड)
AI के साथ सबसे बड़ी समस्याओं में से एक यह है कि वे "हैलुसिनेट" (मनगढ़ंत बातें बनाना) कर सकते हैं या विशिष्ट नियमों को भूल सकते हैं।
- उपमा: कल्पना कीजिए कि एक वकील बिना कानून की लाइब्रेरी के मामला लड़ने की कोशिश कर रहा है। वह कानून का अनुमान लगा सकता है। अब, उसी वकील की कल्पना करें जिसके पास एक जादुई लाइब्रेरी है जहाँ वह बोलने से पहले मामले से संबंधित सटीक कानून की किताब का पन्ना तुरंत निकाल सकता है।
- SCALM इसे कैसे करता है: यह रिट्रीवल-ऑगमेंटेड जनरेशन (RAG) का उपयोग करता है। कोड के विश्लेषण से पहले, SCALM ज्ञात बुरे अभ्यासों के विशाल डेटाबेस (जैसे "क्राइम सीन" की लाइब्रेरी) को खोजता है। यह समान उदाहरणों को ढूंढता है और उन्हें AI को दिखाता है। यह AI को अनुमान लगाने के बजाय तथ्यों के आधार पर तर्क करने में मदद करता है।
4. परिणाम: क्या यह काम आया?
लेखकों ने SCALM का परीक्षण इनके विरुद्ध किया:
- पुराने स्वचालित टूल्स (जैसे Mythril)।
- अन्य AI टूल्स (जैसे GPTLens)।
- विभिन्न AI मॉडल्स (जैसे GPT-4, Claude, और Llama)।
निष्कर्ष:
- बेहतर सटीकता: SCALM ने पुराने टूल्स की तुलना में काफी अधिक बुरे अभ्यासों को खोजा। कुछ परीक्षणों में, यह लगभग सटीक (95% से अधिक सटीकता) था, जबकि अन्य संघर्ष कर रहे थे।
- "छिपी हुई" चीजों को खोजा: यह विशेष रूप से "क्वालिटी" (quality) संबंधी मुद्दों (अव्यवस्थित कोड, खराब डिज़ाइन) को खोजने में अच्छा था, जिन्हें अन्य टूल्स ने पूरी तरह से अनदेखा कर दिया क्योंकि वे केवल सुरक्षा हैक्स की तलाश में थे।
- AI मायने रखता है: सभी AI मॉडल समान नहीं हैं। नवीनतम, सबसे स्मार्ट मॉडल (जैसे GPT-4o) सबसे अच्छा काम करते हैं, लेकिन उन्हें अपने शिखर प्रदर्शन के लिए भी "थ्री-लेयर" और "लाइब्रेरी" सिस्टम की आवश्यकता थी।
सारांश
SCALM को एक स्मार्ट कॉन्ट्रैक्ट इंस्पेक्टर के रूप में समझें जो केवल दीवार में दरारें (सुरक्षा छेद) ही नहीं देखता। यह यह भी जांचता है कि क्या पेंट उखड़ रहा है, क्या कमरे तार्किक रूप से व्यवस्थित हैं, और क्या पूरा घर एक ठोस नींव पर बना है। पिछले गलतियों की एक विशाल लाइब्रेरी और एक चरण-दर-चरण तर्क प्रक्रिया के साथ एक सुपर-स्मार्ट AI को जोड़कर, यह डेवलपर्स को बहुत देर होने से पहले अपने कोड को ठीक करने में मदद करता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।