
إيصالات موقعة بـ Ed25519 + سياسات Cedar لوكلاء الذكاء الاصطناعي. بوابة التفويض المالي (Legate)، حزم الإثبات، 3 مسودات إنترنت من IETF. npx protect-mcp
بوابة سياسات Cedar المغلقة عند الفشل مع إيصالات موقّعة لاستدعاءات أدوات وكيل الذكاء الاصطناعي.
protect-mcp هي بوابة تقف أمام استدعاءات أدوات وكيل الذكاء الاصطناعي. تقيّم
كل استدعاء مقابل سياسة Cedar (نفس اللغة التي
تستخدمها AWS لـ IAM)، وتحجب ما يخالف القواعد قبل تنفيذه، وتوقّع
إيصال Ed25519 قابلاً للتحقق دون اتصال لكل قرار. تعمل محلياً، ولا ترسل أي
بيانات قياس عن قراراتك إلى أي مكان، ومرخّصة بموجب MIT.
would_deny: true، فلا يكون الفشل صامتاً أبداً.serve --enforce وdoctor اختباراً
ذاتياً عند بدء التشغيل ويرفضان تسليح البوابة ما لم يستطيعا إثبات أن إجراءً
معروفاً بأنه محظور يُرفض فعلاً. البوابة التي لا تستطيع إثبات أنها ترفض لا
تبدأ.@veritasacta/verify.
لا حاجة للثقة بالبائع: الرياضيات لا تهمّها من يشغّلها.npx protect-mcp init
npx protect-mcp wrap -- node your-mcp-server.js
npx protect-mcp dashboard --open
npx protect-mcp recommend --write
npx protect-mcp --policy protect-mcp.recommended.json --enforce -- node your-mcp-server.js
بالنسبة لـ Claude Desktop، شغّل تصحيح إعدادات تجريبي أولاً، ثم طبّقه:```bash
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:```bash npx protect-mcp mcp
يتحدث MCP عبر stdio ويكشف عن أربع أدوات للقراءة فقط، الحلقة الكاملة:
- **`evaluate_action`**: يقرر استدعاء أداة مقترحًا مقابل سياسة Cedar مضمّنة، بمنطق الفشل المغلق (أي خطأ في السياسة يعني DENY). يُرجع `{ allowed, decision, reason, policy_digest }`.
- **`sign_decision`**: يحوّل القرار إلى إيصال موقّع بـ Ed25519 (الرفض يوقّع `gateway_restraint`، والسماح يوقّع `decision_receipt`). يُرجع الإيصال ومفتاحه العام؛ ويولّد مفتاحًا مؤقتًا إذا لم تزوّده بواحد.
- **`verify_receipt`**: يتحقق من إيصال موقّع دون اتصال مقابل مفتاح عام. يُرجع `{ valid, error, type, kid, issuer }`.
- **`self_test`**: يثبت ذلك، دون مدخلات. يُرفض إجراء محظور معروف، ثم يمرّ إيصال موقّع ذهابًا وإيابًا وتفشل نسخة معدّلة.
وجّه أي مضيف MCP إليه، على سبيل المثال Claude Desktop:```json
{
"mcpServers": {
"protect-mcp": { "command": "npx", "args": ["-y", "protect-mcp", "mcp"] }
}
}
تُعد الإيصالات متوافقة على مستوى البايت مع تلك التي توقّعها البوابة وقت التشغيل، لذا فإن الإيصال الصادر هنا يتم التحقق منه باستخدام @veritasacta/verify ومتحقق المتصفح بنفس الطريقة.
protect-mcp dashboard هي واجهة المشغّل للانتقال من الرؤية إلى التنفيذ:
Require approval، أو Block، أو Observe. أعد تشغيل الغلاف بعد مراجعة التغييرات.بالنسبة لموافقات التراجع المباشرة على سطح المكتب، ابدأ لوحة التحكم بنقطة نهاية موافقة البوابة المحلية والـ nonce المطبوعين بواسطة الغلاف:```bash
npx protect-mcp dashboard --open
--approval-endpoint http://127.0.0.1:9876
--approval-nonce "$PROTECT_MCP_APPROVAL_NONCE"
`Approve` يُمرَّر إلى البوابة المحلية المباشرة عند وجود تلك الأعلام.
يُسجَّل `Deny` و`Edit` و`Take over` محليًا كسجلات حلّ الموافقة؛ استخدمها كتعليمات
للمشغّل وأعد تشغيل الأداة عند الحاجة.
### الحدّ المدفوع MVP: تثبيت الملخّص، لا رفع البيانات
تبقى الإيصالات الموقّعة ذاتيًا محليًا مجانية وقابلة للتحقق دون اتصال. الحدّ المدفوع هو
دليل مستقل على أن ScopeBlind رأى ملخّص إيصال في وقت ما، تحت هوية مؤسسة، دون تلقّي
المطالبة الخام أو حمولة الأداة أو المخرجات أو المفتاح الخاص أو الإيصال الخام.```bash
# Create or refresh a local org identity and public-key directory.
npx protect-mcp registry init --org "Meridian Global Macro" --billing-account acct_meridian
# Local preview: writes a digest registry and shareable static verifier page.
npx protect-mcp registry anchor
# Hosted mode: uploads receipt digests only for independent anchoring.
SCOPEBLIND_TOKEN=... npx protect-mcp registry anchor \
--hosted \
--endpoint https://api.scopeblind.com \
--verifier-base https://scopeblind.com
المعاينة المحلية مُصنَّفة عمداً local-preview-not-independent.
الوضع المستضاف يثبّت فقط تجزئات الإيصالات، ومعرّفات الطلبات، والمفاتيح العامة للمؤسسة،
وبيانات الفوترة الوصفية. ولا يرفع الإيصالات الخام أو السياق الحساس.
protect-mcp killer-demo يولّد حزمة عرض/بيع كاملة مدتها ثلاث دقائق:```bash
npx protect-mcp killer-demo --dir ./scopeblind-demo
ينشئ نظام ملفات وهميًا ونشاطًا وهميًا لـ GitHub والبريد الإلكتروني ونظام إدارة الأداء (PMS)؛ ويعرض الاستدعاءات الخطرة في
وضع الظل (shadow mode)؛ ويطبّق حزمة سياسات؛ ويطلب الموافقة على حجز حساس في نظام إدارة الأداء (PMS)؛
وينفّذ عبر البوابة (gateway)؛ ويكتب إيصالًا موقّعًا؛ ويثبت أن الإيصال
الأصلي يُتحقق منه؛ ويثبت أن إيصالًا مُتلاعبًا به يفشل؛ وينشئ حزمة
إفصاح انتقائي تُخفي السياق الحساس مع إظهار الحد الأدنى من الإثبات.
افتح ملف `DEMO-RUNBOOK.md` المُنشأ أولًا. ثم شغّل أمر لوحة المعلومات
المطبوع لاصطحاب العميل عبر التسلسل الدقيق.
### الإفصاح الانتقائي v0
يمكن لإيصالات وضع الالتزام (commitment-mode) أن تحمل `committed_fields_root` بدلًا من كشف
كل حقل بنص صريح. لاحقًا، يمكن للحائز أن يفصح عن حقول محددة فقط:```bash
npx protect-mcp verify-disclosure \
--receipt ./receipts/selective-disclosure.receipt.json \
--disclosure ./receipts/selective-disclosure.tool-only.json
يتحقق المدقق من تجزئة الإيصال الأصلي، وتوقيع Ed25519، وجذر الالتزام، وإثبات Merkle لكل حقل مُفصح عنه. ثم يوضح الحقول التي تم الإفصاح عنها والحقول الملتزم بها التي لا تزال مخفية. هذا إفصاح عن التزام مملح، وليس معرفة صفرية كاملة، لكنه يجعل ادعاء الخصوصية ملموسًا: يمكن للمدققين التحقق من حقائق مختارة دون تلقي حمولة الأداة الكاملة أو سياق المكتب الحساس.