Auditing MCP Servers for Over-Privileged Tool Capabilities
यह शोध पत्र mcp-sec-audit को प्रस्तुत करता है, जो एक विस्तार योग्य सुरक्षा टूलकिट है जो मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) सर्वरों में अत्यधिक विशेषाधिकार प्राप्त क्षमताओं का पता लगाने और उन्हें कम करने के लिए स्टैटिक पैटर्न मैचिंग और डायनेमिक सैंडबॉक्स्ड फज़िंग को जोड़ता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपने अभी-अभी एक सुपर-स्मार्ट रोबोट असिस्टेंट (एक AI) बनाया है जो लगभग किसी भी काम में आपकी मदद कर सकता है। इसे वास्तव में उपयोगी बनाने के लिए, आपने इसे अपने घर, अपने कार्यालय और अपने बैंक खाते की "चाबियाँ" दी हैं। इन चाबियों को MCP सर्वर (मॉडल कॉन्टेक्स्ट प्रोटोकॉल) कहा जाता है। ये चाबियाँ AI को आपकी फाइलों से बात करने, ईमेल भेजने या आपके कंप्यूटर पर प्रोग्राम चलाने की अनुमति देती हैं।
समस्या यह है? आपने अनजाने में रोबोट को एक मास्टर की (master key) दे दी है जो सब कुछ खोल सकती है, जिसमें वह तिजोरी भी शामिल है जहाँ आप अपने रहस्य रखते हैं, जबकि उसे केवल फ्रिज खोलने की ज़रूरत थी।
यह पेपर एक नया टूल पेश करता है जिसे mcp-sec-audit कहा जाता है। इसे एक सुपर-स्मार्ट सुरक्षा निरीक्षक (security inspector) के रूप में समझें जो रोबोट को अपने घर में प्रवेश देने से पहले उसकी चाबियों की जाँच करता है।
यह कैसे काम करता है, यहाँ सरल अवधारणाओं में दिया गया है:
1. दो-चरणीय निरीक्षण प्रक्रिया (The Two-Step Inspection Process)
यह टूल केवल एक चीज़ को नहीं देखता; यह एक "डबल-चेक" सिस्टम का उपयोग करता है, जैसे कि एक जासूस जो ब्लूप्रिंट (नक्शा) भी पढ़ता है और संदिग्ध को कार्रवाई करते हुए भी देखता है।
चरण A: ब्लूप्रिंट स्कैन (स्टैटिक एनालिसिस - Static Analysis)
कल्पना कीजिए कि आप रोबोट के निर्देश मैनुअल (कोड) को बिना चालू किए देख रहे हैं। टूल "खतरनाक शब्दों" को खोजने के लिए टेक्स्ट को स्कैन करता है।- उपमा (Analogy): यह एक शिक्षक द्वारा छात्र के निबंध में "बम" या "हैक" जैसे वर्जित शब्दों को स्कैन करने जैसा है। यदि कोड कहता है
open_safe()याdelete_files(), तो टूल तुरंत लाल झंडी (red flag) दिखा देता है। यह तेज़ है और इसके लिए कोड चलाने की आवश्यकता नहीं होती है। - सीमा (Limitation): यदि छात्र किसी अलग भाषा में "बम" लिखता है या इसे कोड के भीतर छिपा देता है, तो शिक्षक इसे मिस कर सकता है।
- उपमा (Analogy): यह एक शिक्षक द्वारा छात्र के निबंध में "बम" या "हैक" जैसे वर्जित शब्दों को स्कैन करने जैसा है। यदि कोड कहता है
चरण B: सैंडबॉक्स टेस्ट (डायनेमिक एनालिसिस - Dynamic Analysis)
यह सबसे दिलचस्प हिस्सा है। टूल रोबोट को एक कांच के पिंजरे (एक सुरक्षित, अलग कंटेनर जिसे डॉकर सैंडबॉक्स कहा जाता है) में डाल देता है और उसे खुला छोड़ देता है।- उपमा (Analogy): कल्पना कीजिए कि आप रोबोट को एक ध्वनिप्रूफ, बुलेटप्रूफ कमरे के भीतर एक बंद बॉक्स खोलने की कोशिश करने देते हैं। जब वह कोशिश करता है, तो टूल देखता है कि वास्तव में क्या होता है। क्या वह वास्तव में ताला तोड़ देता है? क्या वह कोई फोन नंबर डायल करने की कोशिश करता है?
- द "eBPF" मैजिक: टूल एक विशेष हाई-टेक कैमरे (जिसे eBPF कहा जाता है) का उपयोग करता है जो कंप्यूटर के मस्तिष्क (कर्नेल) के अंदर देख सकता है ताकि रोबोट की हर एक हरकत को देखा जा सके, भले ही रोबोट खुद को छिपाने की कोशिश करे।
2. "रिपोर्ट कार्ड" (The "Report Card")
एक बार निरीक्षण पूरा हो जाने के बाद, यह टूल केवल "बुरा है!" नहीं कहता। यह आपको एक विस्तृत रिपोर्ट कार्ड देता है:
- जोखिम स्कोर (Risk Score): यह रोबोट को ग्रेड देता है (कम, मध्यम, उच्च, या गंभीर जोखिम)।
- "क्या-होता-अगर" की सूची (The "What-If" List): यह आपको विस्तार से बताता है कि रोबोट क्या कर सकता था। "यह रोबोट आपके बैंक फोल्डर में लिख सकता है," या "यह रोबोट आपके कंप्यूटर पर कोई भी कमांड चला सकता है।"
- "ठीक करने वाला गाइड" (The Fix-It Guide): सबसे महत्वपूर्ण बात यह है कि यह आपको इसे ठीक करने का तरीका बताता है। केवल यह कहने के बजाय कि "इसे उपयोग न करें," यह कहता है, "ठीक है, यदि आपको ज़रूर इस रोबोट का उपयोग करना है, तो केवल फ्रिज की चाबी दें, सुरक्षित (safe) की नहीं। सुरक्षित दरवाज़े को लॉक करने के लिए सटीक कोड यहाँ है।"
3. हमें इसकी आवश्यकता क्यों है?
वर्तमान में, AI टूल्स का उपयोग करने में बहुत कुशल होता जा रहा है। लेकिन डेवलपर्स गलतियाँ कर सकते हैं। वे अनजाने में AI को बहुत अधिक शक्ति दे सकते हैं, जैसे कि एक लाइब्रेरियन को लाइब्रेरी के पूरे डेटाबेस को डिलीट करने की अनुमति देना।
- इस टूल से पहले: आपको तब तक पता नहीं चलेगा कि आपका AI खतरनाक है जब तक कि वह गलती से आपकी फाइलें डिलीट नहीं कर देता।
- इस टूल के साथ: आप इसे चालू करने से पहले ही गलती को पकड़ लेते हैं। यह एक रोलरकोस्टर की जाँच करने वाले सुरक्षा निरीक्षक जैसा है, इससे पहले कि कोई इस पर सवारी कर सके।
4. पेपर से वास्तविक दुनिया के उदाहरण
लेखकों ने अपने टूल का तीन तरीकों से परीक्षण किया:
- "नकली" टेस्ट (The "Fake" Test): उन्होंने जानबूझकर एक नकली, खतरनाक रोबोट बनाया। टूल ने पायथन कोड में 100% खतरनाक हिस्सों को ढूंढ निकाला।
- "वास्तविक दुनिया" टेस्ट (The "Real World" Test): उन्होंने 45 वास्तविक AI सर्वरों के डेटासेट की जाँच की। उन्होंने सैकड़ों जोखिम भरे व्यवहार पाए, जैसे कि ऐसे टूल्स जो अन्य टूल्स को हाईजैक कर सकते हैं या गलत निर्देश इंजेक्ट कर सकते हैं।
- "भाषा" टेस्ट (The "Language" Test): उन्होंने अलग-अलग भाषाओं (पायथन और जावास्क्रिप्ट) में बने रोबोटों का परीक्षण किया।
- "ब्लूप्रिंट स्कैन" (स्टैटिक) जावास्क्रिप्ट रोबोट्स को मिस कर गया क्योंकि यह केवल पायथन निर्देशों को पढ़ना जानता था।
- "सैंडबॉक्स टेस्ट" (डायनेमिक) ने सब कुछ पकड़ लिया, चाहे भाषा कोई भी हो, क्योंकि इसने वास्तव में देखा कि रोबोटों ने क्या किया।
निचोड़ (The Bottom Line)
mcp-sec-audit भविष्य के लिए एक सुरक्षा जाल (safety net) है। यह सुनिश्चित करता है कि जब हम अपने सबसे स्मार्ट AI सहायकों को अपने वास्तविक दुनिया के टूल्स से जोड़ते हैं, तो हम अनजाने में उन्हें साम्राज्य की चाबियाँ नहीं सौंप रहे हैं। यह कोड की जाँच करता है, व्यवहार को देखता है, और आपको बताता है कि उन दरवाजों को कैसे बंद करना है जो खुले नहीं होने चाहिए।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।