İçeriğe geç
edumintsBlog
Backend3 dk okuma

MXC: Katmanlı İzolasyon ve İlke Tabanlı Kod Çalıştırma Sistemi

Kaynak: Hacker News

Paylaş
BackendEdumints Blog
İçindekiler 5 başlık

Microsoft eXecution Container (MXC)#

Microsoft eXecution Container (MXC); yapay zekâ model çıktıları, harici eklentiler ve araçlar gibi güvenilmeyen kodların Windows, Linux ve macOS üzerinde güvenle çalıştırılmasını sağlayan yalıtılmış (sandboxed) bir kod yürütme sistemidir. Sistem; işletim sistemine özgü yerel süreç yalıtımlarından tam sanal makinelere (VM) kadar uzanan çoklu kapsayıcı arka uçlarını, birleşik bir izolasyon modeli ve tip güvenli SDK mimarisi arkasında sunar.

Temel Özellikler#

MXC, geliştiricilere güvenli ve esnek bir çalışma ortamı sunmak için şu temel yeteneklerle gelir:

  • Çapraz platform (Cross-platform): Platforma uygun yalıtım arka uçlarıyla Windows, Linux ve macOS desteği sunar.
  • JSON tabanlı yapılandırma (JSON-based configuration): Sürümlendirilmiş kapsayıcı oluşturma istekleri ve güvenlik ilkeleri tanımlamayı sağlar.
  • Çoklu yalıtım arka uçları (Multiple containment backends): ProcessContainer, Windows Sandbox, LXC, Bubblewrap, Seatbelt, MicroVM (Nanvix), Hyperlight, IsolationSession ve WSLC arka uçlarını destekler.
  • İlke odaklı yalıtım (Policy-driven sandboxing):
    • Dosya sistemi ilkesi (Filesystem policy): Salt okunur, yazılabilir ve erişimi engellenmiş dizin listeleri.
    • Ağ ilkesi (Network policy): Proxy desteği, giden bağlantı denetimleri ve arka uca bağlı ana bilgisayar filtreleme.
    • Kullanıcı arayüzü ilkesi (UI policy): Pano (clipboard), ekran ve grafiksel arayüz (GUI) erişim kontrolleri.
  • Durum bilgisine sahip yaşam döngüsü (State-aware lifecycle): Kalıcı kapsayıcıları hazırlama (provision), başlatma, yürütme, durdurma ve sonlandırma adımlarını yönetir.
  • Rust, .NET ve Node SDK'ları (Rust, .NET, and Node SDKs): Tek seferlik (one-shot) ve durum korumalı çalıştırma senaryoları için sürümlendirilmiş API'lar sağlar.
  • Tanılama (Diagnostics): Kapsayıcı içerisindeki erişim engelleme (access-denied) hatalarını incelemek ve analiz etmek için araçlar içerir.

MXC Nedir?#

MXC, uygulamanızın içerisine doğrudan derlenen ve süreç içinde (in-process) çalışan bir SDK bağımlılığıdır. Sistem mimarisinde uygulamanız SDK'yı çağırır, SDK uygun arka ucu devreye alır ve iş yükü yalıtılmış kapsayıcıda güvenle başlatılır.

Uygulamanız şu üç temel unsuru tanımlar:

  • Kapsayıcı türü (The container type): Çalışma için hedeflenen yalıtım seviyesi.
  • Yalıtım kuralları (The containment rules): Kaynak ve erişim sınırlarını belirleyen güvenlik ilkeleri.
  • İş yükü komutu (The workload command): Kapsayıcı içinde icra edilecek hedef komut.

MXC bu istekleri doğrular, arka ucu seçer ve iş yükünü çalıştırır. Bu yaklaşım, özellikle LLM tabanlı otonom ajanların araç çağırma (tool calling) adımlarını güvenliğe almak için pratik bir altyapı oluşturur.

Desteklenen Kapsayıcı Türleri Nelerdir?#

MXC, platforma uygun yerel mekanizmalardan yararlanarak performans ve yalıtımı dengeler:

  • Windows 11 x64 / ARM64: Varsayılan arka uç processcontainer olup; windows_sandbox, wslc, microvm, hyperlight* ve isolation_session seçeneklerini destekler (*deneyseldir).
  • Linux x64 / ARM64: Varsayılan olarak bubblewrap kullanılır; ayrıca lxc, microvm ve hyperlight arka uçları mevcuttur.
  • macOS ARM64 / x64: Varsayılan olarak yerel seatbelt arka ucunu kullanır.

MXC Nasıl Kullanılır?#

Depoyu klonlamaya gerek kalmadan ilgili SDK paketini doğrudan proje bağımlılıklarınıza ekleyebilirsiniz:

  • Rust: crates.io/crates/mxc-sdk
  • .NET: nuget.org/packages/Microsoft.Mxc.Sdk
  • Node: npmjs.com/package/@microsoft/mxc-sdk

Yazılım geliştiriciler için bu yapı, üretim ortamında dinamik ve güvenilmeyen kod çalıştırmanın risklerini ortadan kaldıran güçlü bir güvenlik katmanı sağlar.


Bu konuyu derinlemesine öğrenmek isterseniz: Güvenli Model Registry ve Container Güvenliği modülüne göz atın.

Kaynak ve atıf

Bu yazı, Hacker News üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:

  • github.com/microsoft/mxc