MXC của Microsoft: Hệ thống chạy mã trong sandbox dành cho code không đáng tin cậy

AI & ML09 tháng 10, 2026·5 phút đọc

Microsoft vừa giới thiệu MXC (Microsoft eXecution Container), một hệ thống sandbox cho phép chạy mã không đáng tin cậy như đầu ra của mô hình AI, plugin và công cụ trên Windows, Linux và macOS. MXC hỗ trợ nhiều backend cách ly khác nhau, từ sandbox tiến trình của hệ điều hành cho tới máy ảo đầy đủ, cùng bộ SDK đa nền tảng.

MXC của Microsoft: Hệ thống chạy mã trong sandbox dành cho code không đáng tin cậy

Trong bối cảnh các mô hình AI ngày càng được trao quyền tự sinh và thực thi mã, nhu cầu cách ly những đoạn mã không đáng tin cậy trở nên cấp thiết hơn bao giờ hết. Microsoft mới đây đã công bố MXC (Microsoft eXecution Container) — một hệ thống chạy mã trong sandbox được thiết kế riêng cho mục đích này.

MXC là gì?

MXC là một hệ thống sandbox cho phép chạy mã không đáng tin cậy — chẳng hạn như đầu ra của mô hình AI, các plugin hoặc công cụ bên thứ ba — trên cả Windows, Linux và macOS.

Điểm đáng chú ý là MXC không phải một ứng dụng độc lập, mà là một thư viện SDK được nhúng trực tiếp vào ứng dụng của bạn. Ứng dụng sẽ chỉ định ba yếu tố: loại container, các quy tắc cách ly và lệnh cần chạy. Sau đó MXC sẽ kiểm tra yêu cầu, chọn backend phù hợp và khởi chạy workload trong container tương ứng.

Nhiều backend cách ly, một mô hình thống nhất

MXC cung cấp nhiều backend cách ly khác nhau, từ sandbox tiến trình của hệ điều hành cho tới máy ảo đầy đủ, tất cả nằm sau một mô hình cách ly thống nhất và bộ SDK có kiểu dữ liệu rõ ràng.

Các backend bao gồm ProcessContainer, Windows Sandbox, LXC, Bubblewrap, Seatbelt, MicroVM (Nanvix), Hyperlight, IsolationSession và WSLC.

Tùy theo nền tảng, backend mặc định sẽ khác nhau:

  • Windows 11 x64 / ARM64: mặc định dùng processcontainer, ngoài ra có windows_sandbox, wslc, microvm, hyperlight, isolation_session
  • Linux x64 / ARM64: mặc định dùng bubblewrap, ngoài ra có lxc, microvm, hyperlight
  • macOS ARM64 / x64: mặc định dùng seatbelt

Chính sách sandbox linh hoạt theo nhu cầu

Điểm mạnh của MXC nằm ở khả năng kiểm soát chi tiết thông qua chính sách. Người phát triển có thể cấu hình:

  • Chính sách hệ thống tệp: danh sách đường dẫn chỉ đọc, đọc-ghi và bị từ chối
  • Chính sách mạng: hỗ trợ proxy, kiểm soát lưu lượng ra ngoài và lọc host tùy theo backend
  • Chính sách giao diện: kiểm soát clipboard, màn hình và quyền truy cập GUI

Bên cạnh đó, MXC hỗ trợ vòng đời container có trạng thái với các thao tác provision, start, execute, stop và deprovision — phù hợp cho những container cần duy trì lâu dài thay vì chỉ chạy một lần.

SDK cho Rust, .NET và Node

MXC cung cấp SDK chính thức cho ba ngôn ngữ phổ biến, có thể cài đặt trực tiếp qua trình quản lý gói mà không cần clone kho mã nguồn:

  • Rust: mxc-sdk trên crates.io
  • .NET: Microsoft.Mxc.Sdk trên NuGet
  • Node: @microsoft/mxc-sdk trên npm

Gói Node và .NET đã bao gồm sẵn các tài nguyên runtime gốc. Với Rust, crate sẽ biên dịch SDK, engine và các backend được chọn trực tiếp vào ứng dụng.

Ví dụ một đoạn mã Node đơn giản để chạy workload trong container:

import { spawn, type ContainerRequest } from '@microsoft/mxc-sdk/v1';

const request: ContainerRequest = {
  command: 'node -e "console.log(\'hello from container\')"',
  network: { egress: { default: 'deny' } },
  timeoutMs: 30_000,
};

const child = await spawn(request);

Công cụ gỡ lỗi cho nhà phát triển

Một trong những khó khăn lớn nhất khi làm việc với sandbox là lỗi từ chối truy cập — ứng dụng bỗng dưng không chạy được vì chính sách quá chặt. MXC giải quyết vấn đề này bằng hai chế độ hỗ trợ:

  • Chế độ debug console: dùng cờ --debug để xem thông tin chẩn đoán chi tiết từ MXC
  • Chế độ audit: dùng cờ --audit để ghi lại các truy cập bị từ chối và tạo ra các gợi ý chính sách phù hợp

Cảnh báo quan trọng: Cờ --audit sẽ tắt toàn bộ bảo mật sandbox cho workload đang được phân tích. Tuyệt đối không dùng chế độ này để chạy mã không đáng tin cậy.

Vấn đề quyền riêng tư và telemetry

Các bản dựng chính thức của Microsoft có thể gửi telemetry chẩn đoán tùy chọn về máy chủ Microsoft. Tuy nhiên, tính năng này mặc định bị tắt và chỉ hoạt động khi hội đủ nhiều điều kiện: từng lần chạy phải chủ động chọn tham gia, người dùng Windows phải đồng ý rõ ràng, chính sách quản trị phải cho phép thu thập và ứng dụng phải bật tùy chọn telemetry trong yêu cầu workload.

Đáng chú ý, quản trị viên có thể chặn telemetry nhưng không thể tự đồng ý thay người dùng. Các bản dựng mã nguồn mở cục bộ không được cấu hình để gửi dữ liệu về Microsoft, và telemetry hoàn toàn không hoạt động trên các nền tảng phi Windows.

Ý nghĩa với cộng đồng phát triển tại Việt Nam

Với các đội ngũ đang xây dựng sản phẩm AI tại Việt Nam — đặc biệt là những ứng dụng dùng AI agent có khả năng sinh và thực thi mã — MXC là một lựa chọn đáng cân nhắc để giảm thiểu rủi ro bảo mật.

Thay vì tự xây dựng cơ chế cách ly từ đầu, nhà phát triển có thể tích hợp MXC để tận dụng các backend sandbox sẵn có của từng hệ điều hành. Việc hỗ trợ cả ba ngôn ngữ Rust, .NET và Node cũng giúp MXC phù hợp với nhiều loại dự án khác nhau, từ backend hiệu năng cao đến các công cụ phía máy khách.

Dự án đang ở giai đoạn đầu với một số backend còn được đánh dấu là thử nghiệm, nên các đội ngũ nên đánh giá kỹ trước khi đưa vào môi trường sản xuất.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗