Auto-Genehmigung

Auto-Genehmigungsaktionen in Bob Shell eliminieren wiederholte Genehmigungsaufforderungen, erhöhen aber die Sicherheitsrisiken. Lerne sichere Konfigurationspraktiken für Lese-, Schreib- und Ausführungsberechtigungen.

Warnung:

Auto-Genehmigungseinstellungen umgehen Bestätigungsaufforderungen und geben Bob direkten Zugriff auf dein System. Dies kann zu Datenverlust, Dateibeschädigung oder Schlimmerem führen. Die Befehlsausführung ist besonders gefährlich, da sie potenziell schädliche Operationen ausführen kann, die dein System beschädigen oder die Sicherheit gefährden können. Aktiviere die automatische Genehmigung nur für Aktionen, denen du vollständig vertraust.

Wie Genehmigungen funktionieren

Bevor Bob ein Tool ausführt, erscheint eine Genehmigungsaufforderung im Terminal. Aufforderungen erscheinen einzeln nacheinander, damit du jede Aktion klar und bewusst prüfen kannst, bevor sie ausgeführt wird.

Bearbeitbare Befehle: Wenn Bob einen Terminal-Befehl vorschlägt, kannst du den Befehl direkt in der Genehmigungsaufforderung bearbeiten, bevor du ihn genehmigst. So kannst du präzise Anpassungen vornehmen, ohne die Aufgabe abbrechen und neu formulieren zu müssen.

Aufgabenebenen-Genehmigungen: Zusätzlich zu globalen Auto-Genehmigungseinstellungen kannst du Tool-Gruppen-Genehmigungen pro Aufgabe konfigurieren. Aufgabenebenen-Überschreibungen gelten nur für die aktuelle Aufgabe.

Auto-Genehmigung konfigurieren

Auto-Genehmigung wird durch den approval-Schlüssel in ~/.bob/settings/settings.json gesteuert. Füge die Berechtigungsgruppen-IDs, die du automatisch genehmigen möchtest, dem Array allowed_permissions hinzu:

"approval": {
  "allowed_permissions": ["read", "todo", "subtask"]
}

Du kannst die Auto-Genehmigung auch interaktiv während einer Shell-Sitzung mit dem Slash-Befehl /permissions umschalten.

Das vollständige JSON-Schema – einschließlich Zulassungs- und Sperrlisten pro Befehl sowie Optionen pro Gruppe – findest du unter Genehmigungseinstellungen.

Verfügbare Aktionen

Wenn du eine Aktion automatisch genehmigst, führt Bob die entsprechende Aktion ohne Genehmigungsabfrage durch.

AktionBeschreibungRisikoniveau
LesenDeine Dateien und Verzeichnisinhalte anzeigenMittel
BearbeitenDateien in deinem Verzeichnis erstellen, bearbeiten und speichernHoch
AusführenBefehle in deinem Terminal ausführenHoch
MCPVon dir konfigurierte MCP-Server verwendenMittel-Hoch
SkillVon dir definierte Skills aktivierenMittel
TodoDie Todo-Liste aktualisierenNiedrig
SubtaskSubtasks erstellen und abschließenNiedrig
SubagentSubagenten für fokussierte Aufgaben startenNiedrig
ModusModi wechseln, um eine Aufgabe abzuschließenNiedrig

Wann Auto-Genehmigung verwenden

Auto-Genehmigung ist in diesen Szenarien am nützlichsten:

  • Wiederkehrende Entwicklungsaufgaben: Wenn du Bobs Aktionen vertraust, z. B. beim Generieren von Basis-Code.
  • Batch-Operationen: Wenn du mehrere Dateien ohne Unterbrechung verarbeiten musst.
  • Exploratives Coding: Wenn du den Fluss ohne ständige Aufforderungen aufrechterhalten möchtest.
  • Lokale Entwicklungsumgebungen: Wo Sicherheitsrisiken begrenzt sind.

Aktionen verstehen

Jede Aktion steuert einen bestimmten Workflow, den Bob abschließen kann.

Lesen

Bob greift auf Dateien in deinem Projekt zu und liest sie, ohne nach Erlaubnis zu fragen.

Dies umfasst das Anzeigen von Dateiinhalten, das Auflisten von Verzeichnisstrukturen und das Durchsuchen deiner Codebasis. Diese Berechtigung beinhaltet das Sammeln von Informationen, anstatt Änderungen an deinem System vorzunehmen.

Bearbeiten

Bob erstellt, ändert und löscht Dateien, ohne nach Erlaubnis zu fragen.

Bob kann Code-Änderungen anwenden, vorhandenen Code refaktorieren und die Dateistruktur automatisch verwalten. Dies ändert deine Codebasis direkt und beinhaltet ein hohes Risiko.

Ausführen

Bob kann Terminal-Befehle automatisch ohne Erlaubnisabfrage ausführen. Dies umfasst das Ausführen von Build-Skripten, Paketmanagern und anderen Befehlszeilentools.

Befehle können Operationen auf Systemebene ausführen und möglicherweise schädliche Prozesse starten. Diese Aktion beinhaltet ein hohes Risiko.

MCP

Bob kann konfigurierte Model Context Protocol (MCP)-Server ohne Erlaubnisabfrage verwenden.

MCP-Server bieten zusätzliche Tools und Ressourcen, die Bobs Fähigkeiten erweitern. Das Risikoniveau hängt davon ab, auf was die spezifischen MCP-Server zugreifen und was sie ändern können.

Skill

Bob kann von dir definierte Skills automatisch aktivieren, ohne nach Erlaubnis zu fragen.

Skills sind wiederverwendbare Anweisungssätze, die Bob spezialisierte Workflows und Aufgaben beibringen. Wenn aktiviert, lädt Bob Skill-Anweisungen und folgt ihnen basierend auf deiner Anfrage und der Beschreibung des Skills. Das Risikoniveau hängt davon ab, welche Aktionen die Skill-Anweisungen Bob ausführen lassen, aber Skills operieren innerhalb der bestehenden Tool-Einschränkungen von Bob.

Weitere Informationen findest du unter Skills.

Todo

Bob kann die Todo-Liste automatisch aktualisieren, ohne nach Erlaubnis zu fragen.

Dies ermöglicht Bob, den Fortschritt zu verfolgen und die Aufgabenvervollständigung zu verwalten, während die Arbeit voranschreitet. Diese Berechtigung bezieht sich auf das Aufgabenmanagement und nicht auf den Systemzugriff.

Subtask

Subtasks sind separate Aufgabeninstanzen, die Bob erstellt, um komplexe Arbeit in handhabbare Stücke aufzuteilen. Bob kann diese Subtasks automatisch ohne Bestätigungsabfrage erstellen und abschließen.

Diese Berechtigung bezieht sich auf die Workflow-Organisation und nicht auf den Systemzugriff.

Subagent

Bob kann automatisch Subagenten starten, um fokussierte, in sich geschlossene Aufgaben zu erledigen, ohne nach Erlaubnis zu fragen.

Subagenten laufen in ihrem eigenen isolierten Kontext und geben eine Zusammenfassung zurück, wenn sie fertig sind. Diese Berechtigung bezieht sich auf die Workflow-Delegation und nicht auf den direkten Systemzugriff.

Weitere Informationen findest du unter Subagenten.

Modus

Bob kann automatisch zwischen verschiedenen Modi wechseln, basierend auf den Aufgabenanforderungen.

Diese Aktion beinhaltet die Workflow-Organisation und beeinflusst nicht den Systemzugriff.

Best Practices für Sicherheit

Befolge diese Richtlinien, um Auto-Genehmigungsaktionen sicher zu verwenden:

  • Restriktiv beginnen: Beginne mit minimalen Berechtigungen und füge bei Bedarf weitere hinzu.
  • Projektspezifische Einstellungen verwenden: Passe Auto-Genehmigungseinstellungen für jedes Projekt basierend auf der Risikobereitschaft an.
  • Deaktivieren, wenn nicht benötigt: Schalte die Auto-Genehmigung aus, wenn du mit sensiblem Code oder Produktionssystemen arbeitest.
  • Änderungen regelmäßig überprüfen: Prüfe regelmäßig, welche Aktionen Bob durchgeführt hat, insbesondere Dateiänderungen.
  • Niemals Auto-Genehmigung in der Produktion: Beschränke Auto-Genehmigungseinstellungen ausschließlich auf Entwicklungsumgebungen.
Wie ist dieses Thema?