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.
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.
Auftrag
Der Agent darf Shell, REPL oder Workflow nutzen
Code entsteht
Input oder Tool-Output beeinflusst den ausführbaren Schritt
Gate versagt
Policy, Freigabe oder Isolation stoppen ihn nicht
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.
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.
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
DevOpsManipulierter Kontext lenkt einen Operations-Agenten auf ein angebliches Cleanup, das Daten löscht, Logging deaktiviert oder Infrastruktur verändert.
Analysecode verlässt den Datensatz
AnalyticsEin 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
CodingDer 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.
Code, Befehle und Parameter zunächst nur als Vorschlag behandeln; Schema, Policy, Diff oder Dry Run voranstellen.
Dateisystem, Prozesse, Netzwerk und Ressourcen in kurzlebigen, eng begrenzten Laufzeiten kapseln.
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.