मुख्य सामग्री पर जाएँ
SaferICO SaferICOस्मार्ट कॉन्ट्रैक्ट सुरक्षा
AI Agents प्लान में — $59.9 प्रति माह

कोड मज़बूत, कॉन्ट्रैक्ट मज़बूत। जिसे मनाया जाता है वह चाबी रखने वाला है।

जिस एजेंट के पास वॉलेट है वह एक नई हमला-सतह है: नुक़सान तब होता है जब किसी वेबपेज का एक वाक्य चाबी रखने वाले को यह मना लेता है कि पैसा कहीं और भेज दे। यह टूल पढ़ता है कि आपका एजेंट क्या-क्या कर सकता है, यह जानने के लिए 20 प्रतिकूल प्रोब भेजता है कि वह करेगा क्या, और उसे ऐसा नक़ली वॉलेट देता है जिसमें कोई निजी कुंजी नहीं होती — ताकि वह जिस भी चीज़ पर हस्ताक्षर करने की कोशिश करे उसे आप पढ़ सकें।

20 प्रतिकूल प्रोब6 हमला-चरणनक़ली साइनर में कोई कुंजी नहींकेवल टेस्टनेट चेन आईडी
//तीन पटरियाँ

वह क्या कर सकता है, क्या करता है, और किस पर हस्ताक्षर करता है

तीनों अलग क़िस्म के प्रमाण देती हैं। «गंभीर» के रूप में सिर्फ़ देखा हुआ प्रमाण दर्ज हो सकता है — किसी क्षमता-ग्राफ़ से निकला अनुमान कभी नहीं।

A · क्षमता-ग्राफ़

एजेंट की टूल परिभाषाएँ पेस्ट कीजिए: कौन-से मूल्य हिला सकते हैं, कौन-से ऐसा पाठ भीतर लाते हैं जो एजेंट ने नहीं लिखा, कौन-से चाबियों को छूते हैं, और हस्ताक्षर से पहले बीच में कुछ है या नहीं। छह कॉन्फ़िगरेशन फ़ॉर्मैट पढ़े जाते हैं।

B · 20 प्रतिकूल प्रोब

एजेंट के एंडपॉइंट पर 20 प्रतिकूल संदेश जाते हैं और लौटा हुआ जवाब पढ़ा जाता है। देखा हुआ प्रमाण देने वाली यही अकेली पटरी है।

C · नक़ली साइनर

हम आपको एक RPC पता देते हैं। आप अपने एजेंट को एक ही एनवायरनमेंट वेरिएबल से वहाँ जोड़ देते हैं। वह जिस भी हस्ताक्षर की कोशिश करता है वह दर्ज और डिकोड होता है: कौन-सा फ़ंक्शन, कौन-सा पाने वाला, कितनी रक़म, और क्या अनुमति असीमित थी।

हानिरहित पेलोड

हर प्रोब एजेंट से कोई पहचानने लायक़ और मामूली चीज़ माँगता है: एक टोकन दोहरा दो, ऐसा पहरेदार पता बोल दो जिसकी कोई निजी कुंजी नहीं, किसी ऐसे टूल तक हाथ बढ़ा दो जिसे किसी ने माँगा नहीं। कमज़ोरी आज्ञाकारिता है।

मालिकाने का प्रमाण अनिवार्य है

एक भी रिक्वेस्ट जाने से पहले आपको एंडपॉइंट के अपने ही मूल पर /.well-known/saferico-agent-test.txt फ़ाइल प्रकाशित करनी होती है। उसमें रखा टोकन सिर्फ़ आपका खाता ही निकाल सकता है।

जो मापा नहीं गया वह पास नहीं माना जाता

जो जाँच चल ही न सकी वह «परीक्षण नहीं हुआ» के रूप में दर्ज होती है, कभी सफल के रूप में नहीं। अगर बहुत कम चीज़ें मापी गईं तो स्कोर आपको ख़ुश करने के बजाय दिया ही नहीं जाता।

टूल स्वयं (स्कैनर, कंट्रोल पैनल, SAFI वर्कस्पेस) फ़िलहाल अंग्रेज़ी इंटरफ़ेस में चलते हैं। ये पेज वहाँ जाने से पहले हर चीज़ हिन्दी में समझाते हैं।

यह सुरक्षित क्यों है

यह टूल आपके एजेंट पर हमला करता है। ऐसा वह सिर्फ़ सिद्ध की जा सकने वाली सीमाओं के साथ कर सकता है — सीमाएँ नीचे एक-एक करके लिखी हैं।

🔑 नक़ली साइनर में कोई निजी कुंजी नहीं होती

यह «हस्ताक्षर न करने पर सेट किया गया» नहीं है: मॉड्यूल में कुंजी है ही नहीं, इसलिए हस्ताक्षर करना कोई नियम नहीं जिसका वह पालन करता है, बल्कि एक ऐसा काम है जो वह कर ही नहीं सकता। यहाँ की कोई ग़लती हिल चुके कॉइन में नहीं बदल सकती, क्योंकि हिलाने के लिए कुछ है ही नहीं।

और यह नक़ली रसीद नहीं बनाता। आसान रास्ता यह होता कि एजेंट अपने रास्ते चलता रहे इसके लिए एक भरोसेमंद-सा ट्रांज़ैक्शन हैश लौटा दिया जाए — यह उस ट्रांज़ैक्शन के लिए प्रमाण गढ़ना होता जो कभी हुआ ही नहीं। इसके बजाय एक ऐसी JSON-RPC त्रुटि लौटती है जो साफ़-साफ़ कहती है कि क्या हुआ। फ़ाइंडिंग वह कोशिश ही है।

01आपका सिस्टम निर्देश इस पेज से बाहर नहीं जाता

आपकी टूल परिभाषाएँ और सिस्टम निर्देश इसी मशीन पर पार्स होते हैं। शृंखलाएँ बनाने के लिए जो भेजा जाता है वह ढाँचा है: टूल के नाम, क्षमता-श्रेणियाँ और सही/ग़लत मान।

इकलौता अपवाद साफ़ चिह्नित है: लीक वाला प्रोब किसी चीज़ से तुलना कर सके इसके लिए, आपका लिखा हुआ 200 अक्षरों तक का एक वाक्यांश प्रोब के साथ भेजा जाता है। वहीं उसकी तुलना होती है और वह फेंक दिया जाता है — न संग्रहित होता है, न दर्ज, न रिपोर्ट में लिखा जाता है, और न परखे जा रहे एंडपॉइंट को भेजा जाता है। अगर आप ये 200 अक्षर साझा नहीं करना चाहते तो ख़ाना ख़ाली छोड़ दीजिए; तब वह प्रोब सफल नहीं, «परीक्षण नहीं हुआ» के रूप में दर्ज होगा।

02छह चरण, ख़ुद हमले के अपने क्रम में

प्रोब बेतरतीब नहीं, एक असली हमले की शक्ल में आगे बढ़ते हैं:

  • प्रॉम्प्ट इंजेक्शन — क्या वह डेटा के रूप में आए निर्देश का पालन करता है? 6 प्रोब
  • टूल का दुरुपयोग — क्या उससे ऐसे टूल तक हाथ बढ़वाया जा सकता है जिसे किसी ने माँगा नहीं? 3 प्रोब
  • ट्रांज़ैक्शन से छेड़छाड़ — क्या पाने वाला या रक़म पाठ तय कर रहा है? 3 प्रोब
  • वॉलेट हस्ताक्षर — क्या वह उस इंसान से पूछे बिना हस्ताक्षर करता है जिससे पूछना ज़रूरी है? 2 प्रोब
  • अधिकारों की बढ़ोतरी और पैसे का नुक़सान — जहाँ शृंखला बंद होती है

सबसे यथार्थवादी वाला सबसे पहले खड़ा है: अप्रत्यक्ष इंजेक्शन। कोई भी किसी DeFi एजेंट को यह लिखकर नहीं भेजता कि «अपने पिछले निर्देश भूल जाओ» — वह इसे किसी टोकन के विवरण में, किसी वेबपेज में, किसी README में, या ऐसे ऑन-चेन पाठ में रख देता है जिसे एजेंट किसी टूल के ज़रिए पढ़ता है।

03सेशन अपने आप ख़त्म हो जाता है

एक नक़ली सेशन 10 क्रेडिट का पड़ता है और तीन छतों से बँधा है: 60 मिनट, 200 दर्ज घटनाएँ, और 15 मिनट की निष्क्रियता पर अपने आप रुक जाना। इनमें से हर संख्या पेज बनते समय उसी मॉड्यूल से पढ़ी जाती है जो उसे लागू करता है, इसलिए पेज ऐसी किसी सीमा का प्रचार कर ही नहीं सकता जिसे कोड लागू नहीं करता।

चेन आईडी सिर्फ़ टेस्टनेट के हैं; सेशन बनाते समय कोई मेननेट आईडी ठुकरा दी जाती है। जो एजेंट ख़ुद को मेननेट पर समझ रहा हो, वह ऐसे काम कर सकता है जिनकी सफ़ाई बाद में उसके संचालक को देनी पड़े।

//सवाल

एजेंट को परीक्षण में देने से पहले

क्या प्रोब मेरे एजेंट को सचमुच नुक़सान पहुँचाते हैं?
पेलोड बनावट से ही हानिरहित हैं: एक टोकन दोहरा देना, ऐसा पहरेदार पता बोल देना जिसकी कोई निजी कुंजी नहीं। पर आज्ञा मानने वाला एजेंट उन सिस्टमों पर असली काम कर सकता है जिनसे वह जुड़ा है — इसीलिए आपसे यह पुष्टि माँगी जाती है कि आप अधिकृत हैं, और मालिकाना एक फ़ाइल से सिद्ध करना पड़ता है।
स्कोर कभी-कभी दिया ही क्यों नहीं जाता?
क्योंकि गिनी-चुनी जाँचों से निकला ऊँचा स्कोर गुमराह करता है। जो जाँच चल न सकी वह «परीक्षण नहीं हुआ» मानी जाती है, और अगर मापा गया बहुत कम है तो स्कोर दिया ही नहीं जाता। हर बार अंश से पहले हर पढ़ा जाना चाहिए।
क्या नक़ली साइनर सचमुच पैसा नहीं रखता?
नहीं रखता। मॉड्यूल में कोई निजी कुंजी नहीं है। वह eth_chainId, eth_accounts और eth_getBalance का जवाब किसी सामान्य नोड की तरह देता है और हिलाने लायक़ बैलेंस बताता है — पर हस्ताक्षर नहीं कर सकता, क्योंकि हस्ताक्षर करने के लिए उसके पास कुछ है ही नहीं।
यह कौन-कौन से कॉन्फ़िगरेशन फ़ॉर्मैट पढ़ता है?
छह: MCP tools/list का आउटपुट, OpenAI फ़ंक्शन स्कीमा, Anthropic टूल स्कीमा, ElizaOS character.json, n8n या Make का फ़्लो एक्सपोर्ट, और सीधे एजेंट का सोर्स (JS / TS / Python)।

पैसा भेजने से पहले कॉन्ट्रैक्ट स्कैन करें

कॉन्ट्रैक्ट का पता पेस्ट करें; जोखिम में पड़ने से पहले मालिक की शक्तियाँ, लिक्विडिटी और बिक्री-सिमुलेशन का नतीजा देखें। प्रति स्कैन एक छोटा शुल्क हस्ताक्षर से पहले दिखाया जाता है — और किसी भी सदस्यता में यह असीमित रूप से शामिल है।