Cloud & Infrastruktur

Fünf Schichten zur Sandboxing von KI-Agenten auf Kubernetes

Oracle-Ingenieure skizzieren eine Fünf-Schichten-Architektur zur Isolation autonomer KI-Agenten auf Kubernetes, die Sicherheit und Leistung unter Verwendung von Runtimes wie gVisor und Kata Containers in Einklang bringt.

Ein Glaswürfel mit Schaltkreisen, geschützt durch Metallschilde auf einem Serverrack
Für diesen Artikel generierte Illustration

Automatisch aus dem englischen Original übersetzt.

Autonome KI-Agenten, die Code generieren und ausführen, führen zu neuen Sicherheitsrisiken für geteilte Kubernetes-Infrastrukturen. Um dies anzugehen, haben Ingenieure von Oracle Cloud Infrastructure eine Fünf-Schichten-Sandboxing-Strategie definiert, die Agent-Workloads isoliert, ohne die Cluster-Effizienz zu beeinträchtigen. Dieser Ansatz nutzt vorhandene cloud-native Tools, um sichere Grenzen um die Ausführung nicht vertrauenswürdigen Codes zu schaffen.

Was passiert ist

Da KI-Agenten in Entwicklungsf workflows immer häufiger vorkommen, agieren sie zunehmend autonom, indem sie Pakete installieren, Skripte ausführen und Code iterativ verbessern. Während dieses Verhalten auf einem lokalen Laptop handhabbar ist, birgt es erhebliche Risiken in Unternehmensumgebungen, in denen Agenten Kubernetes-Cluster mit anderen kritischen Workloads teilen. Die Standard-Container-Isolation verlässt sich auf den Host-Kernel, was bedeutet, dass ein vom Agenten ausgenutzter Kernel-Schwachpunkt den gesamten Knoten kompromittieren könnte.

Mickey Boxell und Kay, Produktleiter bei Oracle Cloud Infrastructure (OCI), haben einen strukturierten Ansatz zur Minderung dieser Risiken in einer technischen Tiefenanalyse dargelegt. Sie argumentieren, dass die Workload-Isolation von einer Nischen-Härtungsanforderung zu einer Grundvoraussetzung für Plattformen geworden ist, die KI-Agenten betreiben. Die vorgeschlagene Lösung erfordert keine Neuerfindung des Rades, sondern vielmehr die Zusammenstellung bestehender Open-Source-Komponenten zu einem kohärenten Stack.

Das Framework besteht aus fünf unterschiedlichen Schichten: der Isolations-Runtime, der Knotenkonfiguration, der Zugriffsrichtlinie, dem Kubernetes-Anforderungsmechanismus und der Sitzungsverwaltungsschicht. Durch die Adressierung jeder Schicht können Plattformteams den Blast Radius autonomer Codeausführung begrenzen und gleichzeitig die Leistung und Flexibilität aufrechterhalten, die Entwickler erwarten.

Wie es funktioniert

Der Kern dieser Strategie liegt in der Wahl der richtigen Isolationsgrenze. Standard-runc-Container teilen den Host-Kernel und bieten hohe Leistung, aber geringere Sicherheit. Für eine stärkere Isolation können Teams gVisor verwenden, das einen User-Space-Anwendungskernel implementiert, um Systemaufrufe zu verarbeiten, und so die Angriffsfläche reduziert, die dem Host ausgesetzt ist. Für das höchste Maß an Sicherheit führt Kata Containers jeden Pod in einer leichtgewichtigen virtuellen Maschine mit eigenem Gast-Kernel aus, der durch Hardware-Virtualisierung vom Host getrennt ist. Dies verhindert, dass Kernel-Level-Exploits aus dem Container entkommen, verursacht jedoch einen höheren Ressourcen-Overhead.

Sobald die Runtime ausgewählt ist, muss der Knoten entsprechend konfiguriert werden. Dies umfasst die Installation spezifischer Shims und die Sicherstellung der Unterstützung für Hardware-Virtualisierung bei VM-basierten Runtimes. Die Zugriffsschicht schränkt dann ein, was der Agent innerhalb der Sandbox tun kann. Dazu gehören die Durchsetzung von Default-Deny-Netzwerkrichtlinien, die Ausgabe kurzlebiger Credentials und das Einbinden von Datenvolumes als schreibgeschützt, es sei denn, Schreibzugriff ist explizit erforderlich. Diese Richtlinien stellen sicher, dass selbst wenn ein Agent kompromittiert wird, seine Fähigkeit, Daten zu exfiltrieren oder externe Systeme zu beschädigen, minimiert wird.

Kubernetes-RuntimeClass-Objekte ermöglichen es Pods, dynamisch diese isolierten Runtimes zu nutzen. Das bedeutet, dass Nicht-Agent-Workloads weiterhin die Standard-High-Performance-Runtime verwenden können, während Agent-Tasks automatisch die sicherere, albeit schwerfälligere Umgebung auswählen. Schließlich standardisiert das Agent-Sandbox-Projekt das Sitzungsmanagement und ermöglicht zustandsbehaftete Umgebungen, die pausiert und fortgesetzt werden können, um die Ressourcennutzung im Gleichgewicht mit der Reaktionsfähigkeit zu halten.

Wichtige Details

  • Isolationsoptionen: runc teilt den Host-Kernel; gVisor verwendet einen User-Space-Kernel; Kata Containers verwendet leichtgewichtige VMs mit separaten Gast-Kernels.
  • Knoten-Anforderungen: Kata Containers erfordert Knoten mit Unterstützung für Hardware-Virtualisierung (KVM) und Nested-Virtualisierungsfähigkeiten, wenn es auf VMs ausgeführt wird.
  • Zugriffskontrolle: Netzwerkrichtlinien sollten standardmäßig Egress verweigern und nur bestimmte Ziele wie Paket-Mirrors oder Modell-Endpunkte zulassen.
  • Credential-Management: Verwenden Sie kurzlebige Tokens, die auf spezifische Aufgaben beschränkt sind, anstelle von langlebigen Secrets, die im Pod eingebunden sind.
  • Ressourcen-Overhead: Sandboxed-Runtimes fügen CPU- und Speicher-Overhead hinzu; RuntimeClass-Definitionen müssen gemessene Overhead-Werte enthalten, um genaues Scheduling zu gewährleisten.
  • Sitzungsmanagement: Die Agent-Sandbox-API unterstützt Warm-Pools und persistenten Speicher, um die burstartige Natur von Agent-Interaktionen zu bewältigen.

Warum es wichtig ist

Für Software-Ingenieure und Plattform-Leads bedeutet die Verbreitung von KI-Agenten, dass traditionelle Container-Sicherheitsmodelle nicht mehr ausreichen. Ein Agent, der willkürlich Code ausführen kann, stellt eine dynamische Bedrohungsvektor dar, den statisches Scanning nicht vollständig adressieren kann. Die Implementierung dieser fünf Schichten bietet eine Defense-in-Depth-Strategie, die die zugrunde liegende Infrastruktur vor unvorhersehbarem Agent-Verhalten schützt.

Der Kompromiss zwischen Sicherheit und Leistung steht im Zentrum dieser Diskussion. Während Kata Containers die stärkste Isolation bietet, können die Kosten für das Booten eines Gast-Kernels und das Management zusätzlicher Ressourcen für High-Throughput-, Low-Latency-Tasks prohibitiv sein. gVisor bietet einen Mittelweg, aber seine Emulation von Linux-Systemaufrufen unterstützt möglicherweise nicht alle Agent-Verhaltensweisen, wie komplexe verschachtelte Builds oder spezifische Compiler-Operationen. Das Verständnis dieser Trade-offs ermöglicht es Teams, fundierte Entscheidungen basierend auf ihrer spezifischen Risikotoleranz und ihren Workload-Anforderungen zu treffen.

Darüber hinaus nutzt dieser Ansatz standardmäßige Kubernetes-APIs, was Portabilität über verschiedene Cloud-Anbieter und On-Premises-Setups hinweg gewährleistet. Durch die Abhängigkeit von Community-getriebenen Projekten wie gVisor, Kata Containers und der Agent Sandbox vermeiden Organisationen Vendor Lock-in und profitieren von kontinuierlichen Sicherheitsupdates und Design-Reviews aus einem breiten Ökosystem von Mitwirkenden.

Was Sie tun können

  • Bewerten Sie Ihre aktuellen Agent-Workloads, um das geeignete Isolationsniveau zu bestimmen, und wählen Sie zwischen gVisor für ausgewogene Sicherheit und Kata Containers für maximale Isolation.
  • Konfigurieren Sie Ihre Kubernetes-Knoten mit den erforderlichen Runtimes und stellen Sie sicher, dass Hardware-Virtualisierung aktiviert ist, wenn Sie VM-basierte Sandboxes verwenden.
  • Definieren Sie RuntimeClass-Objekte für jede sandboxed Runtime, einschließlich genauer Messungen des Ressourcen-Overheads, um Scheduling-Fehler zu verhindern.
  • Implementieren Sie strenge Netzwerkrichtlinien, die standardmäßig allen Egress-Traffic verweigern und explizit nur die Endpunkte zulassen, die für Agent-Tasks erforderlich sind.
  • Refaktorisieren Sie das Credential-Management, um kurzlebige, beschränkte Tokens für Agent-Sitzungen auszustellen, anstatt statische Secrets zu verwenden.
  • Erkunden Sie das Agent-Sandbox-Projekt, um zustandsbehaftete Agent-Sitzungen zu verwalten und die Ressourcennutzung durch Warm-Pools zu optimieren.
  • #kubernetes
  • #ai-agents
  • #security
  • #sandboxing
  • #cloud-native

Tools aus dem Bytechap-Shop

Weiterlesen

Alle Artikel