AI-translated from English; not yet reviewed by a fluent editor.

# Cara mengatur kebijakan MXC untuk perintah buatan agen

> SDK MXC dari Microsoft memungkinkan pengembang menetapkan perintah beserta kebijakan file dan jaringannya. Panduan berbasis dokumentasi ini menjelaskan cara penulisan Node V1, mode diagnostik, dan batas kemampuan backend.

By BIG CHANGE Editorial

Published: 2026-10-08T05:14:55.341Z
Updated: 2026-10-08T05:14:55.341Z
Canonical: https://bigchange.ai/blog/mxc-agent-command-containment-guide

![Conceptual charcoal illustration of a small computer with an external drive connected and a network cable lying unplugged beside its port.](https://bigchange.ai/api/media/file/mxc-explicit-connections-hero-v1.png)
AI-generated conceptual illustration by BIG CHANGE; no MXC product interface, hardware, security test or enforcement result is depicted.

Microsoft mengumumkan ketersediaan umum Microsoft Execution Containers (MXC) pada 7 Oktober 2026. Bagi tim yang menjalankan perintah usulan agen AI, hal praktis yang perlu ditentukan adalah file dan koneksi jaringan yang diperlukan perintah tersebut serta backend MXC yang dapat menerapkan batasnya. [Tulisan peluncuran Microsoft](https://blogs.windows.com/windowsdeveloper/2026/10/07/microsoft-execution-containers-policy-driven-containment-for-ai-agents/) menjelaskan tujuan pembatasan; [dokumentasi pengguna repositori](https://github.com/microsoft/mxc) memuat detail penerapannya. Panduan ini mengikuti dokumen tersebut. BIG CHANGE tidak memasang MXC atau menjalankan beban kerja di dalam lingkungan terbatas.

## Perubahan besar

- **Apa yang berubah:**  Pengembang dapat mengirimkan perintah dan kebijakan sumber dayanya melalui satu antarmuka SDK MXC, yang memilih backend host yang didukung. Rilis 7 Oktober menyediakan jalur integrasi terdokumentasi bagi alat agen, alih-alih mengandalkan model untuk mematuhi kebijakan dengan sukarela.
- **Mengapa penting:**  Tim dapat memberi perintah pemrograman akses ke direktori kerja sambil mengecualikan lokasi file lain dan koneksi keluar dari kewenangan beban kerja. Dampaknya bergantung pada backend dan host yang dipilih, jadi tim perlu memeriksa penerapan backend yang sebenarnya sebelum mengandalkan suatu pembatasan.
- **Hal yang perlu diperhatikan:**  Mode penulisan kebijakan Microsoft membantu mendiagnosis operasi yang diblokir pada host Windows ProcessContainer yang didukung. Langkah praktis berikutnya adalah menentukan apakah izin yang diajukan memang perlu dan apakah proses produksi menggunakan mode penerapan setelah kebijakan dipersempit.

## Mulai dari host dan perintahnya

MXC adalah pustaka yang diintegrasikan ke aplikasi yang meluncurkan beban kerja. [README-nya](https://github.com/microsoft/mxc) mencantumkan SDK Rust, .NET, dan Node, serta executable native untuk aplikasi yang tidak dapat menyertakan SDK. Paket Node memuat aset runtime native dan memerlukan Node.js 24 atau lebih baru; di Windows, repositori menetapkan Node 24.21.0 atau lebih baru, atau 26.8.0 atau lebih baru, untuk transfer stdio native. API publik diimpor dari `@microsoft/mxc-sdk/v1`, bukan dari akar paket. Paket .NET juga memuat aset native. Crate Rust membangun SDK, mesin, dan backend terpilih ke dalam aplikasi yang menggunakannya. Executable native memerlukan build repositori untuk platform terkait.

Pilih backend sebelum menulis kebijakan. Repositori mencantumkan `processcontainer` sebagai default Windows 11, `bubblewrap` sebagai default Linux, dan `seatbelt` sebagai default macOS. Windows juga menyediakan `wslc` dan `isolation_session`; `windows_sandbox`, `microvm`, dan `hyperlight` berstatus eksperimental. Linux memerlukan runtime yang dipilih, misalnya Bubblewrap untuk backend default-nya. [Tabel versi Windows](https://github.com/microsoft/mxc/blob/main/docs/backends/process-container/os-version-support.md) mencantumkan build minimum untuk ProcessContainer dan IsolationSession. Pastikan host tersedia dan mendukung kebijakan yang diminta pada mesin yang akan menjalankan pekerjaan.

Catat perintah yang sebenarnya, direktori kerja, file yang perlu dibaca dan diubah, serta tujuan jaringan yang diperlukan. Perlakukan semuanya sebagai masukan kebijakan dari aplikasi atau operator. Microsoft menyatakan kebijakan berada di luar beban kerja agen, sehingga kode yang dihasilkan tidak dapat memperluas izinnya sendiri. Keluaran normal perintah mencakup stdout, stderr, dan status keluar, ditambah peringatan atau metadata opsional dari SDK. Laporan aktivitas hanya tersedia dalam mode diagnostik terdokumentasi pada host Windows ProcessContainer yang didukung.

## Tetapkan kebijakan kecil dengan SDK Node

Panduan [Panduan SDK Node](https://github.com/microsoft/mxc/blob/main/sdk/node/README.md) mendokumentasikan bentuk V1 ini. Pasang SDK pada aplikasi yang berjalan dengan versi Node yang didukung:

```bash
npm install @microsoft/mxc-sdk
```

Contoh ini mengadaptasi sampel Microsoft yang berjalan hingga selesai. Contoh meminta akses baca-saja ke direktori aplikasi saat ini dan menolak koneksi keluar. Perintahnya hanya mencetak satu baris, jadi tidak menguji kedua pembatasan tersebut. Ini titik awal yang terdokumentasi, bukan pengujian BIG CHANGE. Ganti perintah dan jalurnya sesuai beban kerja yang akan dibatasi; gunakan `readwritePaths` hanya untuk direktori yang perlu diubahnya.

```typescript
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` mengembalikan stdout dan stderr yang ditangkap, kode keluar, status waktu habis, serta peringatan. Akses file yang diblokir dapat terlihat sebagai kesalahan akses ditolak biasa bagi beban kerja; proses yang berhasil saja tidak membuktikan semua pembatasan yang dimaksud telah diuji. Untuk memenuhi kriteria keberhasilan tugas, jalankan beban kerja tepercaya yang menggunakan sumber daya yang diizinkan, lalu lakukan pengujian terpisah yang sengaja mencoba mengakses sumber daya tanpa izin pada backend yang didukung. Periksa hasil operasi dan diagnostiknya sebelum menerapkan kebijakan pada perintah buatan agen. [Sampel SDK](https://github.com/microsoft/mxc/blob/main/samples/README.md) mencakup izin sistem berkas, pemblokiran jaringan, penangkapan keluaran, dan pencatatan penolakan. Sampel tersebut memerlukan host yang telah disiapkan. BIG CHANGE tidak menjalankan langkah-langkah ini.

Bagi pengguna executable native, [skema JSON stabil](https://github.com/microsoft/mxc/blob/main/docs/schema.md) adalah `1.0.0`, dan permintaan lengkap memerlukan `version`, pilihan containment, serta `process.commandLine`. Skema pengembangan saat ini adalah `1.1.0-alpha`. SDK V1 memilih kontrak wire-nya sendiri, jadi jangan memasukkan versi skema native ke dalam `ContainerRequest` yang bertipe. Panduan skema juga menyebutkan bahwa kolom lama seperti `network.defaultPolicy` dan `allowedHosts` sudah dihentikan. Kebijakan saat ini menggunakan `network.egress` dan `network.ingress` berarah; aturan langsung dan proxy runtime memiliki perilaku serta dukungan backend yang berbeda.

## Diagnosis penolakan, lalu terapkan kebijakan

Tabel mode Microsoft tertanggal [7 Oktober](https://blogs.windows.com/windowsdeveloper/2026/10/07/microsoft-execution-containers-policy-driven-containment-for-ai-agents/) membedakan tiga hasil. Mode **penerapan** memblokir akses yang tidak diizinkan dan tidak membuat laporan aktivitas. Mode **Learning** memblokir sekaligus mencatat akses yang tidak diizinkan. Mode **Permissive** mencatat akses yang seharusnya ditolak oleh kebijakan, tetapi tetap mengizinkannya. [Referensi pencatatan penolakan Microsoft](https://github.com/microsoft/mxc/blob/main/docs/logging-access-denied.md) membatasi kemampuan Learning tersebut pada jalur ProcessContainer Windows berbasis AppContainer. Host lain tidak mendapatkan pelaporan setara hanya karena menerima kolom kebijakan bersama.

Untuk alat tepercaya saat menyusun kebijakan, executable native Windows mendukung alur `--audit` yang dapat menghasilkan artefak kebijakan. Microsoft memperingatkan bahwa alur ini mematikan keamanan sandbox untuk beban kerja yang dianalisis, sehingga tidak cocok untuk perintah yang tidak tepercaya. Jika host mendukungnya, penangkapan yang menolak sekaligus mencatat adalah jalur diagnostik yang lebih aman: akses yang dicoba tetap diblokir dan laporan menunjukkan apa yang ditolak. Tinjau setiap jalur atau kemampuan yang tercatat sesuai tugas, berikan hanya yang dibutuhkan perintah, lalu jalankan beban kerja akhir dalam mode penerapan. Laporan dapat menampilkan nama sumber daya sensitif; tangani dengan semestinya.

Pilihan backend mengubah jaminan yang dapat diberikan kebijakan. [Panduan skema](https://github.com/microsoft/mxc/blob/main/docs/schema.md) menyebutkan bahwa `isolation_session` tidak dapat membatasi jaringan dan mengharuskan konfigurasi jaringan yang secara eksplisit tidak dibatasi. Panduan itu juga menyebutkan bahwa pembatasan UI diterapkan oleh Windows ProcessContainer dan macOS Seatbelt, sedangkan backend lain tidak mendukungnya; WSLC dan IsolationSession menolak kebijakan UI yang diberikan. [Panduan Seatbelt](https://github.com/microsoft/mxc/blob/main/docs/backends/seatbelt/seatbelt-backend.md) menyatakan profil native macOS tidak dapat memfilter host jarak jauh tertentu, sementara [panduan Bubblewrap](https://github.com/microsoft/mxc/blob/main/docs/backends/bwrap/bubblewrap-backend.md) menjelaskan prasyarat runtime dan jaringan Linux. Jadi, diterimanya suatu kolom JSON oleh beberapa tipe SDK bukan bukti bahwa penerapannya setara di semua tempat. Periksa panduan backend yang dipilih dan validasi permintaan pada host sasaran.

Repositori Microsoft menggunakan lisensi MIT, tetapi dokumentasi penggunanya tidak mencantumkan harga paket MXC. Biaya host, komputasi, dan penyedia model tetap terpisah. Pengumuman Windows menyebut MXC tersedia umum, sementara beberapa opsi backend masih eksperimental dan skema pengembangan native masih alfa. Pertimbangkan tahap rilis tersebut secara terpisah saat menentukan tempat menjalankan beban kerja.

## Sumber dan bacaan lanjutan

- [Microsoft Windows Developer Blog, 7 Oktober 2026](https://blogs.windows.com/windowsdeveloper/2026/10/07/microsoft-execution-containers-policy-driven-containment-for-ai-agents/)mendukung klaim peluncuran, tujuan penggunaan agen, dan definisi ketiga mode. Ini deskripsi produk Microsoft, bukan pengujian keamanan oleh BIG CHANGE.
- [README repositori MXC](https://github.com/microsoft/mxc)mencantumkan SDK, default host, backend eksperimental, prasyarat build, dan jalur executable native. Repositori terus berubah; detail diperiksa pada 8 Oktober 2026.
- [Panduan pengguna SDK Node](https://github.com/microsoft/mxc/blob/main/sdk/node/README.md)menetapkan prasyarat Node, impor V1, permintaan bertipe, dan keluaran yang ditangkap. Kode di atas diadaptasi dari sampelnya; tidak dijalankan di sini.
- [Panduan skema konfigurasi](https://github.com/microsoft/mxc/blob/main/docs/schema.md)membedakan JSON native stabil `1.0.0` dari `1.1.0-alpha` yang berubah, serta mendokumentasikan kolom kebijakan dan batas spesifik tiap backend.
- [Referensi mode Learning dan pencatatan penolakan](https://github.com/microsoft/mxc/blob/main/docs/logging-access-denied.md)mendokumentasikan diagnostik Windows ProcessContainer dan memperingatkan tentang audit Permissive. Laporannya bergantung pada host dan mode.
- [Panduan backend](https://github.com/microsoft/mxc/tree/main/docs/backends) dan [tabel versi Windows](https://github.com/microsoft/mxc/blob/main/docs/backends/process-container/os-version-support.md) adalah rujukan untuk memeriksa host tertentu; artikel ini tidak menyertifikasi konfigurasi apa pun pada mesin pembaca.

## Sources

- [Peluncuran Microsoft Execution Containers](https://blogs.windows.com/windowsdeveloper/2026/10/07/microsoft-execution-containers-policy-driven-containment-for-ai-agents/) — Pengumuman ketersediaan umum, batas beban kerja dan sumber daya, serta definisi tiga mode; klaim vendor bukan pengujian independen.
- [README repositori MXC](https://github.com/microsoft/mxc) — SDK, default host, label backend eksperimental, jalur executable native, lisensi sumber, dan prasyarat build.
- [README SDK MXC Node](https://github.com/microsoft/mxc/blob/main/sdk/node/README.md) — Impor V1, versi minimum Node, permintaan bertipe, keluaran run, dan penemuan host. Contohnya diadaptasi, bukan dijalankan.
- [Panduan skema MXC](https://github.com/microsoft/mxc/blob/main/docs/schema.md) — Kontrak JSON native stabil 1.0.0 dan pengembangan 1.1.0-alpha, kebijakan jaringan, serta batas backend dan UI.
- [Panduan pencatatan penolakan MXC](https://github.com/microsoft/mxc/blob/main/docs/logging-access-denied.md) — Perilaku Learning dan Permissive pada Windows ProcessContainer, peringatan keamanan --audit, dan batas keluaran.
- [Sampel SDK MXC](https://github.com/microsoft/mxc/blob/main/samples/README.md) — Indeks resmi sampel sistem berkas, jaringan, keluaran yang ditangkap, dan pencatatan penolakan.
- [Dukungan versi OS Windows MXC](https://github.com/microsoft/mxc/blob/main/docs/backends/process-container/os-version-support.md) — Build Windows minimum untuk ProcessContainer dan IsolationSession.
- [Panduan backend Bubblewrap MXC](https://github.com/microsoft/mxc/blob/main/docs/backends/bwrap/bubblewrap-backend.md) — Prasyarat backend default Linux dan dukungan jaringan.
- [Panduan backend Seatbelt MXC](https://github.com/microsoft/mxc/blob/main/docs/backends/seatbelt/seatbelt-backend.md) — Batas profil native macOS dan pemfilteran host jarak jauh.
