
Ed25519 हस्ताक्षरित रसीदें + AI एजेंटों के लिए Cedar नीतियाँ। वित्त आदेश गेट (Legate), प्रूफ पैक, 3 IETF इंटरनेट-ड्राफ्ट। npx protect-mcp
AI एजेंट टूल कॉल्स के लिए fail-closed Cedar policy gate और signed receipts।
protect-mcp एक gate है जो AI एजेंट के टूल कॉल्स के सामने बैठता है। यह
प्रत्येक कॉल को Cedar policy के विरुद्ध मूल्यांकित करता है,
नियम तोड़ने वाली चीज़ों को चलने से पहले ब्लॉक करता है, और प्रत्येक निर्णय की
offline-verifiable Ed25519 receipt पर हस्ताक्षर करता है। कॉन्फ़िगर किया गया gateway लोकली चलता है और कोई decision telemetry नहीं भेजता। अलग
coordination adapter ScopeBlind की hosted collaboration service से जुड़ता है;
इसके requests और returned records का data path नीचे वर्णित है। दोनों
MIT लाइसेंस प्राप्त हैं।
साझा repository कार्य के लिए, client projects का उपयोग करें: लोग brief और limits पर सहमत होते हैं, agents reviews तैयार करते हैं, और owner का receiver repository बदल सके इससे पहले दोनों लोग एक सटीक version approve करते हैं। नीचे दिया गया repository workflow में setup और पाँच bounded agent tools शामिल हैं।
would_deny: true के रूप में चिह्नित किया जाता है, ताकि कोई failure कभी चुपचाप न हो।serve --enforce और doctor एक startup
self-test चलाते हैं और gate को arm करने से इनकार कर देते हैं जब तक वे यह न दिखा सकें कि एक known-forbidden
action वास्तव में deny होती है। जो gate सिद्ध नहीं कर सकता कि वह deny करता है, वह शुरू नहीं होता।@veritasacta/verify के साथ offline verifiable हैं।
Signature verification के लिए किसी network lookup की आवश्यकता नहीं है। Execution के बारे में दावे अभी भी
पहचाने गए gate operator पर निर्भर करते हैं।# 1. Generate an Ed25519 keypair, config template, and sample policy.
npx protect-mcp init
# 2. Print a shadow-mode client configuration, then apply it in your MCP host.
# This command prints configuration and exits; it does not launch the server.
npx protect-mcp wrap -- node your-mcp-server.js
# 3. Reopen the host and use its tools, then inspect the local-only dashboard.
npx protect-mcp dashboard --open
# 4. Draft a reviewable policy from observed calls.
npx protect-mcp recommend --write
# 5. When reviewed, restart the wrapper in enforce mode with that policy.
npx protect-mcp --policy protect-mcp.recommended.json --enforce -- node your-mcp-server.js
Claude Desktop के लिए, पहले एक dry-run config patch चलाएँ, फिर उसे लागू करें:
npx protect-mcp wrap --claude-desktop
npx protect-mcp wrap --claude-desktop --write
npx protect-mcp dashboard --open
डैशबोर्ड 127.0.0.1 पर बाइंड होता है, केवल स्थानीय लॉग/रसीद फ़ाइलें पढ़ता है, और
कुछ भी अपलोड नहीं करता। npx protect-mcp connect का उपयोग केवल तब करें जब आप स्पष्ट रूप से
होस्टेड ScopeBlind डैशबोर्ड चाहते हों।
यदि आप Claude Code हुक्स को वायर करने के बजाय गेट को टूल्स के रूप में कॉल करना पसंद करते हैं, तो इसे MCP सर्वर के रूप में चलाएँ:
npx protect-mcp mcp
यह stdio पर MCP बोलता है और चार read-only tools को expose करता है, पूरा loop:
evaluate_action: एक proposed tool call को inline Cedar policy के विरुद्ध decide करता है, fail-closed (कोई भी policy error DENY है)। { allowed, decision, reason, policy_digest } return करता है।sign_decision: एक decision को Ed25519 signed receipt में बदलता है (एक denial gateway_restraint sign करता है, एक allow decision_receipt)। receipt और उसकी public key return करता है; यदि आप एक supply नहीं करते हैं तो एक ephemeral key generate करता है।verify_receipt: एक signed receipt को offline, एक public key के विरुद्ध verify करता है। { valid, error, type, kid, issuer } return करता है।self_test: इसे सिद्ध करता है, कोई inputs नहीं। एक known-forbidden action deny किया जाता है, फिर एक signed receipt round-trip करता है और एक tampered copy fail होती है।किसी भी MCP host को इस पर point करें, उदाहरण के लिए Claude Desktop:
{
"mcpServers": {
"protect-mcp": { "command": "npx", "args": ["-y", "protect-mcp", "mcp"] }
}
}
रसीदें रनटाइम पर गेट द्वारा हस्ताक्षरित रसीदों के साथ बाइट-संगत हैं, इसलिए यहाँ बनाई गई रसीद उसी Acta एनवेलप का उपयोग करती है। सत्यापन क्षमताएँ और कैनोनिकलाइज़ेशन संगतता सत्यापनकर्ता संस्करण पर निर्भर करती हैं; नीचे वर्णित अनुरूपता व्यवहार के लिए गेटवे के verifyReceipt API का उपयोग करें।
यह स्रोत ट्री 0.14.0 तक मौजूद इंटीजर-की ऑर्डरिंग दोष को ठीक करता है: हस्ताक्षर और चेन हैश अब प्रत्यक्ष JCS सदस्य उत्सर्जन का उपयोग करते हैं, जो गेटवे की ASCII ऑब्जेक्ट-की प्रोफ़ाइल को बनाए रखता है। "10" जैसी संख्यात्मक दिखने वाली कुंजियाँ "2" से पहले आती हैं, जिसमें नेस्टेड ऑब्जेक्ट्स के अंदर भी शामिल है। गैर-JSON मान और अमान्य Unicode अस्वीकार किए जाते हैं।
साधारण JSON रसीदें जिनके एन्कोडिंग अपरिवर्तित हैं, सत्यापित होती रहती हैं। पुराने संख्यात्मक-कुंजी क्रम के साथ हस्ताक्षरित ऐतिहासिक रसीदें legacy_non_jcs_signature के रूप में रिपोर्ट की जाती हैं; सख्त सत्यापन उन्हें वैध JCS नहीं कहता। स्पष्ट ऐतिहासिक संगतता जाँच के लिए, verifyReceipt(receipt, publicKey, { allowLegacyNumericKeys: true }) का उपयोग करें और canonicalization तथा warning फ़ील्ड का निरीक्षण करें। तब इसका hash मूल ऐतिहासिक हैश होता है। मूल रसीदें और चेन लिंक सुरक्षित रखें: receiptHash के साथ पुरानी संख्यात्मक-कुंजी रसीद की पुनर्गणना अब इसका JCS हैश उत्पन्न करती है और ऐतिहासिक चेन को तोड़ सकती है। ये परिवर्तन 0.15.0 में शामिल हैं।
संस्करण 0.25.0 में एक पुन: प्रयोज्य एजेंट प्रोफ़ाइल शामिल है। सेवा की प्रदर्शित प्राधिकरण कुंजी के साथ सेटअप कमांड के लिए अपने एजेंट के माध्यम से शुरू करें खोलें। कनेक्ट करने से पहले उस कुंजी को किसी विश्वसनीय स्रोत के विरुद्ध जाँचें। उदाहरण के लिए:
npx --yes [email protected] coordination agent setup \
--client claude-code \
--profile ~/.scopeblind/agent.json \
--endpoint https://scopeblind.com/api/coordination \
--authority-key PINNED_64_HEX_AUTHORITY_KEY
--client codex या --client json का उपयोग उन पंजीकरण निर्देशों के लिए करें।
सेटअप कॉन्फ़िगरेशन प्रिंट करता है; इसे अपने क्लाइंट में लागू करें, फिर उस क्लाइंट को फिर से खोलें।
निजी प्रोफ़ाइल में एक एजेंट कुंजी और अलग-अलग स्कोप वाले कनेक्शन होते हैं, जिनमें
फ़ाइल अनुमतियाँ 600 होती हैं। सेटअप कोई कार्य अनुमति नहीं देता और कोई मानव
ब्राउज़र कुंजी कॉपी नहीं करता। पंजीकृत सर्वर coordination agent --profile FILE चलाता है।
अपने एजेंट से आपकी समीक्षा के लिए एक साझा इनवॉइस कार्य तैयार करने के लिए कहें। टूल प्रवाह है: