Microsoft نے 7 اکتوبر 2026 کو Microsoft Execution Containers (MXC) کی عمومی دستیابی کا اعلان کیا۔ AI ایجنٹ کی تجویز کردہ کمانڈز چلانے والی ٹیموں کے لیے عملی سوال یہ ہے کہ کمانڈ کو کن فائلوں اور نیٹ ورک کنکشنز تک رسائی درکار ہے، اور کون سا MXC بیک اینڈ یہ حدود نافذ کر سکتا ہے۔ Microsoft کی لانچ پوسٹ کنٹرول کا مقصد بیان کرتی ہے؛ ریپوزٹری کی صارفین کے لیے دستاویزات سیٹ اپ کی تفصیل دیتی ہیں۔ یہ رہنما انہی دستاویزات پر مبنی ہے۔ BIG CHANGE نے MXC انسٹال نہیں کیا اور نہ ہی کوئی محدود ورک لوڈ چلایا۔
بڑی تبدیلی
- کیا بدلا: ڈویلپرز کمانڈ اور اس کی وسائل کی پالیسی ایک MXC SDK انٹرفیس کو دے سکتے ہیں، جو معاون میزبان بیک اینڈ منتخب کرتا ہے۔ 7 اکتوبر کی ریلیز ایجنٹ ٹولز کے لیے دستاویزی انضمام کا راستہ فراہم کرتی ہے، بجائے اس کے کہ ماڈل سے پالیسی کی رضاکارانہ پابندی کی توقع کی جائے۔
- یہ کیوں اہم ہے: کوئی ٹیم کوڈنگ کمانڈ کو اپنی ورکنگ ڈائریکٹری تک رسائی دے سکتی ہے، جبکہ دیگر فائل مقامات اور باہر جانے والے کنکشنز کو ورک لوڈ کے اختیار سے باہر رکھ سکتی ہے۔ نتیجہ منتخب بیک اینڈ اور میزبان پر منحصر ہوتا ہے؛ اس لیے پابندی پر بھروسا کرنے سے پہلے ٹیم کو جانچنا چاہیے کہ بیک اینڈ حقیقتاً کیا نافذ کرتا ہے۔
- کن باتوں پر نظر رکھیں: Microsoft کے پالیسی لکھنے والے موڈز معاون Windows ProcessContainer میزبانوں پر روکی گئی کارروائیوں کی تشخیص میں مدد دیتے ہیں۔ اگلا عملی فیصلہ یہ ہے کہ آیا تجویز کردہ اجازت واقعی ضروری ہے، اور پالیسی محدود کرنے کے بعد پروڈکشن رن نفاذی موڈ استعمال کرتا ہے یا نہیں۔
میزبان اور کمانڈ سے آغاز کریں
MXC ایک لائبریری ہے جو ورک لوڈ شروع کرنے والی ایپلیکیشن میں شامل کی جاتی ہے۔ اس کی README میں Rust، .NET اور Node کے SDKs کے علاوہ ایسی ایپلیکیشنز کے لیے مقامی ایگزیکیوٹبلز درج ہیں جو SDK شامل نہیں کر سکتیں۔ Node پیکیج میں مقامی رن ٹائم وسائل شامل ہیں اور اسے Node.js 24 یا بعد کا ورژن درکار ہے؛ Windows پر مقامی stdio منتقلی کے لیے ریپوزٹری Node 24.21.0 یا بعد، یا 26.8.0 یا بعد کا ورژن بتاتی ہے۔ عوامی API پیکیج کی جڑ سے نہیں بلکہ @microsoft/mxc-sdk/v1سے امپورٹ کی جاتی ہے۔ .NET پیکیج میں بھی مقامی وسائل شامل ہیں۔ Rust کریٹ SDK، انجن اور منتخب بیک اینڈز کو استعمال کرنے والی ایپلیکیشن میں بناتا ہے۔ مقامی ایگزیکیوٹبلز کے لیے متعلقہ پلیٹ فارم کے مطابق ریپوزٹری کی بلڈ درکار ہے۔
پالیسی لکھنے سے پہلے بیک اینڈ منتخب کریں۔ ریپوزٹری کے مطابق Windows 11 کا ڈیفالٹ processcontainer، Linux کا ڈیفالٹ bubblewrap اور macOS کا ڈیفالٹ seatbelt ہے۔ Windows میں wslc اور isolation_session بھی دستیاب ہیں؛ windows_sandbox, microvm اور hyperlight کو تجرباتی نشان زد کیا گیا ہے۔ Linux کے لیے منتخب رن ٹائم درکار ہے، مثلاً اس کے ڈیفالٹ بیک اینڈ کے لیے Bubblewrap۔ Windows ورژن ٹیبل ProcessContainer اور IsolationSession کے لیے کم از کم بلڈز بتاتا ہے۔ جس مشین پر کام چلے گا وہاں میزبان کی دستیابی اور مطلوبہ پالیسی کی معاونت کی تصدیق کریں۔
اصل کمانڈ، ورکنگ ڈائریکٹری، جن فائلوں کو پڑھنا یا بدلنا ہے، اور درکار نیٹ ورک منزلیں لکھ لیں۔ انہیں ایپلیکیشن یا آپریٹر کی فراہم کردہ پالیسی ان پٹس سمجھیں۔ Microsoft کے مطابق پالیسی ایجنٹ ورک لوڈ سے باہر رہتی ہے، اس لیے تیار کردہ کوڈ اپنے اختیارات نہیں بڑھا سکتا۔ کمانڈ کے متوقع آؤٹ پٹ میں عام stdout، stderr اور ایگزٹ اسٹیٹس شامل ہیں، نیز SDK کی جانب سے وارننگز یا اختیاری میٹا ڈیٹا بھی آ سکتا ہے۔ سرگرمی کی رپورٹ صرف معاون Windows ProcessContainer میزبانوں پر دستاویزی تشخیصی موڈز میں دستیاب ہے۔
Node SDK کے ساتھ محدود پالیسی متعین کریں
اس Node SDK گائیڈ میں یہ V1 ساخت بیان کی گئی ہے۔ معاون Node ریلیز پر چلنے والی ایپلیکیشن میں SDK انسٹال کریں:
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 استعمال کرتی ہے؛ براہِ راست قواعد اور رن ٹائم پراکسی کا رویہ اور بیک اینڈ معاونت مختلف ہیں۔
مسترد شدہ رسائی کی تشخیص کریں، پھر پالیسی نافذ کریں
Microsoft کا 7 اکتوبر کا موڈ ٹیبل تین نتائج میں فرق کرتا ہے۔ Enforcement موڈ غیر مجاز رسائی روکتا ہے اور سرگرمی کی رپورٹ نہیں بناتا۔ Learning موڈ غیر مجاز رسائی روک کر اس کا اندراج کرتا ہے۔ Permissive موڈ ایسی رسائی کا اندراج کرتا ہے جسے پالیسی مسترد کرتی، مگر اسے جاری رہنے دیتا ہے۔ Microsoft کی مسترد شدہ رسائی محفوظ کرنے کی حوالہ دستاویز ان Learning صلاحیتوں کو AppContainer پر مبنی Windows ProcessContainer راستوں تک محدود رکھتی ہے۔ صرف مشترک پالیسی فیلڈ قبول کرنے سے دوسرے میزبانوں پر مساوی رپورٹنگ دستیاب نہیں ہو جاتی۔
پالیسی تیار کرتے وقت قابلِ اعتماد ٹول کے لیے Windows مقامی ایگزیکیوٹر ایک --audit طریقۂ کار کی معاونت کرتا ہے جو پالیسی کے آثار بنا سکتا ہے۔ Microsoft خبردار کرتا ہے کہ یہ تجزیے والے ورک لوڈ کی سینڈ باکس سکیورٹی بند کر دیتا ہے، اس لیے غیر قابلِ اعتماد کمانڈز کے لیے مناسب نہیں۔ جہاں میزبان معاونت کرے، مسترد کرنے کے ساتھ اندراج محفوظ کرنا زیادہ محفوظ تشخیصی راستہ ہے: رسائی کی کوشش روکی رہتی ہے اور رپورٹ بتاتی ہے کہ کیا مسترد ہوا۔ درج شدہ ہر راستے یا صلاحیت کو کام کے تناظر میں دیکھیں، صرف درکار اجازت دیں اور آخری ورک لوڈ Enforcement موڈ میں چلائیں۔ رپورٹس حساس وسائل کے نام ظاہر کر سکتی ہیں؛ انہیں مناسب احتیاط سے سنبھالیں۔
بیک اینڈ کا انتخاب پالیسی کے وعدے کو بدل دیتا ہے۔ اسکیما رہنما کہتی ہے کہ isolation_session نیٹ ورک محدود نہیں کر سکتا اور نیٹ ورک کو واضح طور پر غیر محدود رکھنا ضروری ہے۔ اس میں یہ بھی بتایا گیا ہے کہ UI پابندیاں Windows ProcessContainer اور macOS Seatbelt نافذ کرتے ہیں، جبکہ دوسرے بیک اینڈز انہیں نافذ نہیں کرتے؛ WSLC اور IsolationSession دی گئی UI پالیسی مسترد کرتے ہیں۔ Seatbelt رہنما کے مطابق macOS کا مقامی پروفائل مخصوص ریموٹ میزبانوں کو فلٹر نہیں کر سکتا، جبکہ Bubblewrap رہنما Linux کے رن ٹائم اور نیٹ ورک کے تقاضے بیان کرتی ہے۔ اس لیے متعدد SDK اقسام کا ایک JSON فیلڈ قبول کرنا ہر جگہ یکساں نفاذ کا ثبوت نہیں۔ منتخب بیک اینڈ کی رہنما دیکھیں اور ہدف میزبان پر درخواست کی تصدیق کریں۔
Microsoft کی ریپوزٹری MIT لائسنس کے تحت ہے، مگر صارفین کی دستاویزات MXC پیکیج کی قیمت نہیں بتاتیں۔ میزبان، کمپیوٹنگ اور کسی بھی ماڈل فراہم کنندہ کے اخراجات الگ ہیں۔ Windows کے اعلان میں MXC کو عمومی طور پر دستیاب کہا گیا ہے، جبکہ کچھ بیک اینڈ اختیارات تجرباتی اور مقامی ترقیاتی اسکیما الفا مرحلے میں ہے۔ ورک لوڈ کہاں چلانا ہے، یہ طے کرتے وقت ان ریلیز مراحل کو الگ الگ دیکھیں۔
ماخذ اور مزید مطالعہ
- Microsoft Windows Developer Blog، 7 اکتوبر 2026لانچ کے دعوے، ایجنٹوں کے لیے مقصود استعمال اور تین موڈز کی تعریفوں کی بنیاد ہے۔ یہ Microsoft کی اپنی مصنوعات کی وضاحت ہے، BIG CHANGE کا سکیورٹی ٹیسٹ نہیں۔
- MXC ریپوزٹری READMESDKs، میزبان کے ڈیفالٹس، تجرباتی بیک اینڈز، بلڈ کے تقاضے اور مقامی ایگزیکیوٹر کا راستہ درج کرتی ہے۔ ریپوزٹری بدلتی رہتی ہے؛ تفصیلات 8 اکتوبر 2026 کو دیکھی گئیں۔
- Node SDK صارف رہنماNode کے تقاضے، V1 امپورٹ، ٹائپ شدہ درخواست اور محفوظ شدہ آؤٹ پٹ بیان کرتی ہے۔ اوپر کا کوڈ اس کے نمونے سے ڈھالا گیا؛ یہاں چلایا نہیں گیا۔
- کنفیگریشن اسکیما رہنمامستحکم مقامی JSON
1.0.0کو بدلتے ہوئے1.1.0-alphaسے الگ کرتی ہے اور پالیسی فیلڈز و بیک اینڈ کے لحاظ سے حدود درج کرتی ہے۔ - Learning موڈ اور مسترد شدہ رسائی کی حوالہ دستاویزWindows ProcessContainer کی تشخیص بیان کرتی اور Permissive آڈٹ کے بارے میں خبردار کرتی ہے۔ رپورٹس میزبان اور موڈ پر منحصر ہیں۔
- بیک اینڈ رہنما دستاویزات اور Windows ورژن ٹیبل کسی مخصوص میزبان کی جانچ کے لیے ہیں؛ یہ مضمون قاری کی مشین پر کسی کنفیگریشن کی توثیق نہیں کرتا۔



