स्व-ऑडिट सिर्फ़ कोड में बग ढूँढने तक सीमित नहीं होता, बल्कि पूरे प्रोजेक्ट की “स्मेल” यानी उसकी समग्र सेहत का आकलन होता है। 2026 में, जब AI एजेंट्स और जटिल क्रॉस-चेन इंटरैक्शन आम हो चुके हैं, एक छोटी सी गलती की कीमत बहुत ज़्यादा हो गई है।
नीचे DeFi में टिके रहने के लिए एक व्यावहारिक गाइड दी गई है, जिसे जटिलता के स्तरों में बाँटा गया है — तेज़ विज़ुअल चेक से लेकर गहराई से कोड खंगालने तक।
खुद से स्मार्ट कॉन्ट्रैक्ट ऑडिट: पैसे भेजने से पहले की चेकलिस्ट
1. स्तर “पेशेंट ज़ीरो”: बेसिक हाइजीन और बाहरी संकेत
कोड खोलने से पहले, सुरक्षा की “सोशल लेयर” को ज़रूर जाँचें।
- ऑडिटर की प्रतिष्ठा: सिर्फ़ एक हरा टिक काफ़ी नहीं है। Tier-1 कंपनियों (Spearbit, Trail of Bits, OpenZeppelin, Zellic) की रिपोर्ट्स खोजें। अगर ऑडिट किसी अनजान फर्म ने $500 में किया है, तो मान लें कि ऑडिट हुआ ही नहीं।
- रिपोर्ट कितनी नई है: तारीख़ देखें। अगर प्रोटोकॉल v2 या v3 पर जा चुका है और ऑडिट अभी भी v1 का है, तो आप रिस्क ज़ोन में हैं।
- Bug Bounty: Immunefi पर एक्टिव प्रोग्राम, जहाँ क्रिटिकल बग के लिए $50k या उससे ज़्यादा का इनाम हो, यह टीम के अपने कोड पर भरोसे का मज़बूत संकेत है।
2. स्तर “आर्किटेक्ट”: गवर्नेंस और कंट्रोल पैरामीटर्स
2024–2026 के ज़्यादातर “चोरी” हैकर्स की वजह से नहीं, बल्कि Admin Keys के ज़रिए हुई हैं।
- Timelock: हर क्रिटिकल बदलाव (फंड निकालना, लॉजिक बदलना) में देरी होनी चाहिए (जैसे 48 घंटे)।
- कैसे जाँचें: Etherscan/Blockscout पर
ownerएड्रेस देखें। अगर यह कोई साधारण वॉलेट (EOA) है, न कि Timelock या Multisig कॉन्ट्रैक्ट, तो डेवलपर किसी भी समय प्रोजेक्ट बंद कर सकता है।
- कैसे जाँचें: Etherscan/Blockscout पर
- Multisig: यह पक्का करें कि कंट्रोल बँटा हुआ हो (कम से कम 3-of-5 या 5-of-9)।
- अक्सर नज़रअंदाज़ होने वाला पॉइंट: देखें कि कहीं सभी multisig keys एक ही लोगों के पास तो नहीं हैं (linked addresses, एक ही एक्सचेंज से फंडेड)।
3. स्तर “कोड रिव्यूअर”: प्रैक्टिकल एनालिसिस (Solidity)
अगर आपने Etherscan पर Contract टैब खोला है, तो इन “रेड फ़्लैग्स” पर ध्यान दें।
A. Minting फ़ंक्शन (अनलिमिटेड टोकन छापना)
ऐसे फ़ंक्शन खोजें जो एडमिन को बिना किसी सीमा के टोकन mint करने देते हों।
// ख़तरा: एडमिन खरबों टोकन छापकर कीमत गिरा सकता है
function mint(address to, uint256 amount) public onlyOwner {
_mint(to, amount);
}सलाह: भरोसेमंद प्रोटोकॉल्स में mint या तो होता ही नहीं, या cap (मैक्सिमम सप्लाई) से सीमित होता है, या सिर्फ़ reward mechanisms के ज़रिए कॉल किया जाता है।
B. छिपे हुए Proxy और Upgradability
आधुनिक कॉन्ट्रैक्ट्स अक्सर proxy पैटर्न इस्तेमाल करते हैं (एक कॉन्ट्रैक्ट डेटा रखता है, दूसरा लॉजिक)।
- समस्या: एडमिन चुपचाप लॉजिक को किसी malicious वर्ज़न से बदल सकता है।
- जाँच: अगर कॉन्ट्रैक्ट
Proxyके रूप में मार्क है, तोImplementationएड्रेस देखें। अगर वह कल ही बिना किसी घोषणा के बदला है — भागिए।
C. Reentrancy (दोबारा एंट्री)
यह एक क्लासिक ट्रैप है जिसमें आज भी नए लोग फँस जाते हैं। सुनिश्चित करें कि withdrawal फ़ंक्शन्स nonReentrant मॉडिफ़ायर का इस्तेमाल करते हों या Checks-Effects-Interactions नियम फॉलो करते हों।
4. स्तर “मास्टर”: लॉजिक ट्रैप्स और Oracles
यहीं 2026 की सबसे एडवांस्ड कमजोरियाँ छुपी होती हैं।
- Spot Price पर निर्भरता: अगर प्रोटोकॉल सीधे Uniswap v3/v4 की जोड़ी से कीमत लेता है, तो उसे Flash Loan से एक्सप्लॉइट किया जा सकता है।
- क्या देखें: Uniswap इंटीग्रेशन में
slot0कॉल्स, बिना manipulation चेक के। सही तरीका है TWAP (Time Weighted Average Price) या Chainlink Oracles का इस्तेमाल।
- क्या देखें: Uniswap इंटीग्रेशन में
- Fee-on-Transfer टोकन: अगर प्रोटोकॉल यह नहीं मानता कि ट्रांसफ़र के समय कुछ टोकन कट जाते हैं (जैसे कुछ memecoins में), तो कॉन्ट्रैक्ट की इंटरनल अकाउंटिंग टूट सकती है और फंड लॉक हो सकते हैं।
ख़तरनाक कोड का उदाहरण (Accounting Gap):
function deposit(uint256 amount) public {
token.transferFrom(msg.sender, address(this), amount);
balances[msg.sender] += amount; // BUG: अगर टोकन 2% फ़ीस लेता है,
// तो कॉन्ट्रैक्ट को balances में लिखे गए अमाउंट से कम मिलता है!
}5. “ट्रांज़ैक्शन से 5 मिनट पहले” की प्रैक्टिकल चेकलिस्ट
“Swap” या “Stake” दबाने से पहले, कॉन्ट्रैक्ट एड्रेस को इन टूल्स से ज़रूर चेक करें:
- De.Fi Scanner / Honeypot.is: साफ़-साफ़ स्कैम और छिपी फ़ीस की तेज़ जाँच।
- Dune Analytics: फंड का इनफ़्लो/आउटफ़्लो (TVL) देखें। अगर 90% लिक्विडिटी एक ही एड्रेस से आ रही है, तो वॉल्यूम नकली हो सकता है।
- Phalcon (by BlockSec): बिना गैस खर्च किए mainnet पर आपकी ट्रांज़ैक्शन सिम्युलेट करता है, ताकि दिखे कि कॉन्ट्रैक्ट एरर तो नहीं दे रहा या ज़रूरत से ज़्यादा Approve तो नहीं माँग रहा।
कम जाना-पहचाना “Red Flag”:
constructor या initializer में external calls पर खास ध्यान दें। कभी-कभी malicious डेवलपर्स किसी थर्ड-पार्टी कॉन्ट्रैक्ट को कॉल डाल देते हैं, जो उनके वॉलेट पर delegatecall करता है — इससे भविष्य में वे आपके बैलेंस पर पूरा कंट्रोल पा सकते हैं, भले ही मेन कोड देखने में बिल्कुल साफ़ लगे।
अब हम कुछ और उन्नत विषयों पर चलते हैं: L2 नेटवर्क की आर्किटेक्चरल कमजोरियाँ, क्रॉस-चेन ब्रिज, और आधुनिक DeFi स्टैक्स के विशिष्ट “पिटफॉल्स”।
6. Pathfinder स्तर: क्रॉस-चेन ब्रिज और L2 जोखिमों का विश्लेषण
2026 तक, अधिकांश उपयोगकर्ता सीधे Ethereum Mainnet पर नहीं रहते — वे L2 (Arbitrum, Optimism, Base, ZK-Rollups) या उनके बीच के ब्रिज का उपयोग करते हैं।
- एकल वैलिडेटर का जोखिम: जब आप ब्रिज का उपयोग करते हैं, तो जांचें कि लेनदेन को कौन मान्य कर रहा है। यदि यह Proof of Authority है जिसमें केवल 3–5 नोड्स हैं और टीम द्वारा नियंत्रित हैं, तो यह एक केंद्रीकृत फेल पॉइंट है।
- L2 Sequencer: अधिकांश L2 नेटवर्क में Sequencer (जो लेनदेन को बैच करता है) अभी भी केंद्रीकृत है।
- प्रैक्टिकल टिप: “Escape Hatch” देखें। यदि Sequencer डाउन हो जाए या आपका लेनदेन सेंसर करना शुरू कर दे, तो क्या आप सीधे L1 कॉन्ट्रैक्ट के माध्यम से फंड निकाल सकते हैं? यदि
forceWithdrawया समकक्ष फ़ंक्शन नहीं है, तो आपके फंड टीम की अपटाइम पर निर्भर हैं।
- प्रैक्टिकल टिप: “Escape Hatch” देखें। यदि Sequencer डाउन हो जाए या आपका लेनदेन सेंसर करना शुरू कर दे, तो क्या आप सीधे L1 कॉन्ट्रैक्ट के माध्यम से फंड निकाल सकते हैं? यदि
- L2 State Root वेरिफिकेशन: ZK-Rollups में सुनिश्चित करें कि प्रूफ (proofs) वास्तव में L1 पर सत्यापित होते हैं। कुछ प्रोजेक्ट गैस बचाने के लिए वेरिफिकेशन अस्थायी रूप से बंद कर देते हैं और “ट्रस्ट मी” मोड में काम करते हैं।
7. Alchemist स्तर: लिक्विडिटी मैनिपुलेशन और AMM v4
Uniswap v4 और Hooks की अवधारणा के आने के साथ, लिक्विडिटी पूल का ऑडिट बहुत जटिल हो गया है।
- खतरनाक Hooks: Hook एक बाहरी स्मार्ट कॉन्ट्रैक्ट है जो ट्रांज़ैक्शन से पहले या बाद में चलता है।
- ध्यान देने योग्य: एक मैलिशियस Hook कुछ शर्तों में टोकन बिक्री को ब्लॉक कर सकता है (डायनामिक Honeypot) या इंटरफेस में नहीं दिखने वाले छिपे हुए शुल्क के माध्यम से लिक्विडिटी चुरा सकता है।
- संकेंद्रित लिक्विडिटी और JIT अटैक्स: जांचें कि प्रोटोकॉल Just-In-Time liquidity से कैसे सुरक्षित है, जब बॉट आपके बड़े लेनदेन से ठीक पहले पूल में आते हैं और तुरंत बाद बाहर निकलते हैं, आपकी लगभग सभी फीस ले लेते हैं और स्लिपेज बढ़ा देते हैं।
8. उन्नत कोड विश्लेषण: गणित और लॉजिक
A. Precision Loss (सटीकता का नुकसान)
Solidity में फ्लोटिंग-पॉइंट नंबर नहीं हैं। सभी गणना पूर्णांक (integers) में होती है। ऑपरेशन के क्रम में गलती से फंड चोरी हो सकते हैं।
- नियम: हमेशा पहले गुणा, फिर भाग करें।
- गलती का उदाहरण:
// गलत: (100 / 200) * 1000 => 0 * 1000 = 0
uint256 reward = (amount / totalSupply) * totalReward;
// सही: (100 * 1000) / 200 => 500
uint256 reward = (amount * totalReward) / totalSupply;- यदि आप रिवार्ड फॉर्मूलों में भाग को गुणा से पहले देखते हैं, तो कॉन्ट्रैक्ट उपयोगकर्ताओं के पैसे को “खाता” है।
B. Invariants
पेशेवर ऑडिटर हमेशा कॉन्ट्रैक्ट का “गोल्डन रूल” ढूंढता है। उदाहरण के लिए: “सभी उपयोगकर्ता बैलेंस का योग कभी भी स्टोरेज में टोटल टोकन से अधिक नहीं होना चाहिए।”
- कैसे जांचें:
withdrawAllयाemergencyWithdrawफ़ंक्शन देखें। यदि सख्त बैलेंस चेक नहीं है याselfdestructका उपयोग हो रहा है (हालांकि नए EVM वर्ज़न में इसकी क्षमता सीमित है), तो यह चेतावनी का संकेत है।
9. कम ज्ञात अटैक वेक्टर (Insider Info)
- Storage Collision: Proxy कॉन्ट्रैक्ट्स को अपग्रेड करते समय डेवलपर्स गलती से वेरिएबल ऑर्डर बदल सकते हैं। नतीजतन,
adminAddressuserBalanceको ओवरराइट कर सकता है।- कैसे पता करें: पुराने और नए कॉन्ट्रैक्ट संस्करणों के
storage layoutफाइल्स (यदि उपलब्ध हों) की तुलना करें।
- कैसे पता करें: पुराने और नए कॉन्ट्रैक्ट संस्करणों के
- Signature Replay: यदि प्रोटोकॉल ऑफ-चेन सिग्नेचर का उपयोग करता है (जैसे लिस्टिंग या गैस-लेस वोटिंग के लिए), सुनिश्चित करें कि
chainIdऔरnonceशामिल हैं। अन्यथा, आपका Goerli टेस्टनेट सिग्नेचर Mainnet में पुन: उपयोग किया जा सकता है और फंड चोरी हो सकते हैं। - Read-only Reentrancy: पिछले कुछ वर्षों का सबसे ट्रेंडी हैक। भले ही स्टेट बदलने वाले फ़ंक्शन सुरक्षित हों, पढ़ने वाला फ़ंक्शन (जैसे प्राइस) उस समय कॉल किया जा सकता है जब कॉन्ट्रैक्ट का स्टेट अपडेट नहीं हुआ हो, और गलत/मैनिपुलेटेड कीमत देता है।
10. स्टेप-बाय-स्टेप एक्शन प्लान
- Approve चेक: नए प्रोटोकॉल के लिए कभी
unlimited approveन करें। Revoke.cash जैसे टूल का इस्तेमाल करें ताकि देखें किसे और कितने खर्च करने की अनुमति दी गई है। - Owner एनालिसिस: कॉन्ट्रैक्ट का पता Bubblemaps में डालें। यदि आप 80% सप्लाई पर नियंत्रण रखने वाले क्लस्टर वाले वॉलेट देखें, तो यह क्लासिक Rug Pull है।
- इवेंट्स पढ़ना: ब्लॉकचेन एक्सप्लोरर में
Eventsटैब देखें। डिप्लॉय के तुरंत बाद अजीब कॉल्स ढूंढें। मिक्सर्स (जैसे Tornado Cash) को बड़े पैमाने पर ट्रांसफर देखना हाई-रिस्क प्रोजेक्ट का संकेत है।
प्रोफेशनल टूलकिट (2026):
- Slither: स्टैटिक एनालाइज़र (Python/Terminal स्किल्स जरूरी)। मिसिंग चेक जल्दी ढूंढता है।
- Aderyn: आधुनिक Rust-आधारित एनालाइज़र, DeFi लॉजिक पर फोकस।
- Tenderly: बेहतरीन ट्रांजैक्शन विज़ुअलाइज़र। किसी भी फेल ट्रांजैक्शन को डिबग करने और सही लाइन ऑफ कोड देखने की सुविधा देता है।
आइए अंतिम, लेकिन अत्यंत महत्वपूर्ण पहलुओं पर चलते हैं: प्रोटोकॉल की जीवित रहने की अर्थव्यवस्था और गवर्नेंस की सुरक्षा। अगर कोड कंकाल है, तो टोकनोमिक्स और गवर्नेंस परियोजना की तंत्रिका प्रणाली और मांसपेशियां हैं।
11. "इकोनॉमिस्ट" स्तर: टोकनोमिक्स और छिपे हुए छिद्रों का ऑडिट
यहां तक कि पूरी तरह से लिखा गया कोड भी प्रोजेक्ट को नहीं बचा पाएगा अगर इसका आर्थिक मॉडल हाइपरइन्फ्लेशन या "मृत्यु सर्पिल" की ओर ले जाता है।
- वेस्टिंग शेड्यूल (Vesting): जांचें कि शुरुआती निवेशक और टीम अपने टोकन कब प्राप्त करते हैं।
- रेड फ्लैग: लॉन्च के एक महीने के भीतर बड़ा क्लिफ। अगर मार्केट इस मात्रा को संभाल नहीं सकता, तो कीमत गिर जाएगी, लिक्विडिटी खत्म हो जाएगी, और प्रोटोकॉल बेकार या कीमत को मैनिपुलेट करके हमला करने के लिए संवेदनशील हो जाएगा।
- इमिशन बनाम रिवेन्यू (Emission vs Revenue): रिवॉर्ड (APY) कहाँ से आ रहे हैं?
- अगर रिवॉर्ड प्रोजेक्ट के नेटिव टोकन में दिए जाते हैं, जो केवल "वायदों" को उत्पन्न करता है, तो यह पोंज़ी स्कीम है।
- अगर प्रोटोकॉल ETH/USDC में भुगतान करता है, तो स्रोत की जांच करें। क्या ये वास्तविक लेनदेन शुल्क हैं या केवल नए प्रतिभागियों के पैसे का पुनर्वितरण?
- बैड डेट (खराब ऋण): लेंडिंग प्रोटोकॉल (Aave जैसे) में LTV (Loan-to-Value) पैरामीटर जांचें। अगर प्रोटोकॉल उच्च LTV वाले illiquid shieldcoins को कॉलैटरल के रूप में स्वीकार करता है, तो हैकर shieldcoin की कीमत बढ़ा सकता है, उसके खिलाफ ETH उधार ले सकता है और कभी वापस नहीं करेगा।
12. "पॉलिटिशियन" स्तर: डीसेंट्रलाइज्ड गवर्नेंस (DAO) के जोखिम
गवर्नेंस अटैक्स पिछले कुछ वर्षों में बहुत आम हो गए हैं। हैकर्स अब कोड में बग नहीं ढूंढते—they वोट खरीदते हैं।
- गवर्नेंस टेकओवर: जांचें कि निर्णय लेने के लिए कितने टोकन की आवश्यकता है (Quorum)।
- अटैक का परिदृश्य: हैकर फ्लैश लोन लेता है, बड़ी मात्रा में वोटिंग टोकन खरीदता है, तुरंत ट्रेज़री से सभी फंड अपने पते पर ट्रांसफर करने का निर्णय पास करता है और उसे निष्पादित करता है।
- सुरक्षा: गवर्नेंस कोड में हमेशा
Snapshotशामिल होना चाहिए (वोटिंग से पहले बैलेंस लॉक) या वोटिंग अवधि के लिए टोकन लॉक।
- छिपा हुआ क्वोरम: अगर 80% टोकन 2–3 टीम वॉलेट में हैं, तो "कम्युनिटी वोटिंग" केवल नाटक है। होल्डर एनालिसिस टूल्स का उपयोग करें (जैसे Etherscan Holders Tab या Bubblemaps)।
13. "पैरानॉइड" स्तर: फ्रंटएंड और तृतीय-पक्ष डिपेंडेंसी की जांच
कभी-कभी कॉन्ट्रैक्ट का कोड साफ़ होता है, लेकिन आप फिर भी पैसे खो देते हैं। कैसे?
- Frontend Injection: हैकर्स प्रोजेक्ट की साइट को (DNS या मैलिशियस स्क्रिप्ट के जरिए) हैक करते हैं और "Deposit" बटन में कॉन्ट्रैक्ट का पता अपने पते से बदल देते हैं।
- कैसे बचें: हमेशा अपने वॉलेट (MetaMask/Rabby) में कॉन्ट्रैक्ट का पता आधिकारिक डाक्यूमेंटेशन या Coingecko के पते से मिलाएं।
- Unlimited Allowance: कम जाना-पहचाना पहलू: कुछ प्रोटोकॉल
approveकेवल ट्रांजैक्शन राशि के लिए नहीं बल्कि आपके पूरे बैलेंस के लिए मांगते हैं। अगर प्रोटोकॉल एक साल बाद हैक हो जाता है, हैकर आपके पैसे निकाल सकता है, भले ही आप लंबे समय से इसका उपयोग नहीं कर रहे हों।- नियम: Rabby Wallet का उपयोग करें, यह स्पष्ट रूप से दिखाता है कि आप कौन-सी परमिशन दे रहे हैं और खतरनाक कॉल्स के बारे में चेतावनी देता है।
14. "फाइनल फ़िल्टर" चेकलिस्ट (सहेजें)
| पैरामीटर | आदर्श स्थिति | रेड फ्लैग |
|---|---|---|
| एडमिन कीज़ | Multisig + Timelock (48h+) | Single EOA (साधारण वॉलेट) |
| ऑडिट्स | शीर्ष कंपनियों से 2+ | "NoName" का एक ऑडिट या कोई ऑडिट नहीं |
| लिक्विडिटी | लॉक्ड | एडमिन कभी भी निकाल सकता है |
| Oracle | Chainlink या TWAP | DEX से सीधे प्राइस (Spot Price) |
| अपग्रेडेबिलिटी | पारदर्शी प्रॉक्सी के साथ घोषणाएं | छिपा प्रॉक्सी बिना अपडेट डिले |
| कोड एक्सेस | Etherscan पर वेरिफाइड | कॉन्ट्रैक्ट सोर्स कोड वेरिफाइड नहीं |
निष्कर्ष: आपकी सर्वाइवल स्ट्रैटेजी
स्व-ऑडिट का मतलब सभी बग ढूंढना नहीं है — बल्कि स्पष्ट कचरा और जाल को छाँटना है।
- कभी भी दो सप्ताह से कम उम्र के प्रोटोकॉल में अपनी पूरी राशि न डालें।
- नए DeFi प्रोजेक्ट्स के लिए "सैंडबॉक्स" (अलग हॉट वॉलेट) का उपयोग करें।
- अगर APY सच होने के लिए बहुत अच्छा लगता है, तो आप खुद लिक्विडिटी हैं।
शायद बस इतना ही! आशा है कि यह गाइड आपको DeFi के उथल-पुथल भरे समुद्र में अपने पूंजी की रक्षा करने में मदद करेगा। अगर यह लेख उपयोगी था और आप किसी विशेष प्रोजेक्ट का विश्लेषण इस मेथड से करना चाहते हैं, या एनालिसिस टूल्स के बारे में सवाल हैं, तो कमेंट करें। हम जवाब देंगे या अलग गाइड प्रकाशित करेंगे।