أعلنت Microsoft في 7 أكتوبر 2026 الإتاحة العامة لـ Microsoft Execution Containers (MXC). وبالنسبة إلى الفرق التي تشغّل أوامر يقترحها وكيل ذكاء اصطناعي، يتمثل السؤال العملي في الملفات واتصالات الشبكة التي يحتاج إليها الأمر، والنظام الخلفي من MXC القادر على فرض تلك الحدود. يشرح منشور الإطلاق هدف الاحتواء؛ وتعرض وثائق الاستخدام في المستودع تفاصيل الإعداد. يستند هذا الدليل إلى تلك الوثائق. لم تثبّت BIG CHANGE MXC ولم تشغّل أي عبء عمل داخل بيئة معزولة.
التغيير الكبير
- ما الذي تغيّر: يمكن للمطورين تمرير أمر وسياسة موارده إلى واجهة واحدة في MXC SDK، فتختار الواجهة نظامًا خلفيًا مدعومًا على المضيف. ويوفر إصدار 7 أكتوبر مسار تكامل موثقًا لأدوات الوكلاء، بدلًا من الاعتماد على امتثال النموذج طوعًا للسياسة.
- لماذا يهم ذلك: يمكن للفريق منح أمر برمجي إمكانية الوصول إلى دليل العمل، مع إبقاء مواقع الملفات الأخرى والاتصالات الصادرة خارج صلاحيات عبء العمل. ويتوقف الأثر على النظام الخلفي والمضيف المختارين، لذا ينبغي للفريق التحقق مما يفرضه النظام فعليًا قبل الاعتماد على أي قيد.
- ما ينبغي مراقبته: تساعد أوضاع إعداد السياسات من Microsoft على تشخيص العمليات المحظورة على مضيفات Windows ProcessContainer المدعومة. والقرار العملي التالي هو تحديد ما إذا كان كل إذن مقترح ضروريًا، وما إذا كان التشغيل في بيئة الإنتاج يستخدم وضع الإنفاذ بعد تضييق السياسة.
ابدأ بالمضيف والأمر
MXC مكتبة تُدمج في التطبيق الذي يطلق عبء العمل. ويسرد ملف README الخاص بها حزم SDK لـ Rust و.NET وNode، إلى جانب ملفات تنفيذية أصلية للتطبيقات التي لا تستطيع تضمين حزمة SDK. تتضمن حزمة Node موارد تشغيل أصلية وتتطلب Node.js 24 أو أحدث؛ وعلى Windows، يحدد المستودع Node 24.21.0 أو أحدث، أو 26.8.0 أو أحدث، لنقل stdio الأصلي. ويُستورد API العام من @microsoft/mxc-sdk/v1 لا من جذر الحزمة. وتتضمن حزمة .NET موارد أصلية أيضًا. وتبني حزمة Rust SDK والمحرك والأنظمة الخلفية المحددة ضمن التطبيق المستهلك. أما الملفات التنفيذية الأصلية فتتطلب بناءً للمستودع خاصًا بالمنصة.
اختر النظام الخلفي قبل كتابة السياسة. يسرد المستودع processcontainer بوصفه الافتراضي في Windows 11، و bubblewrap بوصفه الافتراضي في Linux، و seatbelt بوصفه الافتراضي في macOS. ويوفر Windows أيضًا wslc و isolation_session؛ أما windows_sandbox و microvm و hyperlight فموسومة بأنها تجريبية. ويتطلب Linux بيئة التشغيل المحددة، مثل Bubblewrap لنظامه الخلفي الافتراضي. ويعرض جدول إصدارات Windows الحد الأدنى لإصدارات البناء اللازمة لـ ProcessContainer وIsolationSession. تحقّق من توفر المضيف ودعمه للسياسة المطلوبة على الجهاز الذي سينفذ المهمة.
دوّن الأمر الفعلي ودليل العمل والملفات التي يجب أن يقرأها أو يغيّرها ووجهات الشبكة التي يحتاج إليها. تعامل مع هذه العناصر بوصفها مدخلات للسياسة يحددها التطبيق أو المشغّل. وتقول Microsoft إن السياسة تقع خارج عبء عمل الوكيل، لذلك لا يستطيع الرمز المُنشأ توسيع صلاحياته بنفسه. يتضمن الناتج المعتاد للأمر stdout وstderr وحالة الخروج، إضافة إلى التحذيرات أو البيانات الوصفية الاختيارية التي تعيدها حزمة SDK. ولا يتوفر تقرير النشاط إلا في أوضاع التشخيص الموثقة على مضيفات Windows ProcessContainer المدعومة.
عرّف سياسة محدودة باستخدام Node SDK
يشرح دليل Node SDK بنية V1 هذه. ثبّت حزمة SDK في تطبيق يعمل بإصدار مدعوم من Node:
npm install @microsoft/mxc-sdkيكيّف هذا المثال نموذج Microsoft الذي يعمل حتى الاكتمال، ويطلب صلاحية القراءة فقط لدليل التطبيق الحالي مع حظر الاتصالات الصادرة. لا ينفذ الأمر سوى طباعة سطر واحد، لذلك لا يختبر أيًا من القيدين. إنه نقطة بداية موثقة، وليس اختبارًا أجرته BIG CHANGE. استبدل الأمر والمسارات بما يناسب عبء العمل المراد عزله؛ واستخدم readwritePaths فقط للأدلة التي يحتاج إلى تعديلها.
import { getPlatformSupport, run } from '@microsoft/mxc-sdk/v1';
import type { ContainerRequest } from '@microsoft/mxc-sdk/v1';
if (!getPlatformSupport().isSupported) {
throw new Error('MXC is not available on this host');
}
const request: ContainerRequest = {
command: 'node -e "console.log(\'hello from container\')"',
filesystem: { readonlyPaths: [process.cwd()] },
network: { egress: { default: 'deny' } },
timeoutMs: 30_000,
};
const result = await run(request);
console.log(result.stdout, result.stderr, result.exitCode, result.warnings);run تعيد stdout وstderr الملتقطين ورمز الخروج وحالة انتهاء المهلة والتحذيرات. وقد يظهر منع الوصول إلى ملف لعبء العمل كخطأ عادي يفيد برفض الوصول؛ ولا يثبت الخروج الناجح وحده أن كل قيد مقصود قد اختُبر. لاستيفاء معيار نجاح المهمة، شغّل عبء عمل موثوقًا يستخدم موردًا مسموحًا به، ثم اختبر بصورة منفصلة محاولة متعمدة للوصول إلى مورد غير ممنوح على النظام الخلفي المدعوم المختار. تحقّق من نتيجة العملية ومعلومات التشخيص قبل استخدام السياسة مع أوامر ينشئها الوكلاء. وتغطي أمثلة SDK أذونات نظام الملفات وحظر الشبكة والتقاط المخرجات وتسجيل حالات الرفض. وتتطلب مضيفًا مجهزًا مسبقًا. لم تنفذ BIG CHANGE أيًا من هذه الخطوات.
لمستخدمي المنفذ الأصلي، مخطط JSON المستقر هو 1.0.0؛ ويتطلب الطلب الكامل version واختيار الاحتواء و process.commandLine. أما مخطط التطوير الحالي فهو 1.1.0-alpha. تختار حزمة V1 SDK عقد الاتصال بنفسها، لذا لا تضع إصدار المخطط الأصلي في ContainerRequest ذي النوع المحدد. ويذكر دليل المخطط أيضًا أن الحقول القديمة مثل network.defaultPolicy و allowedHosts قد أُوقفت. تستخدم السياسة الحالية network.egress و network.ingress اللذين يحددان الاتجاه؛ وتختلف القواعد المباشرة والوكيل الوسيط أثناء التشغيل في السلوك ودعم الأنظمة الخلفية.
شخّص حالات الرفض، ثم افرض السياسة
يميز جدول الأوضاع الصادر في 7 أكتوبر من Microsoft بين ثلاث نتائج. يحظر وضع الإنفاذ الوصول غير الممنوح ولا ينشئ تقرير نشاط. أما وضع التعلّم فيحظر الوصول غير الممنوح ويسجله. ويسجل وضع السماح الوصول الذي كانت السياسة سترفضه، لكنه يسمح باستمراره. وتحصر الوثيقة المرجعية لالتقاط حالات الرفض من Microsoft إمكانات التعلّم هذه في مسارات Windows ProcessContainer القائمة على AppContainer. ولا تحصل المضيفات الأخرى على تقارير مماثلة لمجرد قبولها حقل سياسة مشتركًا.
لأداة موثوقة أثناء إعداد السياسة، يدعم المنفذ الأصلي في Windows مسارًا من --audit يمكنه إنشاء ملفات ناتجة للسياسة. وتحذر Microsoft من أنه يعطّل أمان العزل لِعبء العمل الخاضع للتحليل، لذلك لا يناسب الأوامر غير الموثوقة. وعندما يدعم المضيف ذلك، يكون الالتقاط الذي يرفض الوصول ويسجله مسار التشخيص الأكثر أمانًا: تظل محاولة الوصول محظورة، ويحدد التقرير ما رُفض. راجع كل مسار أو قدرة مسجلة وفق المهمة، وامنح الأمر ما يحتاج إليه فقط، وشغّل عبء العمل النهائي في وضع الإنفاذ. قد تكشف التقارير أسماء موارد حساسة؛ لذا تعامل معها بما يلائم ذلك.
يغيّر اختيار النظام الخلفي ما يمكن للسياسة ضمانه. ويقول دليل المخطط إن isolation_session لا يستطيع تقييد الشبكات، ويتطلب إعدادًا يصرح صراحة بأنها غير مقيدة. ويذكر أيضًا أن Windows ProcessContainer وmacOS Seatbelt يفرضان قيود واجهة المستخدم، بينما لا تنفذها الأنظمة الخلفية الأخرى؛ كما يرفض WSLC وIsolationSession سياسة واجهة المستخدم المقدمة. ويقول دليل Seatbelt إن الملف التعريفي الأصلي في macOS لا يستطيع تصفية مضيفين بعيدين بعينهم، بينما يشرح دليل Bubblewrap متطلبات بيئة التشغيل والشبكة في Linux. لذلك لا يثبت قبول عدة أنواع من SDK لحقل JSON نفسه أن الإنفاذ متماثل في كل مكان. راجع دليل النظام الخلفي المختار وتحقق من الطلب على المضيف المستهدف.
يخضع مستودع Microsoft لترخيص MIT، لكن وثائق الاستخدام لا تذكر سعر حزمة MXC. وتظل تكاليف المضيف والحوسبة وأي مزود للنماذج منفصلة. ويصف إعلان Windows MXC بأنها متاحة عمومًا، في حين لا تزال عدة خيارات للأنظمة الخلفية تجريبية ومخطط التطوير الأصلي في مرحلة ألفا. افصل بين مراحل الإصدار هذه عند تحديد مكان تشغيل عبء العمل.
المصادر ومواد إضافية للقراءة
- مدونة Microsoft Windows Developer Blog، 7 أكتوبر 2026تدعم خبر الإطلاق والاستخدام المقصود مع الوكلاء وتعريفات الأوضاع الثلاثة. وهذا وصف Microsoft لمنتجها، وليس اختبار أمان أجرته BIG CHANGE.
- ملف README لمستودع MXCيسرد حزم SDK والأنظمة الخلفية الافتراضية للمضيفات والأنظمة التجريبية ومتطلبات البناء ومسار المنفذ الأصلي. يتغير المستودع؛ وقد روجعت التفاصيل في 8 أكتوبر 2026.
- دليل استخدام Node SDKيحدد متطلبات Node واستيراد V1 والطلب ذي النوع المحدد والمخرجات الملتقطة. عُدّل الرمز أعلاه من المثال الوارد فيه؛ ولم يُشغّل هنا.
- دليل مخطط الإعداديميز JSON الأصلي المستقر
1.0.0من1.1.0-alphaالمتغير، ويوثق حقول السياسة والحدود الخاصة بكل نظام خلفي. - المرجع الخاص بوضع التعلّم والتقاط حالات الرفضيوثق تشخيص Windows ProcessContainer ويحذر من تدقيق وضع السماح. وتعتمد التقارير على المضيف والوضع.
- أدلة الأنظمة الخلفية وجدول إصدارات Windows هما مرجعا التحقق لمضيف بعينه؛ ولا تصادق هذه المقالة على أي إعداد في جهاز القارئ.



