دع الوكيل يعمل. وأبقِ السيطرة على الأثر النهائي.
تأمين خادم MCP وحده لا يكفي: فالوكيل يصل أيضًا إلى الـ shell والملفات وواجهات API والأتمتة التي يتيح له إطار تشغيله الوصول إليها. يجمع هذا الدليل المسار كاملًا للمطوّرين والمؤسسات: تشخيص الإعدادات الموجودة لديك، واختبار الحدّ الفاصل، وتفويض المرشّح المحدد فقط، والتحكم في التشغيل، وإعادة بناء ما حدث فعلًا بالاعتماد على الأدلة.
متاح · Break the Mandate
لمن هذا الدليل
المطوّرون والمشرفون على المشاريع
فرق تفوّض بالفعل مهامّ إلى وكلاء البرمجة وتريد تركهم يعملون مدة أطول دون الموافقة على كل أمر. Doctor على ملفاتهم الخاصة، ومختبر محلي بلا حساب، وإيصال يُرفق بالـ PR.
فرق المنصّات والأمن
من يقرّرون ما يمكن للوكيل أن يربطه (mount) وأن يصل إليه وأن يصدّره. إعداد واحد قابل للنقل ومُدار بالإصدارات في Git، والتحقق نفسه في CLI ولوحة التحكم، وضوابط hold وstop تؤكدها بيئة التشغيل.
المؤسسات والمنظمات
كل من يتحمل المسؤولية عمّا تفعله البرمجيات الذاتية بالعملاء أو المدقّقين أو الجهات التنظيمية. تبقى السلطة خارج الوكيل، ويترك كل أثر دليلًا يمكن التحقق منه دون اتصال، وتُكتب حدود هذا الدليل صراحةً.
ثلاثة أسطح، ومبدأ واحد
يمكن للوكلاء أن يقترحوا. وتبقى السلطة خارج الوكيل. تقتصر التغطية على المسارات المعلنة والمختبَرة: لا تتحكم SecureStamp في العمليات التي تتجاوز هذا الحدّ، وتسمّيها بدل أن تخفيها.
خوادم MCP
خادم يُشغَّل عبر shell، أو سرّ مكتوب داخل الملف، أو حزمة غير مثبّتة الإصدار، تحوّل أداةً إلى مسار سلطة لم يراجعه أحد.
يقرأ Doctor الملف المختار ويقترح نسخة مصحّحة؛ ويتوسّط MCP Guard في الاستدعاء، ويربط Action Proof التفويض بالأثر المحدد.
Action Proofالوكلاء
يمكن للوكيل أن يجرّب الأمر نفسه عبر MCP أو الـ shell أو سكربت أو استدعاء مباشر لـ API. وسجلاته وملخصاته تصف ما يقول إنه فعله، لا ما حدث فعلًا.
يقبل Execution Guardian الخاص بالعميل كل أثر تتوسّط فيه المنظومة أو يوقفه؛ ويسجّل مراقب خارج الوكيل النتيجة، ويحدّ Task Contract الخطوات والموارد والميزانية ومدة الصلاحية.
Task Contractأطر التشغيل
تحدد نقاط الربط (mounts) والمقابس (sockets) ومساعدات بيانات الاعتماد والوكلاء الوسطاء والشبكة الفعلية السلطةَ التي يملكها الوكيل حقًا، حتى حين يقول الإعداد المعلن غير ذلك.
يختبر المختبر ملف إطار التشغيل مسارًا بمسار، مقارنةً بخط أساس متساهل، ويعلّم كل مسار بلا مسبار على أنه not evaluated.
مختبر الوكلاء وأطر التشغيلBreak the Mandate — الجولة خطوة بخطوة
السؤال الافتتاحي بسيط: هل يستطيع وكيلك فعل شيء خارج المهمة التي وافقت عليها؟ يجيب السيناريو المرجعي في خمس خطوات، على fixtures اصطناعية، دون حساب ودون مفتاح API لأي نموذج.
- 01
مهمة مفيدة
يُعدّ الوكيل تغييرًا حقيقيًا داخل fixture معزولة.
- 02
الثغرة، في خط الأساس
المحاولة نفسها خارج نطاق المهمة تُحدث أثرها في خط أساس متساهل عمدًا، ويُرصد من عملية أخرى. إنه ضابط تجريبي معروف، وليس ثغرة اكتُشفت على جهازك.
- 03
الثغرة، بعد احتوائها
مع تفعيل الضابط يُحتوى هذا المسار، وتكتمل المهمة المفيدة مع ذلك. فالرفض الذي يجعل المهمة بلا فائدة لا يُحتسب قيمة.
- 04
تنتهي صلاحية الدليل عندما تتغير البيئة
تتغير تبعية جوهرية في الملف: فيتوقف الدليل السابق عن تأهيل ذلك المسار إلى أن يُعاد التحقق منه.
- 05
يخرج المرشّح المحدد وحده
يُراجَع المرشّح المجمَّد. تغيير بايتاته أو وجهته يُبطل التصدير؛ وإعادة ما تمت الموافقة عليه تتيح الأثر.
بداية سريعة
لا يحتاج Doctor إلى Docker ولا إلى نموذج، ولا ينفّذ شيئًا مما يقرؤه. السيناريو المرجعي اصطناعي: لا ينفّذ أبدًا شيفرة المشروع، ويُوسَم تقريره بأنه دليل محاكى.
# Node 22.22.3 أو أحدث npm install --save-dev @securestamp/mcp-guard @securestamp/execution-governance # 1. Doctor: تشخيص ثابت للملفات التي تختارها npx securestamp-mcp-doctor scan .mcp.json --propose npx securestamp-mcp-doctor scan-native <settings.json|config.toml> --format=<shape> npx securestamp-mcp-doctor scan-workflow .github/workflows/agent.yml # 2. سيناريو قابل للنقل: تحقّق وشغّل المرجع، مع hold npx securestamp-execution-governance validate scenario.json npx securestamp-execution-governance run scenario.json --hold-before=step-1
يعرض كل أمر طريقة استخدامه والصيغ المدعومة عند تمرير وسائط غير صالحة. للحصول على HarnessProfileV1 كامل، استخدم securestamp-mcp-doctor scan-harness. مع --hold-before، يعرض التشغيل أثرًا معلَّقًا لا يُقبل أبدًا. لا قياس عن بُعد افتراضيًا.
Doctor: ملفاتك الأصلية أولًا
ينتج Doctor حقائق معلنة، لكل منها ملفها المصدر وحقلها، وتشخيصًا جزئيًا يبيّن الطبقات التي قرأها وتلك التي بقيت مجهولة. يُوصَف التوافق بأنه شكل + وسيلة نقل + عميل مختبَر؛ والصيغة التي لا يتعرف عليها يُبلَّغ عنها بأنها غير مدعومة، ولا تُتجاهل بصمت أبدًا.
.mcp.json · JSON مع mcpServers (stdio)الأوامر المعلنة، ومراجع بيانات الاعتماد، والأسرار المكتوبة داخل الملف، وعمليات التشغيل عبر shell، والحزم القابلة للتغيّر أو @latest. الإصدار المثبّت لا يثبت السلامة: فالتحقق من الأثر الفعلي مقابل المعتمَد مهمة المنفِّذ.
settings.json · config.toml ([mcp_servers])الأذونات والأدوات وطبقات الإعداد المعروفة، مع التعارضات والبيانات الناقصة. لا يكشف ملف واحد السياسات المُدارة ولا تجاوزات CLI ولا الإعداد الموروث: ويذكر الخرج ذلك.
.github/workflows/*.ymlAgent Workflow Doctor: مدخلات غير موثوقة من issue أو PR أو تعليق تصل إلى الوكيل، والأذونات المعلنة، ومراجع الأسرار، والأدوات الواسعة، وcheckout لمحتوى خارجي. لا ينزّل الـ actions ولا يحلّ الأسرار ولا ينفّذ YAML.
HarnessProfileV1الملف الكامل للمستخدمين المتقدمين. لا يخترعه Doctor أبدًا من ملف واحد: فالـ mounts والمراقب وبيانات الاعتماد الفعلية والـ backend يختارها المشغّل ويتحقق منها.
- يقرأ فقط الملفات التي يُوجَّه إليها؛ ولا يمسح المجلد الرئيسي للمستخدم.
- لا ينفّذ أي أوامر أو hooks أو تعبيرات واردة في الملف.
- لا يحلّ أي أسرار ولا يتحقق من أي tokens.
- يقترح تصحيحًا قابلًا للمراجعة على نسخة؛ ولا يستبدل الأصل أبدًا.
- يعرض النتيجة النظيفة بالوزن نفسه الذي يعرض به الملاحظة.
- التشخيص الثابت لا يثبت عزلًا ولا حماية.
Exact Export: الوكيل يُعدّ، وأنت تفوّض التغيير المحدد
يُعدّ الوكيل التغيير في نسخة معزولة من مشروعك. تبقى بيانات اعتماد التصدير خارج بيئته، ولا يخرج إلا المرشّح الذي روجع، عبر Execution Guardian.
- 01
الإعداد
في حجر معزول، على لقطة من المشروع المختار؛ ولا يُعاد استخدام .git الخاص بك أبدًا كأساس موثوق.
- 02
التجميد
يُثبَّت المرشّح قبل المراجعة: الأساس، والبايتات والبصمات، والـ ref، والوجهة، والحالة السابقة.
- 03
التفويض
الموافقة مرتبطة بهذا المرشّح. أي تغيير لاحق يُبطلها؛ ولا يحلّ الخيار --yes محل MFA ولا محل النصاب (quorum).
- 04
التنفيذ
يحتفظ Guardian بالعهدة، مع فحص حالة الوجهة: لا يُكتب فوق الانحرافات (drift) ولا حالات التسابق (races) أبدًا.
- 05
التحقق
تحقق مستقل من الشرط اللاحق (postcondition)، وإيصال ترفقه بالـ PR أو بالـ issue.
الوجهة الأولية مستودع Git محلي. مع ملف ووجهة مفوَّضين، ينشئ محوّل GitHub ref جديدًا: ولا يحدّث أي فرع، ولا ينفّذ force-push ولا دمجًا ولا نشرًا، وفتح PR أثر منفصل له تفويضه الخاص. لا يُدَّعى الاحتفاظ ببيانات الاعتماد إلا للملف الذي يثبته بالهوية الفعلية والـ mounts والمقابس والشبكة، مع canaries من سياق الوكيل.
إعداد واحد قابل للنقل، وثلاث واجهات
الإعداد ملف JSON يُدار بالإصدارات في مستودعك. تولّد المكتبة العقود الكاملة وبصماتها؛ ولا يكتب أحد التواقيع يدويًا. تستورد CLI ولوحة التحكم التمثيل نفسه وتصدّره، وتخضعان للتحقق نفسه: فلا توجد سياسة ويب تختلف عن السياسة الموجودة في Git. كل تعديل ينشئ مراجعة جديدة، وتحتفظ التشغيلات النشطة بلقطتها.
السيناريو
نسخة مُدارة بالإصدارات من SSPI-execution-scenario: المعاملات، ومصدر المشروع مع digests المرشح والأساس، والخطوات مع عمليتها وأثرها المتوقع. لا يقبل سكربتات عشوائية ولا نتيجة متوقعة يُعدَّل فيها المطلوب لتحويل ثغرة إلى نجاح.
الملف (Profile)
المنفِّذ (runner) وملفه: الـ backend، وعقد المراقب (observer lease)، وعقد قناة التحكم (control-channel lease). يفحص النظام توافرها وانطباق الدليل.
التفويض (Mandate)
حدود الأثر والزمن، وdigests لكل أثر ومورد، والموافقات المطلوبة: Task Contract خارج متناول الوكيل.
npm · @securestamp/execution-governanceعقود سيناريو قابلة للنقل، ومستوى تحكم مع hold وresume وstop، وتقارير منقّحة: التحقق من السيناريوهات وتسلسلها، وبدء التشغيلات، وإصدار أوامر idempotent، وبناء التقارير والتحقق منها ومقارنتها. لا يمنح أي صلاحية، ولا يحتوي المضيف، ولا يحلّ محل Guardian الخاص بالعميل.
CLI · securestamp-mcp-doctor · securestamp-execution-governancescan وscan-native وscan-workflow وscan-harness للتشخيص؛ وvalidate وrun للسيناريوهات. بلا حساب. ينتج كل تشغيل تقريره الخاص دون الكتابة فوق تقرير آخر.
Dashboard · securestamp.online/dashboard/agentsالسيناريوهات، والتحضير، والتشغيلات، والتفاصيل المباشرة والتحليل بعد التشغيل، على منفِّذات مسجَّلة يديرها العميل. لا ينفّذ المتصفح الاختبار ولا يتلقى بيانات اعتماد المزوّد؛ وربط المنفِّذ اختياري.
Hold وResume وStop
تعمل الضوابط على المسارات التي يتوسّط فيها Guardian. قد يواصل الوكيل الاستدلال بينما تكون آثاره موقوفة؛ وتعرض الواجهة ذلك على أنه «الآثار موقوفة / العملية قيد التشغيل»، لا على أن الوكيل مجمَّد.
Hold
يغلق Guardian قبول الآثار الجديدة ويحتفظ بالميزانية والـ grants المستهلكة والسجل. ولا يجمّد الاستدعاءات المُرسَلة أصلًا ولا يبني طابورًا من الآثار القديمة.
Resume
قبل إعادة الفتح، يُعاد التحقق من التفويض ومدة الصلاحية والسياسة والملف والمراقب والميزانيات. ويُقيَّم كل طلب جديد من جديد.
Stop
نهائي بالنسبة للتشغيل: يغلق القبول بصورة دائمة، ويلغي العمل المعلّق، وينهي العمليات المُشرَف عليها وعملياتها الفرعية. له الأولوية على resume وعلى إعادة الاتصال.
استجابة HTTP الناجحة لا تؤكد سوى استلام الأمر. تعرض لوحة التحكم كلًّا على حدة: ما طُلب، وما طبّقه المشرف (supervisor)، وما رُصد. إذا انقطعت القناة البعيدة والمراقب سليم، تبقى عمليات القبول موقوفة محليًا؛ وإذا تعطّل المراقب، يقطع الملف الخرج (egress) وينهي الحاوية. لا يعتمد stop المحلي على لوحة التحكم أبدًا.
التقارير: حالات لا تُختزل في إشارة مرور
يحمل تقرير التنفيذ checksum إرشاديًا فقط، ويعلن مستوى الدليل ويسمح بمقارنة التشغيلات؛ فالـ checksum لا يصادق على جهة الإصدار. عند إرفاق حزمة Action Proof كاملة، يتحقق منها المدقق المستقل دون اتصال باستخدام مراسٍ خارج التقرير، ويربط المرشح والوجهة والسلطة ونتيجة الإيصال المرصودة. تبقى FAIL وSKIP والأدلة المفقودة والمسارات غير المُقيَّمة ظاهرة؛ وفشل القياس يترك التشغيل INCOMPLETE، لا PASS.
| حالة التشغيل | queued · running · held · stopping · stopped · completed · failed · incomplete |
| نتيجة المسار | PASS · FAIL · SKIP |
| التغطية | protected · contradicted · partial · not_evaluated |
| التكامل | simulated · integration_real · no_evaluated |
| الاكتمال | complete · incomplete |
| نتيجة التقرير | PASS · FAIL · INCOMPLETE |
| نتيجة الأثر | succeeded · failed_no_effect · indeterminate |
الـ checksum إرشادي فقط
يتحقق digest من البايتات المقدمة، لكن من يستطيع إعادة كتابة التقرير يستطيع إعادة حسابه. لا يصادق على جهة الإصدار.
جهة الإصدار موثوقة لدى هذا المشغّل
فقط بالنسبة إلى المراسي التي يثبّتها المشغّل. المرساة المرفقة داخل الـ artifact نفسه لا تجعله موثوقًا.
أعاد طرف ثالث إنتاجه
شخص آخر شغّل الحزمة نفسها وحصل على النتيجة نفسها. وهذا ادعاء مختلف، ويُبلَّغ عنه بصورة منفصلة.
فحص إعلامي لطلبات الدمج (pull request)
يقارن base وhead للملفات الأصلية بالمستوردات والقواعد نفسها، ويعرض التغييرات المعلنة والمجهولات والمرشّحين لإعادة التحقق، ويتحقق من إيصال مرفق مقابل مراسيه. يعمل من مراجعة موثوقة مثبّتة، بأذونات قراءة، دون أسرار ودون تنفيذ شيفرة من الـ PR. وهو يُغني المراجعة بالمعلومات: وليس الفحص الذي يفوّض تصديرًا، ولا بديلًا عن Guardian أو عن ruleset.
ما لا يفعله هذا
- لا يجعل النموذج آمنًا ولا يثبت توافقًا عامًا (alignment): إنه يختبر حدود التنفيذ على ملف معلن.
- لا يتحكم في المسارات التي تتجاوز Guardian؛ والمسار بلا مسبار يبقى not evaluated، ولا يُعدّ محميًا بالوراثة أبدًا.
- لا يتراجع عن أثر وقع بالفعل: فـ hold وstop ليسا rollback.
- يُظهر الإيصال السلامة والنطاق في ظل مراسيه؛ ولا يُظهر أن الشيفرة المعتمَدة حميدة ولا أن طرفًا مستقلًا دقّقها.
- ليس مفتاح إيقاف (kill switch) على مستوى الشركة: يتحكم الإصدار v1 في التشغيل المختار وفي الـ runners المعلنة له.
- يُنشر التوافق لكل ملف وإصدار وبيئة. ونتيجة PASS على إطار تشغيل واحد لا تنتقل إلى نظام تشغيل أو مسار أو عميل آخر.
تابع القراءة
الحالة
متاح: Doctor على الملفات الأصلية، والسيناريو المرجعي عبر npm وCLI ولوحة التحكم، وExact Export إلى Git محلي، وفحص PR الإعلامي. تميّز التقارير بين السجل ذي checksum فقط وحزمة Action Proof المرفقة؛ ولا يُدّعى بإيصال قابل للمشاركة إلا إذا وُجدت الحزمة وتحققت بمراسٍ خارجية. تنشر كل قدرة مستوى دليلها — simulated أو تكامل حقيقي أو not evaluated — لكل ملف وبيئة في مصفوفة المختبر.
مفتوح وقابل لإعادة الإنتاج
تُنشر السيناريوهات والـ fixtures والوصفات والمتجهات (vectors) ليتمكن طرف ثالث من إعادة إنتاج كل خاصية أو دحضها. تُقدَّم الأمثلة المضادة كـ issues مع seed والملف والنتيجة المرصودة؛ وتتبع النتائج الحساسة ملف SECURITY.md. لا توجد قائمة ترتيب لـ «الوكلاء الآمنين» ولا شارات عامة.