Zum Inhalt springen
AI Agent Security
Kontakt
Menü

29.03.2026

Aktualisiert 27.07.2026

Threat

Unexpected Code Execution

Ein KI-Agent löst unerwartet Shell-, Skript- oder andere Codeausführung aus und überträgt damit unsichere Modellentscheidungen in eine reale Laufzeit.

Unexpected Code Execution

Was Unexpected Code Execution ist

Unexpected Code Execution beschreibt Fälle, in denen ein KI-Agent unerwartet Shell-Befehle, Skripte, generierten Code, Build-Schritte oder andere ausführbare Artefakte startet. Anders als bei klassischer Remote Code Execution muss dafür nicht zwingend eine Software-Schwachstelle ausgenutzt werden: Häufig missbraucht der Agent einen legitimen Ausführungspfad.

Betroffen sind nicht nur Coding Agents. Auch Analyse-, DevOps- und Workflow-Agenten können Code in REPLs, Notebooks, CI-Runnern, Containern oder angebundenen Automationssystemen ausführen.

Wie der Angriff funktioniert

Der Agent beginnt meist mit einer legitimen Aufgabe und besitzt dafür ein ausführbares Tool. Fremder Inhalt oder unsicherer Modell-Output beeinflusst anschließend Code, Befehl oder Parameter.

Vom Text zur realen Ausführung
1

Auftrag

Der Agent darf Shell, REPL oder Workflow nutzen

2

Code entsteht

Input oder Tool-Output beeinflusst den ausführbaren Schritt

3

Gate versagt

Policy, Freigabe oder Isolation stoppen ihn nicht

4

Runtime

Die Umgebung führt den Schritt mit realen Rechten aus

Mögliche Folgen

Dateien und Konfigurationen ändern sich

Secrets werden gelesen

Netzwerkzugriff oder Persistenz entsteht

Wie groß der Schaden wird, bestimmen vor allem Runtime-Isolation, Identität, Dateisystem- und Netzwerkzugriff. Dieselbe Anweisung ist in einer flüchtigen Read-only-Sandbox ein anderer Vorfall als auf einem produktiven Runner.

Agentischer Ausführungspfad oder klassisches RCE?

Agentischer Pfad

Unexpected Code Execution

Der Agent übersetzt Inhalt in Code oder Befehle und nutzt dafür einen vorgesehenen Ausführungskanal.

Agent Generierter Schritt Legitime Runtime

Keine klassische Software-Lücke erforderlich

Autorisierung und Zweckprüfung sind zentral

Exploit

Klassisches RCE

Ein Angreifer nutzt eine Software-Schwachstelle, um Code über eine technische Vertrauensgrenze hinweg auszuführen.

Angreifer Schwachstelle Zielsystem

Exploit der Implementierung ist der Kern

Patchen beseitigt die konkrete Schwachstelle

Tool Misuse ist die breitere Kategorie für falsch eingesetzte Werkzeuge. Prompt Injection kann den Ausführungspfad anstoßen; Unexpected Code Execution bezeichnet den Moment, in dem eine Runtime tatsächlich erreicht wird.

Drei typische Szenarien

Reparaturskript verändert Produktion

DevOps
Build reparieren
Skript starten
Produktion ändern

Manipulierter Kontext lenkt einen Operations-Agenten auf ein angebliches Cleanup, das Daten löscht, Logging deaktiviert oder Infrastruktur verändert.

Analysecode verlässt den Datensatz

Analytics
Daten auswerten
Python erzeugen
Secrets lesen

Ein Notebook- oder REPL-Agent führt beeinflussten Code aus, der statt der Analyse auf Dateien, Umgebungsvariablen oder das Netzwerk zugreift.

Repo-Inhalt aktiviert einen späteren Codepfad

Coding
Repository prüfen
Paket installieren
Hook ausführen

Der Agent verändert Hooks oder CI-Konfigurationen, installiert ungeprüfte Pakete oder startet Befehle außerhalb des eigentlichen Tasks.

Was wirklich schützt

Unexpected Code Execution braucht Kontrollen auf mehreren Ebenen. Die wirksamste Grenze liegt nicht im Prompt, sondern zwischen generiertem Schritt und ausführender Umgebung.

Drei priorisierte Schutzschichten
Schutzschicht 1
Generierung und Ausführung trennen

Code, Befehle und Parameter zunächst nur als Vorschlag behandeln; Schema, Policy, Diff oder Dry Run voranstellen.

Schutzschicht 2
Runtime hart isolieren

Dateisystem, Prozesse, Netzwerk und Ressourcen in kurzlebigen, eng begrenzten Laufzeiten kapseln.

Schutzschicht 3
Rechte und Egress minimieren

Read-only Defaults, task-bezogene Credentials, enge Pfade und restriktive Netzwerkziele erzwingen.

Unsicherer Code kann erzeugt werden. Er erreicht aber keine produktive Laufzeit mit verwertbaren Secrets, breiten Schreibrechten oder freiem Netzwerkzugriff.

Paketinstallationen, Deployments und destruktive Befehle sollten zusätzlich eine konkrete menschliche Freigabe benötigen. Monitoring & Observability muss Modell-, Tool- und Runtime-Ereignisse in einem Pfad verbinden.

Wie Teams unerwartete Codeausführung erkennen und testen

  • Task und Runtime vergleichen: Analytische oder reine Leseaufträge dürfen nicht unvermittelt Shell-, Python-, Build- oder Paket-Tools auslösen.
  • Prozess und Dateien beobachten: Child-Prozesse, Hooks, versteckte Dateien, CI-Konfigurationen und Lockfiles auf unerwartete Änderungen prüfen.
  • Netzwerk und Secrets korrelieren: Ausführung nach fremden Inhalten zusammen mit Egress, Umgebungsvariablen- und Credential-Zugriff alarmieren.
  • Parameter erhalten: Inline-Skripte, Encodings, Download-Befehle, Paketquellen und Zielpfade vollständig protokollieren.
  • Grenzen adversarial testen: Präparierte Repositories, Webseiten und Tool-Outputs gegen Sandbox, Freigaben, Dateisystem- und Netzwerkregeln prüfen.

Für die Forensik müssen Tool-Name, rohe Parameter, Prozessbaum, Dateischreibvorgänge, Netzwerkziele und Policy-Entscheidungen über dieselbe Agent-Trace auffindbar sein.

Quellen