Polymarket एक्सप्लॉइट: एक लीक हुई कुंजी, कोई कॉन्ट्रैक्ट बग नहीं

22 मई, 2026 को, ऑन-चेन जांचकर्ता ZachXBT ने Polymarket के एक वॉलेट पर हो रही निकासी को फ्लैग किया। शुरुआती अनुमान लगभग $520K था। जब तक टीम ने विवरण की पुष्टि की, संख्या $660K-$700K की ओर बढ़ चुकी थी। न कोई रीएंट्रेंसी। न कोई ऑरेकल मैनिपुलेशन। न कोई चतुर फ्लैश-लोन कोरियोग्राफी। बस एक प्राइवेट की जो किसी ऐसी जगह पहुंच गई जहां उसे नहीं होना चाहिए था।
Polymarket एक्सप्लॉइट ने स्टैक के उस हिस्से को नहीं छुआ जिसे देखने के लिए सब Trail of Bits और OpenZeppelin को पैसे देते हैं। इसने एक आंतरिक टॉप-अप वॉलेट को निशाना बनाया, एक ऑपरेशनल अकाउंट जिसका उपयोग रिवॉर्ड फंड करने और चीजें सुचारू रखने के लिए किया जाता था। उस किस्म का वॉलेट जो कभी किसी ऑडिट स्कोप में नहीं आता क्योंकि यह कोई कॉन्ट्रैक्ट नहीं है। यह किसी के इंफ्रास्ट्रक्चर पर रखी एक की है।
यही असहज करने वाली बात है। उस साल के बाद जब हेडलाइन ब्रिज और DVN मिसकॉन्फ़िगरेशन की थीं, दुनिया के सबसे ज्यादा फंडेड प्रेडिक्शन मार्केट को किताब में सबसे बुनियादी विफलता के जरिए खाली कर दिया गया।
Polygon पर वास्तव में क्या हुआ
निकाला गया अकाउंट एक ऑपरेशंस वॉलेट था, न कि प्रोटोकॉल के कोर कॉन्ट्रैक्ट्स में रखा उपयोगकर्ताओं का फंड। CoinDesk की रिपोर्टिंग के अनुसार, ZachXBT ने लगभग $520K की आवाजाही देखी, और Polymarket की टीम ने कहा कि ग्राहकों के फंड सुरक्षित हैं। हमलावर ने Polygon पर वॉलेट से POL और अन्य संपत्तियां साफ कर दीं, फिर वही किया जो हमलावर हमेशा करते हैं, कोई कुछ फ्रीज कर पाता उससे पहले ब्रिज करके बिखेर दिया।
Decrypt ने आंकड़ा $700K के करीब बताया और इसे विशेष रूप से एक आंतरिक टॉप-अप वॉलेट के रूप में पहचाना। पहले 24 घंटों में संख्याओं में अंतर सामान्य है; तंत्र विवादित नहीं है। किसी को की मिल गई।
यह Polygon POL एक्सप्लॉइट केवल इस अर्थ में है कि POL वह संपत्ति थी जो वॉलेट में रखी थी। चेन विफल नहीं हुई। कॉन्ट्रैक्ट विफल नहीं हुआ। एक ऑपरेशनल की की कस्टडी विफल हुई।
UMA CTF Adapter समस्या क्यों नहीं था
Polymarket का मार्केट रेज़ोल्यूशन UMA के ऑप्टिमिस्टिक ओरेकल के ज़रिए UMA CTF Adapter से होता है, वह कॉन्ट्रैक्ट जो सवाल पोस्ट करता है, विवादों को संभालता है, और परिणाम तय करता है। यही वह हिस्सा है जो कागज़ पर सबसे ज़्यादा प्रतिकूल जोखिम उठाता है। इसका ऑडिट हो चुका है। हज़ारों मार्केट्स में यह परखा जा चुका है।
और इस घटना से इसका कोई लेना-देना नहीं था।
मुझे लगता है यही वह विवरण है जिसे लोग नज़रअंदाज़ कर देंगे, जबकि उन्हें नहीं करना चाहिए। स्मार्ट कॉन्ट्रैक्ट लेयर टिकी रही। ओरेकल टिका रहा। जो चीज़ टूटी वह एक ऐसा वॉलेट था जिसे एक इंसान नियंत्रित करता है, जिसकी एक ऐसी कुंजी है जिस तक किसी इंसान की (या CI पाइपलाइन की, या किसी हॉट साइनिंग सर्विस की) पहुंच है। हमने बुल मार्केट का पूरा समय उन हिस्सों को मज़बूत करने में लगाया जिनका फॉर्मल वेरिफिकेशन होता है, और उन हिस्सों को नज़रअंदाज़ किया जिनके पास बस एक .env फ़ाइल है।
ऑपरेशनल कुंजियां ही असली अटैक सरफेस हैं अब
2026 की घटनाओं में एक पैटर्न दिखता है। Solidity बेहतर होती जा रही है। ऑडिटर्स अपना काम अच्छे से जानते हैं। फॉर्मल मेथड्स उन रीएंट्रेंसी बग्स को पकड़ लेते हैं जो पहले नौ अंकों को डुबो देते थे। तो हमलावर आगे बढ़ गए।
वे नरम हिस्सों की तरफ मुड़े:
- रिवॉर्ड्स, गैस टॉप-अप, और मार्केट-मेकिंग के लिए इस्तेमाल होने वाले हॉट वॉलेट।
- डिप्लॉयर कुंजियां जिन्हें लॉन्च के बाद कभी रोटेट नहीं किया गया।
- मल्टीसिग साइनर जो साइनिंग और ब्राउज़िंग के लिए एक ही लैपटॉप इस्तेमाल करते हैं।
- CI/CD सीक्रेट्स जो प्रोडक्शन में ट्रांज़ैक्शन साइन कर सकते हैं।
इनमें से कुछ भी किसी ऑडिट रिपोर्ट में नहीं होता। जब मैं किसी रेगुलेटेड एक्सचेंज पर सिक्योरिटी का दायरा तय करता हूं, तो कॉन्ट्रैक्ट रिव्यू शायद एक तिहाई काम होता है। बाकी काम है HSM, साइनर सेग्रीगेशन, की सेरेमनी डॉक्यूमेंटेशन, और यह बेहद उबाऊ लेकिन ज़रूरी सवाल कि "रात तीन बजे पैसे कौन हिला सकता है और उसे क्या रोकेगा।" यही वह हिस्सा है जहां ज़्यादातर टीमें असुरक्षित हैं।
यह वही सबक है जो Kelp DAO LayerZero लॉस से मिला था, $292M किसी कॉन्ट्रैक्ट बग से नहीं बल्कि ऑपरेशनल लेयर में एक गलत कॉन्फिगरेशन से गए। तंत्र अलग था, मूल कारण एक ही था: वह उबाऊ हिस्सा जिसका कोई ऑडिट नहीं करता।
$660K के ऑप्स वॉलेट की संरचना कैसी होनी चाहिए थी
अगर एक अकेली key $660K को हिला सकती है, तो यह बुरी किस्मत नहीं, एक डिज़ाइन का फैसला है। किसी भी ऑपरेशनल वॉलेट के लिए जो meaningful value रखता हो, ये चीज़ें बुनियादी ज़रूरत होनी चाहिए:
- वॉलेट लॉजिक में ही spending limits. एक rewards top-up वॉलेट को एक ट्रांज़ैक्शन में अपना पूरा बैलेंस भेजने की ज़रूरत नहीं होनी चाहिए। इसे on-chain rate-limit करें।
- एक तय सीमा से ऊपर threshold signing. छोटे automated payouts hot हो सकते हैं। लेकिन मान लीजिए $10K से ऊपर कुछ भी, उसके लिए दूसरे signer की ज़रूरत होनी चाहिए। बड़े transfers के लिए low threshold वाला Safe multisig कोई मुश्किल काम नहीं है।
- App environment से key isolation. किसी ops वॉलेट की signing key कभी भी ऐसी जगह नहीं रहनी चाहिए जहाँ application code, dependencies, या कोई compromised CI runner उसे पढ़ सके।
- Monitoring जो असामान्य outflow पर किसी इंसान को page करे. ZachXBT ने इसे टीम के announcement से पहले पकड़ा। आपका अपना alerting system किसी तीसरे पक्ष से पहले mempool देख रहा होना चाहिए।
इसमें कुछ नया नहीं है। यही वो चीज़ें हैं जो तब कट जाती हैं जब कोई टीम तेज़ी से ship कर रही हो और वॉलेट "बस rewards के लिए" हो।
वो audit-stack gap जिसका कोई मालिक नहीं
असली समस्या internally jurisdictional है। Smart contract security का एक साफ़ मालिक होता है: audit firm। Operational key security का मालिक होता है... जिसने भी वॉलेट सेटअप किया, आमतौर पर deadline के दबाव में, और अक्सर इसे दोबारा कभी देखा नहीं जाता। मैंने इस gap के बारे में DeFi के टूटे हुए audit stack के संदर्भ में लिखा है, certification contracts को cover करता है और contract boundary पर रुक जाता है। जो कुछ भी operational है, वो scope से बाहर है और दिमाग से भी।
जब तक कोई regulator या insurer operational security को एक ऐसा line item बनाने पर मजबूर नहीं करता जिसका कोई owner हो, यह होता रहेगा। 2026 में DeFi की operational security लगभग वहीं है जहाँ 2019 में smart contract security थी: सबको पता है कि ज़रूरी है, किसी का नहीं है, और funding में सबसे आखिर में आती है।
Polymarket ठीक रहेगा। $660K उनके आकार के प्लेटफॉर्म के लिए झेलने योग्य है, और उनकी तारीफ करनी होगी कि उन्होंने तेजी से और साफ तौर पर बात की। लेकिन अगली बार जिस टीम के साथ यह होगा, उसके पास इसे झेलने की वित्तीय क्षमता नहीं हो सकती। वह बड़ी सेंध जो रिवॉर्ड्स वॉलेट की जगह पूरी ट्रेजरी खाली कर देगी, वह आने वाली है, और वह Solidity का कोई बग नहीं होगा। वह एक लैपटॉप पर पड़ी private key होगी।