Zum Inhalt springen
Testversion

Was ist die unerwartete Ausführung von Code?

Eine unerwartete Codeausführung tritt auf, wenn ein Angreifer einen Agenten ausnutzt, der Code schreibt und ausführt, um sich Zugriff auf die Remote-Codeausführung, den Missbrauch lokaler Systeme oder die Kompromittierung der Infrastruktur zu verschaffen.

Diese Angriffe nutzen die Tatsache aus, dass ein Agent nicht zuverlässig erkennen kann, wann Text ausführbare Anweisungen enthält. Dies eröffnet einem Angreifer mehrere Möglichkeiten. Mithilfe von Prompt-Injektion kann das Modell dazu gebracht werden, einen bösartigen Befehl zu generieren, der als normale Ausgabe getarnt ist. Durch den Missbrauch von Tools kann gewöhnlicher Text an eine Shell oder einen Interpreter weitergeleitet werden, die bzw. der ihn ausführt. Unsichere Serialisierung kann eine Textzeichenfolge wieder in ein aktives Objekt umwandeln, sobald sie deserialisiert wird. Da dieser Code oft in Echtzeit generiert wird, kann er herkömmliche Sicherheitskontrollen umgehen.

Im Juli 2025 führte ein Replit-Programmierer während eines aktiven Code-Freeze ungeprüfte, zerstörerische Befehle aus und löschte dabei eine live geschaltete Produktionsdatenbank. Eine separate Untersuchung aus dem Jahr 2025 deckte eine Reihe von Schwachstellen im Cursor-Editor auf, die die Ausführung von Remote-Code ermöglichten, darunter eine Schwachstelle mit dem Spitznamen „MCPoison“, bei der eine genehmigte MCP-Serverkonfiguration nachträglich unbemerkt durch einen bösartigen Befehl ersetzt werden konnte.

Wichtigste Erkenntnisse

  • „Unerwartete Codeausführung“ (ASI05) belegt Platz 5 der OWASP Top 10 für Agent-basierte Anwendungen 2026 und tritt auf, wenn Agenten, die Code generieren und ausführen, ausgenutzt werden, um eine Remote-Codeausführung zu erreichen oder interne Systeme zu kompromittieren.
  • Da der Code vom Agenten in Echtzeit generiert wird, können Prompt-Injektion, Missbrauch von Tools oder unsichere Serialisierung dazu führen, dass Text in unbeabsichtigtes ausführbares Verhalten umgewandelt wird, das herkömmliche Sicherheitskontrollen umgeht.
  • Zu den gängigen Beispielen zählen der Aufruf von Shell-Befehlen über reflektierte Eingabeaufforderungen, unsichere „eval()“-Anweisungen im Agentenspeicher sowie das Manipulieren von Abhängigkeits-Lockfiles, wie sie bei den Sicherheitslücken „Replit Vibe Coding Meltdown“ und „Cursor config “ zu beobachten waren.
  • Zur Prävention ist es erforderlich, von Skripten generierten Code zu bereinigen, die Verwendung von „eval“ in der Produktionsumgebung zu verbieten, niemals als Root zu arbeiten und für Ausführungen mit erhöhten Rechten eine manuelle Genehmigung zu verlangen.

Warum es gefährlich ist

Durch unerwartete Ausführung können Angreifer eine Funktion zur Codegenerierung dazu nutzen, das System zu kompromittieren:

  • Verlust von Produktionsdaten, wenn ein Agent während einer automatisierten Reparatur- oder Programmieraufgabe ungeprüfte Installations- oder Shell-Befehle in seiner eigenen Live-Umgebung ausführt
  • Direkte Kompromittierung des Systems durch Shell-Befehle, die in eine Eingabeaufforderung eingebettet und als gewöhnliche Anweisung getarnt sind
  • Ausgabe mit Hintertür, wenn ein Code-Generierungs-Agent einen Patch „erfindet“, der zwar legitim aussieht, aber versteckte bösartige Logik enthält
  • Konfigurationsentführung, bei der eine vertrauenswürdige Verbindung, wie beispielsweise ein MCP-Server, nach der anfänglichen Genehmigung durch eine bösartige Verbindung ersetzt wird, ohne dass eine neue Warnung ausgelöst wird

Typische Symptome

Unerwartete Ausführungsabläufe folgen einer Handvoll wiederkehrender Muster:

  • Aufruf eines Shell-Befehls, der durch eine Eingabeaufforderung ausgelöst wird, die wie eine gewöhnliche Anweisung zur Dateiverarbeitung aussieht
  • Unsichere eval()-Aufrufe, die im Speichersystem eines Agenten aufgedeckt wurden und nicht vertrauenswürdige Inhalte ohne Bereinigung verarbeiten
  • Unsichere Deserialisierung von Objekten, bei der eine bösartige Nutzlast die Ausführung auslöst, sobald sie eine andere Komponente erreicht
  • Manipulation von Abhängigkeits-Sperrdateien, bei der ein Agent, der eine Sperrdatei anhand nicht festgelegter Spezifikationen neu generiert, eine mit einer Hintertür versehene Paketversion einbindet

Dieses Risiko besteht, weil Code, den ein Agent im selben Schritt schreibt und ausführt, wichtige Sicherheitsprüfungen überspringen kann.

Von Agenten generierten Code in einer Sandbox ausführen

Der von Agenten generierte Code sollte strengen Richtlinien für die sichere Ausführung entsprechen.

  • Befolgen Sie die Richtlinien zur Eingabevalidierung und Ausgabekodierung aus LLM05:2025 „Unsachgemäße Behandlung von Ausgaben“, um den vom Agenten generierten Code zu bereinigen, bevor er ausgeführt wird.
  • Verhindern Sie, dass Agenten in direkten Kontakt mit Produktionssystemen kommen, und unterziehen Sie Vibe-Coding-Workflows Vorabprüfungen, Sicherheitsbewertungen und adversarischen Unit-Tests.
  • Die Verwendung von `eval()` in Produktionsagenten verbieten und sichere Interpreter mit Taint-Tracking für generierten Code vorschreiben
  • Führen Sie von Agenten generierten Code niemals als „root“ aus, sondern führen Sie ihn in Sandbox-Containern mit strengen Netzwerkbeschränkungen aus und beschränken Sie den Zugriff auf das Dateisystem auf ein eigens dafür vorgesehenes Arbeitsverzeichnis.
  • Isolieren Sie Umgebungen pro Sitzung durch Berechtigungsgrenzen, wenden Sie das Prinzip der geringsten Berechtigungen an und trennen Sie die Codegenerierung von der Ausführung durch eine dazwischenliegende Validierungsschleuse.
  • Für Ausführungen mit erhöhten Berechtigungen ist eine manuelle Genehmigung erforderlich; eine Whitelist für die automatische Ausführung sollte unter Versionskontrolle stehen.
  • Führen Sie vor der Ausführung statische Scans durch, aktivieren Sie die Laufzeitüberwachung auf Prompt-Injection-Muster und protokollieren Sie jede Generierung und Ausführung zu Prüfzwecken.

Einem Agenten sollte es niemals gestattet sein, eigenen Code zu schreiben und auszuführen, ohne dass entsprechende Sicherheitsmaßnahmen vorhanden sind.

< Zurück zu Glossar der Begriffe