- शिप
- 23 सितंबर 2026 को 1:50 am बजे UTC
- लेखक
- Kamo
- Commit
- 9060c7c
तीन स्वतंत्र निष्कर्ष, एक साथ तय क्योंकि पहले दो शेयर फ़ाइलों और एक वर्ग है। 1. AiMcpController के पास बनाने / अद्यतन / डिलीट / टेस्ट पर शून्य दायां चेक थे - किसी भी हस्ताक्षरित सदस्य के रूप में संगठन एक MCP सर्वर विन्यास लगा सकता है, और mcp-gateway-service's McpStdioTransport config.command with config.envVars as a real OS process (new ProcessBuilder(...). start()), हर 30s स्वास्थ्य जांच पर प्रवेश द्वार शुरू और फिर से शुरू होता है। यही कारण है कि अप्रत्याशित RCE के खिलाफ है Mcp-gateway-service. हर उत्परिवर्तन / परीक्षण हैंडलर को अब MAAGE AI SETTINGS, मिलान की आवश्यकता होती है AiProviderController, और STDIO एक संगठन बनाया विन्यास के लिए outright मना कर दिया है - एक किरायेदार केवल SSE/HTTP को कॉन्फ़िगर कर सकते हैं। (ai mcp server configs में 0 पंक्तियाँ हैं; कोई माइग्रेशन की जरूरत नहीं है।) 2. एसएसआरएफ: ********************** एक संगठन के डिक्रिप्टेड प्रदाता कुंजी को भेजे जो भी मेजबान बेस में थेउर्ल और प्रतिक्रिया को दर्शाता है, और OpenAiCompatibleAdapter 12 प्रदाता प्रकारों में से 8 का कार्य करता है) अपने तीन आउटबाउंड कॉलों में से किसी पर कोई होस्ट नियम नहीं था - वास्तविक चैट पथ हर संदेश लेता है, न केवल मैनुअल टेस्ट बटन। जोड़ा OutboundUrlGuard, Kamo-shared-library's मौजूदा PublicHostGuard (already used by) पर बनाया गया एक ही वर्ग की समस्या के लिए सुरक्षा सेवा के सुरक्षितसाइटFetcher और सुरक्षितImageFetcher): हल मेजबान और मना कर दिया ************* पता और क्लस्टर-केवल नाम (*.svc, *.cluster.local, डॉटलेस), में समय बचाने के लिए चेक AiProviderController और AiMcpController और फिर से तुरंत पहले प्रत्येक कॉल में OpenAiCompatibleAdapter, क्योंकि सेविंग टाइम में एक होस्टनाम का DNS उत्तर हमेशा के लिए इसका उत्तर नहीं है। Refusal हमारे अपने संदेश के साथ एक सादे 400 है - कोई कच्चे नेटवर्क अपवाद नहीं है, और कोई कनेक्शन नहीं है कभी एक मनाही गंतव्य की कोशिश की। 3. **************** userId) queried उपयोग रिकॉर्ड और फिर, बिना शर्त, सही लौटे - प्रत्येक AiAccessPolicy अनुरोध / टोकन सीमा सजावटी थी। The दो वास्तविक कॉल साइटों (ChatOrchestration Service's स्ट्रीमिंग और सिंक चैट पथ) अब हर किसी को हल प्रत्येक भूमिका की मैप नीति को बनाए रखने और लागू करने की भूमिका: कोई मैप नीति अनुदान के साथ एक भूमिका अपनी खुद की कोई प्रतिबंध नहीं है, लेकिन यह एक प्रतिबंधात्मक नीति को रद्द नहीं कर सकता है जिसे निर्दिष्ट किया गया है एक सदस्य भी होता है। बर्बाद 2-arg अधिभार चला गया है। टेस्ट: AiMcpControllerAuthzTest (rights + STDIO refusal + url सत्यापन), OutboundUrlGuardTest, AiProviderKeyExposureTest (2 नए एसएसआरएफ मामले), ************* AccessPolicyMultiRoleTest. इस मामले से पहले प्रत्येक मामले को पूर्व-फिक्स कोड के खिलाफ लाल सत्यापित किया गया था (फ़िल ओपन अधिकार, शरीर-विश्वास, नो-ऑप गार्ड और हमेशा-ट्रू कोटा प्रत्येक स्थानीय रूप से पुन: शुरू की जाँच करता है, एक समय में, और मिलान परीक्षण विफल होने की पुष्टि के बाद बहाल। Mcp-gateway-service एक मेलिंग प्रतिबद्ध हो जाता है: एक स्वतंत्र STDIO स्वीकार्य (गहराई में रक्षा) मामले में यह जांच कभी बाईपास की जाती है) और SSE/HTTP config के url पर अपने पहले से कनेक्ट चेक।.
