परिभाषा
Approval exploit सुरक्षा जोखिम की वह श्रेणी है जिसमें कोई हमलावर token approval या allowance मैकेनिज़्म का इस्तेमाल करके पीड़ित की संपत्तियाँ बिना किसी अतिरिक्त सहमति के स्थानांतरित कर लेता है। यह आम तौर पर तब होता है जब कोई smart contract या इंटरफ़ेस उपयोगकर्ता को अत्यधिक या असुरक्षित allowance देने के लिए प्रेरित कर देता है, और हमलावर बाद में इन्हीं allowances को किसी दुर्भावनापूर्ण या समझौता किए गए contract के ज़रिए invoke करता है। यह exploit आम तौर पर मूल token standard को नहीं तोड़ता, बल्कि token की approval logic में निहित वैध authorization मॉडल का ही दुरुपयोग करता है। नतीजतन, फंड का ट्रांसफ़र on-chain पर तकनीकी रूप से वैध होता है, भले ही वह उपयोगकर्ता की सुरक्षा और दायरे से जुड़ी अपेक्षाओं का उल्लंघन करता हो।
यह जोखिम इस बात से गहराई से जुड़ा है कि token allowance की स्थिति smart contracts द्वारा कैसे स्टोर और reference की जाती है। एक बार जब हमलावर को किसी उच्च या unlimited allowance तक पहुँच मिल जाती है, तो वह उपयोगकर्ता के address की ओर से बार‑बार transfer functions कॉल कर सकता है, जब तक कि approved balance पूरी तरह ख़त्म न हो जाए। Approval exploits अक्सर भ्रामक transaction prompts, गुमराह करने वाले contract नामों, या पहले से दिए गए permissions को अप्रत्याशित तरीक़ों से दोबारा इस्तेमाल करने पर निर्भर करते हैं। इसकी मूल विशेषता यह है कि उपयोगकर्ता जो समझता है कि उसने क्या authorize किया है और allowance वास्तव में व्यवहार में क्या अनुमति देता है, इन दोनों के बीच गहरा अंतर होता है।
प्रसंग और उपयोग
सुरक्षा से जुड़ी चर्चाओं में approval exploit को सीधे प्रोटोकॉल विफलता के बजाय permission‑abuse जोखिम के रूप में संदर्भित किया जाता है। यह अक्सर ERC‑20 शैली के token डिज़ाइनों से जुड़ा होता है, जहाँ एक अलग approval चरण के ज़रिए ऐसा allowance सेट किया जाता है जिसे अन्य contracts खर्च कर सकते हैं। जब ये allowances ग़लत कॉन्फ़िगर हो जाते हैं, कभी revoke नहीं किए जाते, या अविश्वसनीय contracts को दे दिए जाते हैं, तो वे एक स्थायी attack surface बना देते हैं जिसे हमलावर बाद में सक्रिय कर सकते हैं। इस तरह exploit smart contract डिज़ाइन, wallet UX, और on-chain authorization semantics के प्रति उपयोगकर्ता की समझ – इन तीनों के संगम पर बैठता है।
यह शब्द अक्सर allowance की अवधारणा के साथ मिलकर इस्तेमाल किया जाता है, ताकि यह समझाया जा सके कि token permissions कितनी सूक्ष्म (granular) या आसानी से वापस ली जा सकने वाली (revocable) होनी चाहिए। सुरक्षा ऑडिटर और प्रोटोकॉल डिज़ाइनर approval exploits को ख़तरे की एक अलग श्रेणी मानते हैं, जिसे contract interfaces और permission flows डिज़ाइन करते समय ध्यान में रखना ज़रूरी है। घटना‑रिपोर्टों में किसी हमले को approval exploit के रूप में लेबल करने का मतलब यह दिखाना होता है कि हमलावर औपचारिक रूप से दी गई permissions की सीमा के भीतर ही काम कर रहा था, भले ही वे permissions भ्रामक या असुरक्षित तरीक़े से हासिल या संरचित की गई हों। यह वर्गीकरण उन बग्स से इसे अलग पहचानने में मदद करता है जो arithmetic errors, reentrancy, या अन्य low‑level contract खामियों से उत्पन्न होते हैं।