Zum Inhalt springen

Leitfaden

Claude Code Security: KI-Coding-Agenten im Entwickleralltag absichern

Von Lucas Weber, CyberSec42 · Stand 28.10.2026

CyberSec42

Claude Code Security heißt vor allem: festlegen, was der Agent auf Ihrem Rechner ohne Rückfrage tun darf. Claude Code und Cursor lesen Dateien, ändern Code und führen Shell-Befehle mit den Rechten Ihres Benutzerkontos aus, und jeder Text, den der Agent liest, kann versuchen, ihn umzusteuern. Sicher wird der Einsatz durch passende Freigabemodi, harte Deny-Regeln, eine Sandbox mit Netzwerk-Allowlist, geprüfte MCP-Server und eine Team-Richtlinie, die gefährliche Modi abschaltet.

Kurz gefasst.

Was der Agent darf

Dateien, Shell, Netzwerk.

Zum Abschnitt

Modi und Sandbox

Freigaben, Regeln, Isolation.

Zum Abschnitt

Prompt-Injection

Über Repo, Issues, Webseiten.

Zum Abschnitt

MCP und Konfiguration

Server, Plugins, Hooks im Repo.

Zum Abschnitt

Secrets und Lieferkette

.env, Tokens, Pakete.

Zum Abschnitt

Team-Checkliste

Richtlinie und Härtung.

Zum Abschnitt

Was ein Coding-Agent auf Ihrem Rechner darf

Ein Chat-Assistent schlägt Code vor, ein Coding-Agent setzt ihn um. Er liest das Repository, legt Dateien an, startet Tests, installiert Pakete und ruft Webseiten ab. Das geschieht in einem lokalen Prozess unter Ihrem Benutzerkonto. Was dieser Prozess erreichen kann, erreicht im Zweifel auch eine Anweisung, die dem Agenten untergeschoben wurde. Die Grundlagen zur Sicherheit handelnder KI-Agenten gelten hier unmittelbar, nur sitzt der Agent nicht auf einem Server, sondern auf dem Entwicklerrechner mit SSH-Schlüsseln, Cloud-Zugängen und Browser-Sitzungen.

Die Hersteller beschreiben die Standardrechte so (Stand der jeweiligen Dokumentation am 28.10.2026):

FähigkeitClaude Code (Modus Manual)Cursor
Dateien lesenOhne Rückfrage im Arbeitsverzeichnis und in freigegebenen Zusatzverzeichnissen; außerhalb fragt Claude Code nachOhne Rückfrage; laut Dokumentation standardmäßig auch außerhalb des Workspace
Dateien ändernMit RückfrageWorkspace-Dateien ohne Rückfrage, Konfigurationsdateien nur nach Freigabe
Shell-BefehleMit Rückfrage, außer einer festen Liste reiner Lesebefehle wie ls, cat, git statusÜber den gewählten Run Mode gesteuert: Allowlist, Auto-review mit Klassifikator oder alles ausführen
NetzwerkAbrufe über Werkzeuge und Befehle wie curl und wget mit RückfrageWerkzeuge nur zu GitHub, direkten Links und Websuche; im Terminal regelt die Sandbox den Zugang

Wichtig ist eine Einschränkung, die Anthropic selbst nennt: Die Grenze des Arbeitsverzeichnisses ist eine Rückfrage, keine Isolation. Ein Bash-Befehl, den Sie freigeben, kann überall schreiben, wo Ihr Benutzerkonto schreiben darf. Cursor weist zusätzlich darauf hin, dass Änderungen sofort auf der Festplatte landen und bei aktivem Auto-Reload ausgeführt werden können, bevor Sie sie gesehen haben.

Freigabemodi und Sandbox richtig wählen

Die Modi von Claude Code

Claude Code kennt laut Dokumentation zu Berechtigungen sechs Modi. Mit welchem eine Sitzung startet, hängt vom Aufruf ab: Neuere Versionen starten interaktive Sitzungen im Terminal und in VS Code im Modus auto, sofern er verfügbar ist; claude -p und das Agent SDK starten im Modus default. Prüfen Sie den tatsächlichen Modus mit /permissions, statt ihn anzunehmen.

ModusVerhaltenEinsatz
default (Manual)Fragt bei der ersten Nutzung jedes WerkzeugsFremde Repositories, sensible Projekte
planLiest und erkundet, ändert keine QuelldateienAnalyse vor einer Änderung
acceptEditsÜbernimmt Dateiänderungen und einfache Dateibefehle im Arbeitsverzeichnis ohne RückfrageEigenes Projekt, Änderungen per Git kontrolliert
autoEin separates Klassifikator-Modell prüft Aktionen statt IhnenAufgaben mit klarer Richtung; laut Anthropic keine Sicherheitsgarantie
dontAskLehnt alles ab, was sonst eine Rückfrage auslösen würdeAutomatisierte Läufe mit fester Allowlist
bypassPermissionsÜberspringt Rückfragen bis auf wenige AusnahmenNur in isolierten Containern oder VMs

Der Auto-Modus blockiert laut Dokumentation standardmäßig unter anderem das Herunterladen und Ausführen von Code wie curl | bash, das Senden sensibler Daten an externe Endpunkte, Force-Pushes und Produktions-Deployments. Anthropic schreibt aber ausdrücklich, dass der Modus Rückfragen reduziert und keine Sicherheit garantiert. Zu bypassPermissions heißt es, der Modus biete keinen Schutz vor Prompt-Injection. Beide Modi lassen sich mit permissions.disableAutoMode und permissions.disableBypassPermissionsMode abschalten, am wirksamsten in Managed Settings, die Nutzer nicht überschreiben können.

Regeln: deny vor ask vor allow

Regeln werden in fester Reihenfolge ausgewertet: zuerst deny, dann ask, dann allow. Ein Deny auf irgendeiner Ebene lässt sich von keiner anderen Ebene aufheben, auch nicht per Kommandozeile. Zwei Grenzen nennt die Dokumentation selbst:

Für Grenzen, die nicht vom Befehlstext abhängen, verweist Anthropic auf die Sandbox.

Die Sandbox von Claude Code

Die Sandbox isoliert Shell-Befehle und deren Kindprozesse auf Betriebssystemebene, unter macOS mit Seatbelt, unter Linux und WSL2 mit bubblewrap. Sie basiert auf dem quelloffenen Paket sandbox-runtime. Unter nativem Windows laufen Befehle laut Dokumentation ohne Sandbox. Sie ist standardmäßig ausgeschaltet und wird mit /sandbox oder sandbox.enabled aktiviert. Was Sie wissen sollten:

Anthropic fasst es so zusammen: Wirksame Isolation braucht Dateisystem- und Netzwerkgrenze zugleich. Ohne Netzwerkgrenze kann ein kompromittierter Agent SSH-Schlüssel abfließen lassen, ohne Dateisystemgrenze sich weitere Rechte verschaffen.

Cursor-Sicherheit: Run Modes und Sandbox

Cursor steuert die Ausführung über Run Modes: Auto-review (laut Cursor empfohlen) führt Befehle von der Allowlist direkt aus, andere wenn möglich in der Sandbox und den Rest nach Prüfung durch einen Klassifikator. Allowlist führt nur freigegebene Aktionen ohne Rückfrage aus, Run Everything alles ohne Sandbox und Klassifikator. Cursor schreibt selbst, dass Auto-review keine Sicherheitsgrenze ist und der Klassifikator sich irren kann. Die Sandbox nutzt unter macOS Seatbelt, unter Linux Landlock und seccomp. Netzwerk ist darin zunächst gesperrt und wird je nach Netzwerkmodus geöffnet; .git/config, .git/hooks, .vscode und .cursorignore sind geschützt. Teamvorgaben haben Vorrang vor Einstellungen einzelner Nutzer und Projekte.

Prompt-Injection über Repo, Issues, Webseiten und Abhängigkeiten

Die OWASP Top 10 für LLM-Anwendungen 2025 führen Prompt-Injection als LLM01 und unterscheiden direkte von indirekter Injection: Im indirekten Fall stammen die Anweisungen aus externen Inhalten wie Webseiten oder Dateien, die das Modell verarbeitet. OWASP hält fest, dass unklar ist, ob es eine lückenlose Abwehr gibt. Für einen Coding-Agenten ist fast alles externer Inhalt:

Gefährlich wird eine eingeschleuste Anweisung erst durch die Rechte, die der Agent danach nutzen kann: einen Befehl ausführen, eine Konfigurationsdatei anlegen, Daten an eine fremde Adresse senden. OWASP beschreibt das als LLM06 Excessive Agency und empfiehlt, Erweiterungen und Rechte auf das Nötige zu begrenzen und Aktionen mit großer Wirkung von einem Menschen freigeben zu lassen. Genau dafür sind Freigabemodi, Deny-Regeln und Sandbox da.

Claude Code ergänzt einige Schutzschichten: Netzwerkbefehle wie curl und wget werden nicht automatisch freigegeben, WebFetch liefert in den meisten Fällen die Antwort eines separaten Modellaufrufs statt der rohen Seite, und Befehle, die Claude Code nicht vollständig analysieren kann, lösen im Modus Manual eine Rückfrage aus. Anthropic empfiehlt zusätzlich, nicht vertrauenswürdige Inhalte nicht direkt an Claude weiterzureichen und Skripte mit externen Diensten in VMs auszuführen. Wie Injection speziell über MCP-Werkzeugbeschreibungen funktioniert, erklärt unser Artikel zu Prompt-Injection und Tool-Poisoning bei MCP.

MCP-Server, Plugins und Skills als Angriffsfläche

Jeder angebundene MCP-Server erweitert, was der Agent tun kann, und liefert Text in seinen Kontext. Anthropic empfiehlt, eigene MCP-Server zu schreiben oder Server von Anbietern zu nutzen, denen Sie vertrauen, und stellt klar, dass Anthropic MCP-Server nicht sicherheitsprüft oder betreibt. Server aus der projektweiten .mcp.json brauchen in Claude Code eine eigene Freigabe. Die Dokumentation weist aber darauf hin, dass weitere Server aus Benutzer-Einstellungen, Konnektoren und Plugins kommen können. Ein Blick in .mcp.json zeigt also nicht alles, was eine Sitzung lädt.

Cursor verlangt laut Agent-Security-Dokumentation eine Freigabe für jede MCP-Verbindung und danach für jeden Werkzeugaufruf, sofern das Werkzeug nicht auf einer Allowlist steht. Dass eine einmal erteilte Freigabe an einer Datei hängen kann, die sich später ändert, zeigt ein öffentlich dokumentierter Fall:

Plugins und Skills verdienen dieselbe Sorgfalt: In Claude Code können Plugins MCP-Server und Hooks mitbringen, Skills eigene Hooks und vorab freigegebene Werkzeuge. Behandeln Sie sie wie Software, die Sie installieren. Wie Sie einen MCP-Server selbst absichern, steht in unserem Leitfaden MCP-Server absichern, die Risikoklassen im Überblick in den OWASP MCP Top 10.

Hooks und Konfigurationsdateien im Repository

Hooks sind Shell-Befehle, die Claude Code bei bestimmten Ereignissen automatisch ausführt, mit Ihrer Umgebung und Ihren Rechten. Sie können in .claude/settings.json im Repository stehen und damit mit eingecheckt werden. Das ist für Teams nützlich und zugleich der Grund, warum ein fremdes Repository Code auf Ihrem Rechner ausführen kann, sobald Sie den Agenten darin starten.

Claude Code schützt das mit dem Workspace-Trust-Dialog: In einem nicht vertrauten Ordner fragt eine interaktive Sitzung zuerst, Allow-Regeln aus dem Projekt gelten erst nach Zustimmung. Zwei Details aus der Dokumentation sind entscheidend:

Dass diese Grenze ein lohnendes Ziel ist, zeigt CVE-2026-40068: Laut NVD und dem Advisory von Anthropic konnte ein präpariertes Repository über eine Git-Worktree-Datei den Trust-Dialog umgehen und Hooks aus .claude/settings.json sofort ausführen. Voraussetzung war, dass der Angreifer einen bereits vertrauten Pfad kannte oder erriet. Behoben in Version 2.1.84. Bei Cursor beschreibt CVE-2025-54135 (Advisory) eine Kette, in der indirekte Prompt-Injection den Agenten eine noch nicht vorhandene .cursor/mcp.json anlegen ließ, weil das Neuanlegen einer Dotfile keine Freigabe brauchte. Behoben in Version 1.3.9.

Beide Hersteller haben reagiert: Claude Code genehmigt Schreibzugriffe auf geschützte Pfade wie .git, .claude, .vscode, .mcp.json, Shell-Startdateien und .npmrc in keinem Modus automatisch; die Ausnahme ist im Kern bypassPermissions. Cursor verlangt für Konfigurationsdateien eine Freigabe. Der Workspace-Trust von Cursor ist laut Dokumentation standardmäßig ausgeschaltet und lässt sich mit "security.workspace.trust.enabled": true aktivieren; im eingeschränkten Modus funktionieren die KI-Funktionen dann nicht.

Secrets im Kontext: .env, Schlüssel und Tokens

OWASP führt die Offenlegung sensibler Informationen als LLM02. Bei Coding-Agenten liegt das Risiko in zwei Schritten: Ein Secret gelangt in den Kontext, etwa weil der Agent eine .env liest, um einen Fehler zu verstehen. Danach kann es in Logs, Commits, Testdateien oder über eine eingeschleuste Anweisung nach außen gelangen.

Wie Secrets in Git und im Frontend-Bundle landen, behandelt unsere Vibe-Coding-Checkliste.

Supply Chain: Pakete, Erweiterungen, Agent-Konfiguration

OWASP führt die Lieferkette als LLM03. Beim Coding-Agenten hat sie drei Ebenen:

Claude Code Security im Team: Richtlinie und Härtungs-Checkliste

Einzelne Entwickler können vieles selbst einstellen. Verbindlich wird es erst über zentral verteilte Einstellungen: Claude Code bietet Managed Settings, die Nutzer- und Projekteinstellungen nicht überschreiben können, Cursor Teamvorgaben, die Vorrang vor individuellen Einstellungen haben. Eine Team-Richtlinie für KI-Coding-Agenten sollte mindestens diese Punkte festlegen:

BereichMaßnahme
ModibypassPermissions und je nach Risikobereitschaft auto zentral abschalten; in Cursor Run Everything über Teamvorgaben ausschließen
SandboxAktiviert, mit failIfUnavailable und ohne unsandboxed Wiederholung; Netzwerk-Allowlist so eng wie möglich
Lesezugriff~/.ssh, Cloud-Zugangsdaten und .env-Dateien per denyRead bzw. Read-Deny sperren
Netzwerkcurl, wget per Deny-Regel stoppen, erlaubte Ziele über WebFetch-Domains und Sandbox-Allowlist
MCPNur geprüfte Server, Liste zentral gepflegt; Werkzeuge mit Schreibwirkung nicht auf die Allowlist
Fremde RepositoriesZuerst im Modus Manual oder Plan öffnen; claude -p nur mit --bare oder ohne Projekteinstellungen; in Cursor Workspace-Trust aktivieren
ReviewÄnderungen an .claude/, .cursor/, .mcp.json, Hooks und Lockfiles nur mit Freigabe durch eine zweite Person
SecretsKeine Produktionsschlüssel auf Agenten-Rechnern; kurzlebige Entwicklungszugänge
IsolationFür autonome Läufe Dev-Container oder VM ohne Zugriff auf Ihre Zugangsdaten
KontrolleRegelmäßig /permissions prüfen; Nutzung über OpenTelemetry-Metriken überwachen; Änderungen an Einstellungen per ConfigChange-Hook protokollieren

Ein Ausgangspunkt für eine projektweite .claude/settings.json, aufgebaut nach den Beispielen der Dokumentation. Passen Sie Pfade und Domains an Ihr Projekt an:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Bash(curl *)",
      "Bash(wget *)"
    ],
    "disableBypassPermissionsMode": "disable"
  },
  "sandbox": {
    "enabled": true,
    "failIfUnavailable": true,
    "allowUnsandboxedCommands": false,
    "filesystem": {
      "denyRead": ["~/.ssh", "~/.aws"]
    },
    "network": {
      "allowedDomains": ["registry.npmjs.org"]
    }
  }
}

Deny-Regeln aus dem Projekt gelten sofort, auch ohne Trust-Dialog, weil sie nur einschränken. Für eine Richtlinie, die niemand lokal aufweichen kann, gehören dieselben Werte in die Managed Settings. Wie Sie den Einsatz von KI-Werkzeugen organisatorisch regeln, beschreibt unser Artikel zur KI-Richtlinie im Unternehmen.

Was eine Konfiguration nicht zeigt

Eine saubere Einstellungsdatei sagt noch nicht, ob sie im Alltag hält: ob eine Ausnahme in excludedCommands die Sandbox aushebelt, ob ein freigegebener MCP-Server mehr darf als gedacht, ob ein Hook im Repository beim nächsten Pull etwas anderes tut oder ob eine Anweisung in einem Issue den Agenten zu einem Datenabfluss bringt. Das zeigt sich erst, wenn jemand die Umgebung gezielt mit den Mitteln eines Angreifers prüft, im vereinbarten Rahmen und auf Systemen, die dafür freigegeben sind.

Wie belastbar sind Ihre Coding-Agenten abgesichert?

Wir prüfen den Einsatz von KI-Coding-Agenten und MCP-Servern in Ihrem Team im schriftlich vereinbarten Umfang: Freigabemodi und Managed Settings, Sandbox und Netzwerkgrenzen, angebundene MCP-Server und Plugins, Hooks und Konfiguration in Ihren Repositories sowie Prompt-Injection über Issues, Dokumentation und Werkzeugausgaben. Jeder Befund kommt mit einem nachvollziehbaren Nachweis und einem konkreten Korrekturvorschlag. Mehr dazu unter KI-Pentest und MCP-Sicherheit.

KI-Sicherheitsprüfung anfragen

CyberSec42 ist eine unabhängige technische Sicherheitsprüfung, keine akkreditierte Zertifizierungsstelle und keine Rechtsberatung. CyberSec42 steht in keiner Verbindung zu Anthropic oder Cursor.

Häufige Fragen

Ist Claude Code sicher?

Claude Code bringt Rückfragen vor Aktionen, Deny-Regeln, einen Trust-Dialog für neue Ordner und eine optionale Sandbox mit. Wie sicher der Einsatz ist, hängt davon ab, wie Sie diese Mechanismen einstellen. Anthropic schreibt selbst, dass kein System gegen alle Angriffe immun ist, und empfiehlt, vorgeschlagene Befehle vor der Freigabe zu prüfen.

Kann Claude Code meine .env-Datei lesen?

Ja, wenn sie im Arbeitsverzeichnis liegt und keine Regel das verhindert. Eine Deny-Regel wie Read(./.env) sperrt die eingebauten Werkzeuge und erkannte Befehle wie cat. Gegen Skripte, die die Datei selbst öffnen, hilft erst die Sandbox mit denyRead.

Welcher Freigabemodus ist der richtige?

Für fremde oder sensible Repositories der Modus Manual oder Plan. Für eigene Projekte mit Git-Kontrolle ist acceptEdits ein guter Mittelweg. bypassPermissions nur in einem isolierten Container oder einer VM ohne Zugangsdaten.

Schützt die Sandbox vor Prompt-Injection?

Sie verhindert keine Injection, begrenzt aber deren Folgen: Shell-Befehle können nur in freigegebene Pfade schreiben und nur freigegebene Domains erreichen. Hooks, lokale MCP-Server und die eingebauten Datei- und Webwerkzeuge laufen außerhalb der Sandbox und brauchen eigene Regeln.

Sind MCP-Server in Claude Code oder Cursor geprüft?

Anthropic prüft Konnektoren vor der Aufnahme in sein Verzeichnis nach eigenen Kriterien, sicherheitsprüft oder betreibt MCP-Server aber nicht. Cursor verlangt eine Freigabe für Verbindungen und Werkzeugaufrufe. Die Verantwortung für die Auswahl liegt bei Ihnen.

Ist es gefährlich, ein fremdes Repository mit einem Coding-Agenten zu öffnen?

Es kann sein. Hooks, MCP-Konfigurationen und Einstellungen im Repository können Befehle auf Ihrem Rechner auslösen, und Texte im Repository können den Agenten umsteuern. Öffnen Sie fremde Projekte zuerst im Modus Manual oder Plan, achten Sie auf den Trust-Dialog und nutzen Sie für Automatisierung --bare oder einen Container.

Weiterlesen

Quellen