Sicherung eines Agents: Sicherheit, Berechtigungen und vertrauenswürdige Ordner
Auf dieser Seite
Lektion am 2. November 2026 überarbeitet. Die vorherige Version beschrieb das Feld
safetyals Berechtigungsstufe. Die Dokumentation von Vibe ist eindeutig: Es handelt sich um einen visuellen Indikator, der den Eingabegrenzen eine Farbe verleiht; es erzwingt nichts. Der eigentliche Schutz stammt aus Tool-Listen, pro Tool definierten Berechtigungen und vertrauenswürdigen Ordnern. Quellen: Sicherheit, Genehmigungen und Berechtigungen · Konfigurationsreferenz.
Was safety tut (und was nicht)
Das Feld safety in einer Agenten-Datei akzeptiert fünf Werte: safe, neutral (der Standardwert), destructive, smart und yolo. Es ändert die Grenzfarbgebung des Eingabebereichs, um Ihnen einen schnellen Hinweis darauf zu geben, welchen Agenten Sie gerade verwenden. Es entfernt keine Tools oder löst keine Genehmigungsabfragen aus. Ein Agent, der als safe markiert ist, kann dennoch destruktive Befehle ausführen, wenn er mit unbegrenztem bash ausgestattet ist.
Es gibt eine Ausnahme: Wenn ein Administrator die automatische Genehmigung deaktiviert (enable_auto_approve = false), verbirgt Vibe alle als yolo markierten Agents. Ansonsten ist safety ein Label, kein Schloss. Kombinieren Sie es immer mit den echten Kontrollmechanismen unten.
Erster Hebel: verfügbare Tools
enabled_tools (Zulassungsliste) und disabled_tools (Sperrliste, die nachträglich angewendet wird) entscheiden, welche Tools der Agent aufrufen kann. Sie akzeptieren exakte Namen, Glob-Muster und reguläre Ausdrücke, die mit re: vorangestellt sind.
# Nur lesender Audit-Agent
display_name = "Security Audit"
safety = "safe"
enabled_tools = ["read_file", "grep"]
Wenn ein Tool nicht auf der Liste steht, existiert es für diesen Agenten nicht. Dies ist Ihre stärkste Garantie.
Zweiter Hebel: pro Tool definierte Berechtigungen
Für verfügbare Tools legt ein [tools.<tool>]-Block die Regel fest: "always" (keine Abfrage), "ask" (Abfrage jedes Mal) oder "never" (Blockieren).
display_name = "Refactoring"
safety = "neutral"
enabled_tools = ["read_file", "grep", "edit", "write_file", "bash"]
[tools.edit]
permission = "always"
[tools.write_file]
permission = "ask"
[tools.bash]
permission = "ask"
allowlist = ["git status", "git diff", "pnpm test"]
denylist = ["rm -rf", "git push"]
Bei bash geben allowlist und denylist Befehlspräfixe an, die immer erlaubt oder immer verweigert werden. Vibe erlaubt einige standardmäßig lesende Befehle (ls, pwd, cat, git status usw.), aber jede von Ihnen geschriebene Liste ersetzt die Standardliste: Fügen Sie alle Standardbefehle hinzu, die Sie behalten möchten. Für read_file, write_file und edit akzeptieren diese Listen Muster für absolute Pfade. Eine umsichtige Regel: Ein über bash ausgeführtes Skript kann Pfade konstruieren, die Vibe nicht direkt im Befehl sieht; halten Sie bash auf "ask", wenn die Risiken dies rechtfertigen.
Dritter Hebel: Arbeitsverzeichnis-Bereich
Standardmäßig fragt Vibe vor, bevor ein Datei- oder Shell-Tool auf einen Pfad außerhalb des Arbeitsverzeichnisses zugreift, auch über einen symbolischen Link, und bevor es .env- und .envrc-Dateien liest oder ändert. Sie können dieses Verhalten härten:
outside_workdir = "deny" # verweigern statt abzufragen; der Agent erhält einen Fehler und setzt fort
Vierter Hebel: vertrauenswürdige Ordner
Ein Repository kann seine eigene Vibe-Konfiguration (Agents, Skills, MCP-Server, Berechtigungen) in einem .vibe/-Ordner oder Anweisungen in einer AGENTS.md-Datei bündeln. Da diese Konfiguration das Verhalten von Vibe ändert, lädt sie nur aus einem Ordner, den Sie explizit genehmigt haben. Beim ersten Start listet Vibe die erkannten Dateien auf und bietet Ordner vertrauen, Repository vollständig vertrauen oder Nicht vertrauen an; Ihre Entscheidungen werden in ~/.vibe/trusted_folders.toml gespeichert. Das Dialogfenster analysiert diese Dateien nicht: Prüfen Sie sie wie jeden anderen Code im Repository, insbesondere MCP-Server-Definitionen und Berechtigungen. Im programmatischen Modus fragt Vibe nie ab: vibe --trust gewährt temporäres Vertrauen für eine einzelne Ausführung.
Reaktion auf eine Genehmigungsabfrage
Wenn Vibe abfragt, sind vier Tastenreaktionen möglich: 1 oder y erlaubt einmal, 2 für den Rest der Sitzung, 3 immer, und 4, n oder Escape verweigert. Die Grenzfarbe erinnert Sie daran, welcher Agent aktiv ist.
Die richtige Balance wählen
| Bedarf | Einstellung |
|---|---|
| Analysieren ohne Änderungen | enabled_tools = ["read_file", "grep"] |
| Refactoring mit Vertrauen | edit auf "always", bash auf "ask" mit einer allowlist von Testbefehlen |
| Projekt bereinigen | bash auf "ask" und eine denylist von irreversiblen Befehlen |
| Unbeaufsichtigte Aufgabe in CI | Ephemener Container, vibe --prompt … --auto-approve, Grenzen --max-turns und --time-limit |
Die goldene Regel bleibt Prinzip der geringsten Rechte: Geben Sie jedem Agenten das Minimum an notwendigen Berechtigungen, beginnen Sie restriktiv und öffnen Sie nur dann auf, wenn es benötigt wird.
Kernaussagen
safety(safe,neutral,destructive,smart,yolo) färbt die Grenze; es erzwingt keine Berechtigungen- Echte Sperren:
enabled_tools/disabled_tools, dann[tools.<tool>](always,ask,never) - Für
bashersetzenallowlistunddenylistdie Standardlisten - Vibe fragt vor dem Verlassen des Arbeitsverzeichnisses oder beim Berühren von
.env-Dateien ab - Projekt-Konfiguration lädt nur in einem vertrauenswürdigen Ordner; prüfen Sie diese vor der Genehmigung