Ana Sayfa/Yapay Zeka & Gelecek
Yapay Zeka & Gelecek·25 Ekim 2026·7 dk okuma

Anthropic’ten Ajan Güvenliği İçin Açık Kaynak ‘sandbox-runtime’ (srt): Konteynersiz Çekirdek İzolasyonu ve %84 Daha Az İzin İstemi

Anthropic tarafından açık kaynak olarak yayımlanan '@anthropic-ai/sandbox-runtime' (srt); Docker veya sanal makine gerektirmeden Linux bubblewrap/seccomp, macOS Seatbelt (sandbox-exec) ve Unix soket vekil sunucusuyla otonom ajanları ve MCP sunucularını yalıtarak izin istemlerini %84 azaltmaktadır.

Anthropic’ten Ajan Güvenliği İçin Açık Kaynak ‘sandbox-runtime’ (srt): Konteynersiz Çekirdek İzolasyonu ve %84 Daha Az İzin İstemi

Otonom Ajanlarda ‘Onay Yorgunluğu’nun Sonu: @anthropic-ai/sandbox-runtime (srt)

Otonom kodlama ajanları (Claude Code vb.) ve yerel Model Context Protocol (MCP) sunucuları, geliştirici makinelerinde doğrudan kabuk (shell) komutları çalıştırma, paket yükleme ve dosya sistemi üzerinde değişiklik yapma yetkisine sahiptir. Ancak bu yetki iki uçlu bir güvenlik ikilemi doğurmaktadır: Ajanın her bash komutu için kullanıcıdan manuel onay istemek "onay yorgunluğuna" (approval fatigue) yol açarak geliştiricilerin uyarıları okumadan onaylamasına neden olurken; onayları tamamen kaldırmak dolaylı istem enjeksiyonu (indirect prompt injection) sonucunda ~/.ssh anahtarlarının sızdırılmasına veya .git/hooks üzerinden kalıcı arka kapı yerleştirilmesine kapı aralamaktadır.

Anthropic, bu mimari ikilemi çözmek amacıyla Claude Code'un güvenlik omurgasını oluşturan @anthropic-ai/sandbox-runtime (komut satırı kısaltmasıyla srt) projesini açık kaynak olarak yayımlamıştır. Ağır Docker konteynerleri, arka plan servisleri (daemons) veya sanal makineler gerektirmeyen srt, doğrudan işletim sistemi çekirdeğinin (OS kernel) yerel izolasyon ilkelerini kullanarak süreç ağaçlarını (process trees) hem dosya sistemi hem de ağ katmanında çift yönlü olarak yalıtmaktadır. Anthropic'in mühendislik verilerine göre bu deterministik izolasyon katmanı, tekrarlayan kullanıcı izin istemlerini %84 oranında azaltırken otonom ajanların güvenlik sınırlarını matematiksel olarak garanti altına almaktadır.


1. Çekirdek Mimarisi: Konteynersiz İşletim Sistemi İlkeleri (bubblewrap, seccomp ve Seatbelt)

Geleneksel konteyner çalışma zamanları (Docker, Podman) veya mikro-VM çözümleri (Firecracker), her ajan alt görevi için yüksek başlatma gecikmesi, sanal disk imajı yönetimi ve yerel geliştirici ortamıyla dosya senkronizasyonu karmaşıklığı getirmektedir. sandbox-runtime (srt) ise işletim sisteminin yerleşik süreç yalıtım mekanizmalarını doğrudan çağırarak milisaniyeler içinde sıfır-güven (zero-trust) kabuğu oluşturmaktadır:

  1. Linux (bubblewrap + seccomp BPF + socat):
    Linux üzerinde srt, ayrıcalıksız kullanıcı ad alanlarını (unprivileged user namespaces) yöneten bubblewrap (bwrap) aracını kullanır. --unshare-net bayrağıyla sürecin ağ ad alanı (network namespace) ana makineden tamamen koparılır ve dosya sistemi bağlama noktaları (bind mounts) salt-okunur veya seçici yazılabilir olarak yeniden inşa edilir. Ayrıca entegre seccomp (Secure Computing Mode) BPF filtreleri, süreç ağacının izinsiz Unix alan soketleri (AF_UNIX) oluşturmasını veya çekirdek kaçışına yol açabilecek tehlikeli sistem çağrılarını (syscalls) çekirdek seviyesinde engeller.
  2. macOS (sandbox-exec ve Dinamik Seatbelt Profilleri):
    macOS platformunda srt, çalışma zamanında yapılandırma kurallarına göre dinamik olarak Apple Seatbelt (.sb) güvenlik profilleri derler ve bunları işletim sisteminin yerleşik sandbox-exec motoru üzerinden uygular. Hassas dizinlerin hızlı tespiti ve maskelenmesi için ripgrep entegrasyonundan yararlanılır.
  3. Windows (Alfa — srt-sandbox, NTFS ACL ve WFP):
    Windows ortamında özel olarak kısıtlanmış bir yerel güvenlik hesabı (srt-sandbox), açık NTFS erişim kontrol listeleri (ACL) ve Windows Filtering Platform (WFP) çıkış güvenlik duvarı kuralları birleştirilerek süreç izolasyonu sağlanır.
  4. Tam Süreç Ağacı (Process Tree) Kapsamı:
    İzolasyon yalnızca ajanın başlattığı ilk komuta değil; o komutun fork() veya exec() ile doğurduğu tüm alt süreçlere, arka plan görevlerine ve üçüncü taraf derleme betiklerine (npm postinstall vb.) otomatik olarak miras kalır.
mermaid
flowchart TD
    subgraph Agent["Otonom Kodlama Ajanı (Claude Code / Özel Ajan) & Yerel MCP Sunucusu"]
        A["Kabuk Komutu veya Araç Çağrısı: srt 'npm test && node build.js'"] --> B["Platform Algılama & Politika Derleyici (srt-settings.json)"]
    end

    subgraph Kernel["İşletim Sistemi Çekirdek İzolasyonu (Konteynersiz)"]
        B -->|Linux| C["bubblewrap (bwrap --unshare-net) + seccomp BPF Filtresi"]
        B -->|macOS| D["sandbox-exec + Dinamik Apple Seatbelt Profili"]
        B -->|Windows| E["srt-sandbox Hesabı + NTFS ACL + WFP Çıkış Duvarı"]
    end

    subgraph DualBoundary["Çift Katmanlı Güvenlik Sınırı (Dosya Sistemi + Ağ)"]
        C & D & E --> F["Dosya Sistemi Sınırı: allowWrite ('.', '/tmp') | denyRead ('~/.ssh', '.env') | Kilitli '.git/hooks'"]
        C & D & E --> G["Ağ İzolasyonu: Doğrudan Soketler Kapalı -> Unix Soket Köprüsü (socat)"]
        G --> H["Ana Makine HTTP/SOCKS5 Proxy: allowedDomains ('github.com', '*.npmjs.org')"]
    end

    style Agent fill:#0f172a,stroke:#38bdf8,stroke-width:2px,color:#f8fafc
    style Kernel fill:#1e1b4b,stroke:#f59e0b,stroke-width:2px,color:#f8fafc
    style DualBoundary fill:#064e3b,stroke:#10b981,stroke-width:2px,color:#f8fafc

2. Çift Katmanlı Savunma: Neden Yalnızca Dosya Sistemi veya Yalnızca Ağ İzolasyonu Yetmez?

Anthropic güvenlik mühendisliği ekibinin vurguladığı en kritik mimari ilke, dosya sistemi izolasyonu ile ağ izolasyonunun birbirinden ayrı düşünülemeyeceğidir:

  • Yalnızca Dosya Sistemi İzolasyonu Uygulansaydı: Zararlı bir istem enjeksiyonuna maruz kalan ajan, ~/.ssh dizinini okuyamasa bile proje çalışma dizinindeki özel kaynak kodlarını veya bellekteki ortam değişkenlerini sınırsız ağ erişimi üzerinden saldırganın komuta-kontrol (C2) sunucusuna sızdırabilirdi (data exfiltration).
  • Yalnızca Ağ İzolasyonu Uygulansaydı: Ajan dış internete doğrudan veri gönderemese bile, yerel dosya sistemindeki ~/.bashrc, ~/.zshrc veya projenin .git/hooks/pre-commit ve .git/config dosyalarına zararlı bir komut yazarak (persistence / sandbox escape), geliştirici bir sonraki sefer normal terminalinde git commit çalıştırdığında sandbox dışında tam yetkiyle kod yürütebilirdi.

Bu nedenle sandbox-runtime (srt), her iki vektörü aynı anda kapatan birleşik bir mimari uygular:

  1. Hassas Dosya ve Git Kancası Koruması (allowWrite / denyRead / denyWrite): Varsayılan olarak tüm dosya sistemi salt-okunur kabul edilir; yalnızca aktif proje dizini (.) ve /tmp gibi açıkça izin verilen yollara yazma izni verilir. Ancak aktif proje dizini içinde dahi .git/hooks, .git/config ve .env gibi yüksek riskli yapılandırma dosyalarına yazma işlemi çekirdek düzeyinde reddedilir; ~/.ssh ve bulut kimlik dizinleri ise denyRead ile tamamen görünmez kılınır.
  2. Unix Alan Soketi Köprüsü ve Ana Makine Proxy Filtrelemesi (allowedDomains): Sandbox içindeki sürecin ağ ad alanı tamamen kaldırıldığı için süreç doğrudan TCP/UDP soketi açamaz. Bunun yerine ana makinede (sandbox dışında) çalışan güvenilir bir HTTP/SOCKS5 vekil sunucusu (host-side proxy), kontrollü bir Unix alan soketi (socat) aracılığıyla sandbox içine köprülenir. Tüm giden trafik bu vekil sunucudan geçer ve yalnızca allowedDomains listesindeki etki alanlarına (github.com, *.npmjs.org vb.) izin verilir; ayrıca AWS SigV4 gibi kimlik imzalama işlemleri anahtarlar sandbox içine hiç sokulmadan proxy katmanında maskelenerek gerçekleştirilebilir.
Güvenlik ve Mimari Kriter Geleneksel İzin İstemleri (Onay Kutuları) Tam Docker / VM Konteynerleri Anthropic sandbox-runtime (srt)
İzolasyon Mekanizması Kullanıcı onayı (İnsan döngüde) Sanal çekirdek / Ağır container daemon Yerel OS İlkeleri (bwrap, seccomp, sandbox-exec)
Başlatma Gecikmesi (Latency) Her komutta saniyelerce insan beklemesi yüzlerce milisaniye – saniye Milisaniye altı (Doğrudan süreç sarmalama)
İzin İstemi (Prompt) Yükü %100 (Onay yorgunluğu riski yüksek) Düşük (Ancak yerel araçlarla uyumsuz) %84 Azalma (Sınır içi komutlar otomatik onaylı)
Dosya Sistemi Koruması Onay verilirse tüm kullanıcı yetkisi Ayrı sanal disk (Bind mount karmaşası) allowWrite / denyRead + .git/hooks & ~/.ssh kilidi
Ağ Sızdırma (Exfiltration) Kalkanı Yok (curl ile her yere erişilebilir) Genellikle tam açık veya tamamen kapalı Unix Soket Köprüsü + allowedDomains Proxy
Entegrasyon Biçimi IDE / Ajan arayüzüne bağımlı Dockerfile ve daemon gerektirir srt <komut> CLI veya @anthropic-ai/sandbox-runtime SDK

3. Uygulama: TypeScript SDK ve srt-settings.json ile Güvenli MCP / Ajan Sarmalayıcı

@anthropic-ai/sandbox-runtime hem küresel bir CLI aracı (npm install -g @anthropic-ai/sandbox-runtime ardından srt "node agent-task.js") hem de özel ajan çerçevelerine doğrudan gömülebilen bir TypeScript/Node.js kütüphanesi olarak kullanılabilmektedir.

Aşağıdaki TypeScript modülü, bir otonom kodlama ajanının veya yerel MCP sunucusunun çalıştıracağı kabuk komutlarını srt güvenlik ilkeleriyle (allowedDomains, denyRead, allowWrite ve zorunlu .git/hooks koruması) doğrulayıp sarmalayan örnek bir AgentSandboxPolicyEnforcer yapısını göstermektedir:

typescript
import { spawn } from "node:child_process";
import { writeFileSync } from "node:fs";
import { join } from "node:path";

export interface SrtNetworkPolicy {
  allowedDomains: string[];
  deniedDomains: string[];
  allowUnixSockets: string[];
  allowLocalBinding: boolean;
}

export interface SrtFilesystemPolicy {
  allowRead: string[];
  denyRead: string[];
  allowWrite: string[];
  denyWrite: string[];
}

export interface SrtSettingsConfig {
  network: SrtNetworkPolicy;
  filesystem: SrtFilesystemPolicy;
}

export class AgentSandboxPolicyEnforcer {
  private readonly settingsPath: string;
  private readonly config: SrtSettingsConfig;

  constructor(workspaceDir: string, extraAllowedDomains: string[] = []) {
    this.settingsPath = join(workspaceDir, ".srt-settings.json");

    // Sıfır-güven (Zero-Trust) varsayılan dosya ve ağ izolasyon politikası
    this.config = {
      network: {
        allowedDomains: [
          "github.com",
          "*.github.com",
          "registry.npmjs.org",
          ...extraAllowedDomains,
        ],
        deniedDomains: ["*"],
        allowUnixSockets: [],
        allowLocalBinding: false,
      },
      filesystem: {
        allowRead: [workspaceDir, "/usr", "/lib", "/bin"],
        denyRead: ["~/.ssh", "~/.aws", "~/.config/gcloud", "~/.npmrc"],
        allowWrite: [workspaceDir, "/tmp"],
        // Kalıcılık (persistence) ve sır sızdırma vektörleri kesin olarak kilitlenir
        denyWrite: [
          join(workspaceDir, ".env"),
          join(workspaceDir, ".git/hooks"),
          join(workspaceDir, ".git/config"),
        ],
      },
    };
  }

  public persistPolicyFile(): string {
    writeFileSync(this.settingsPath, JSON.stringify(this.config, null, 2), "utf-8");
    return this.settingsPath;
  }

  public executeSandboxedCommand(command: string): Promise<{ exitCode: number; stdout: string }> {
    const configFile = this.persistPolicyFile();
    return new Promise((resolve, reject) => {
      const child = spawn("srt", ["--settings", configFile, command], {
        stdio: ["ignore", "pipe", "pipe"],
      });

      let stdoutData = "";
      child.stdout.on("data", (chunk: Buffer) => {
        stdoutData += chunk.toString("utf-8");
      });

      child.on("error", (err) => reject(err));
      child.on("close", (code) => {
        resolve({ exitCode: code ?? 1, stdout: stdoutData.trim() });
      });
    });
  }
}

Sonuç ve Mühendislik Değerlendirmesi

Anthropic'in @anthropic-ai/sandbox-runtime (srt) hamlesi, otonom ajan güvenliğini "modelin iyi niyetine veya kullanıcının dikkatine güvenme" aşamasından çıkarıp işletim sistemi çekirdeği düzeyinde deterministik sınırlandırma aşamasına taşımaktadır. Linux'ta bubblewrap ve seccomp, macOS'ta sandbox-exec Seatbelt ve ağ katmanında Unix alan soketi tabanlı vekil sunucu köprüsünü tek bir hafif SDK/CLI altında birleştiren srt; hem yerel MCP sunucularının saldırı yüzeyini daraltmakta hem de izin istemlerini %84 azaltarak güvenli otonom mühendislik hızını katlamaktadır.

Konu Etiketleri
#Anthropic#Claude Code#Ajan Güvenliği#sandbox-runtime#MCP Güvenliği#bubblewrap#seccomp#Seatbelt
Emre Taştutan
Emre TaştutanGeliştirici & AI Meraklısı

Yazılım mimarisi, mikroservis ekosistemleri ve üretken yapay zeka uygulamaları üzerine çalışıyorum. TastutanLabs çatısı altında geliştirici araçları ve SaaS ürünleri inşa ediyorum.

@tastutanlabs • Instagram Mini-Blog

Bu analizin 6 kartlık görsel özetini Instagram'da inceleyin ve kaydedin

Her gün yazılım mimarisi, Java/JVM ve yapay zeka gelişmelerini kendi başına okunabilen 6 slaytlık Mini-Blog serileri halinde paylaşıyoruz.

Instagram'da Takip Et →
Bu Yazıyı Paylaş:

Yorumlar (0)

Düşüncelerinizi Paylaşın

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bu Kategorideki Diğer İncelemeler

Yapay Zeka & Gelecek

CrowdStrike’tan 495 Milyon Dolarlık Otonom Ajan Güvenliği Hamlesi: ‘Fiddler AI’ ve ‘Dreadnode’ Satın Alması ile ‘AI Kill Switch’ Mimarisi

CrowdStrike, Fal.Con Europe 2026 konferansında otonom yapay zeka ajanlarını güvence altına almak amacıyla AI gözlemlenebilirlik lideri Fiddler AI (~400 milyon dolar) ve ofansif AI kırmızı takım platformu Dreadnode (~95 milyon dolar) girişimlerini satın aldığını ve Falcon Guardian 'AI Kill Switch' devre kesicisini duyurdu.

Emre TaştutanEmre Taştutan
8 dk
Yapay Zeka & Gelecek

OpenAI’dan ‘Şirketin Geleceği’ (The Future of the Firm) Mimarisi, Claude Code Liderinin Transferi ve Veri Merkezlerinde Şebeke Regülasyonu Krizi

OpenAI araştırmacılarının otonom ajanların kurumsal organizasyon şemalarındaki 3 topolojisini incelediği 'The Future of the Firm' makalesi, Claude Code ürün lideri Cat Wu'nun OpenAI Core Products ekibine transferi ve ABD seçimleri sonrası veri merkezi enerji şebekesi darboğazı inceleniyor.

Emre TaştutanEmre Taştutan
9 dk
Yapay Zeka & Gelecek

Hindistan’ın Egemen Yapay Zeka Hamlesi: IndiaAI Misyonu ‘EKA-1’ (26,3B) ve ‘Dhīr 2B / 5B’ Yerli Temel Modellerini Tanıttı

Hindistan Elektronik ve Bilgi Teknolojileri Bakanlığı (MeitY) çatısı altındaki IndiaAI Misyonu; Soket AI Labs tarafından 7,5 trilyon token ile eğitilen 26,3 milyar parametreli seyrek hibrit EKA-1 modelini ve ZenteiQ AiTech imzalı çevrimdışı/hava boşluklu Dhīr 2B ile Dhīr 5B modellerini kullanıma sundu.

Emre TaştutanEmre Taştutan
8 dk