Dokumentation / Sicherheit

Sandbox und Berechtigungen

Wo der Agent arbeiten darf, was er ohne Nachfrage tut und was immer auf deine Freigabe wartet.

Der Agent arbeitet innerhalb eines Perimeters, den die Yuli-Engine bei jeder Operation durchsetzt. Du entscheidest, wie weit dieser Perimeter reicht und wie viel der Agent ohne Nachfrage tun darf.

Innerhalb und außerhalb des Projekts

Aus Sicherheitsgründen können der Agent und das Projekt-Panel Dateien nur innerhalb des geöffneten Projekts erstellen, verschieben, kopieren oder löschen.

Wo Was passiert
Innerhalb des Projekts Der Agent arbeitet gemäß der eingestellten Autonomie. Jede Änderung durchläuft das Änderungsfenster.
Freigegebener Ordner außerhalb des Projekts Er darf lesen oder lesen und schreiben, je nachdem, was du gewählt hast.
Jeder andere Pfad oder eine Änderung am System Fragt immer nach deiner Bestätigung.

Zugriff auf einen weiteren Ordner gewähren

  1. Öffne Projekt → Ordnerzugriff….
  2. Klicke auf Ordner hinzufügen… und wähle ihn im Systemdialog aus.
  3. Wähle für diesen Ordner Lesen und Schreiben oder Nur lesen.
  4. Zum Widerrufen klickst du auf Zugriff entfernen.

Die Berechtigungen gelten pro Projekt. Ein neuer Ordner wird mit Lesen und Schreiben hinzugefügt; stell ihn auf Nur lesen um, wenn der Agent nur nachschlagen soll.

Projektvertrauen

Wenn du ein Projekt zum ersten Mal öffnest, fragt Yuli „Vertrauen Sie diesem Projekt?“. Vertrauen erlaubt es, Annotation-Prozessoren (Lombok) und Build-Tasks (Maven/Gradle) des Projekts für eine vollständige Analyse auszuführen.

Option Was sie bewirkt
Vertrauen Führt Lombok und Maven/Gradle aus, um Abhängigkeiten aufzulösen. Vollständige Analyse.
Eingeschränkter Modus Führt keinen Code aus dem Repository aus: javac analysiert mit -proc:none, Lombok wird intern modelliert und nur der bereits gespeicherte Classpath verwendet.

Ändere die Entscheidung unter Projekt → Globale Optionen… → Sicherheit → Vertrauenswürdige Projekte: Vertrauen, Einschränken, Vergessen oder Beim Öffnen erneut fragen.

Das Vertrauen betrifft nur die Code-Intelligenz und den Build. Es ändert nichts an den Berechtigungen des Agenten.

Wie viel der Agent ohne Nachfrage tut

Die Engine bewertet jede Aktion und ordnet ihr eine Risikostufe zu (niedrig, mittel, hoch oder kritisch), mit einer Erklärung und dem Weg, sie rückgängig zu machen. Je nach Freigabe-Voreinstellung genehmigt sie nur das Sichere automatisch oder fragt dich.

Voreinstellung Datei ändern Datei erstellen Befehl ausführen Löschen
Vorsichtig Fragt Fragt Fragt Fragt
Ausgewogen (Standard) Automatisch Fragt Fragt Fragt
Autonom Automatisch Automatisch Automatisch Fragt

Solange der Agent dich bei jedem Schritt fragt, erscheint über dem Chatfeld „Alles genehmigen?“. Alles genehmigen wechselt zu Autonom: Der Agent bearbeitet, ersetzt und startet, ohne bei jedem Schritt deine Freigabe einzuholen, und das Änderungsfenster sowie das Rollback machen es rückgängig. Weiter fragen verwirft den Vorschlag.

Was das Risiko erhöht

  • Dateien löschen oder Pfade außerhalb des Projekts berühren.
  • Migrationen und .sql-Dateien.
  • Produktionskonfiguration (application-prod, Terraform, Kubernetes, Helm).
  • Abhängigkeitsmanifeste.
  • Änderungen an vielen Dateien gleichzeitig.
  • git push, merge oder das Umschreiben der Historie.
  • Geheimnisse im Inhalt.
  • Netzwerkzugriff (curl, scp, ssh, docker push, npm publish, mvn deploy).
  • DROP, TRUNCATE oder DELETE FROM.

Erweiterte Autonomie

Agent → Autonomie… öffnet die Regeln, mit denen Vorschläge automatisch angewendet werden. Sie ist standardmäßig ausgeschaltet: Du prüfst jeden Vorschlag, bevor er auf der Festplatte landet.

Einstellung Was sie bewirkt
Maximale Dateianzahl pro Durchlauf Oberhalb dieser Zahl wird eine Freigabe angefordert.
Erlaubte Pfade (pathsAllow) Globs, in denen automatisch angewendet werden darf, zum Beispiel src/**. Leer erlaubt jeden nicht verweigerten Pfad.
Verweigerte Pfade (pathsDeny) Globs, die immer eine menschliche Freigabe erfordern, zum Beispiel **/.env.
Bestandene Verifizierung voraussetzen Wendet nur automatisch an, wenn die Verifizierung des Projekts grün ist.

Standardmäßig verweigerte Pfade sind **/.env, **/.env.*, **/credentials*, **/*.pem, **/*id_rsa*, **/.ssh/** und **/migrations/**.

Pfade, die immer eine Bestätigung verlangen

Keine Voreinstellung kann diese Fälle umgehen. Schreibzugriffe auf einen Pfad, der .env, credentials, secret, id_rsa, .pem, .git/ oder .ssh/ enthält, verlangen immer deine Bestätigung.

Zusätzlich schützt der Qualitätsvertrag den Vertrag selbst, die Git-Hooks und die CI-Dateien: Ein Agent kann sie nicht bearbeiten.

Git, CI und DevOps: nur auf deine Anfrage

Der Agent führt Commit, Push, Merge, Rebase, Tags oder CI-Operationen nicht aus eigener Initiative aus. Gesperrt sind Befehle wie git commit, git push, gh, glab, az pipelines, az repos sowie die Werkzeuge der MCP-Server von GitHub, GitLab, Jenkins oder CloudBees.

  1. Yuli erkennt in deiner Nachricht eine ausdrückliche Anfrage, auf Spanisch oder Englisch: „haz commit“, „súbelo“, „push“, „create a PR“, „deploy“ …
  2. Mit der Anfrage wird Git für diese Sitzung freigeschaltet.
  3. Trotzdem verlangt jede Aktion deine Freigabe.

Einen Branch oder Worktree anzulegen erfordert eine eigene ausdrückliche Anfrage. Selbst wenn du „commit und push“ verlangst, arbeitet der Agent im aktuellen Branch.

Gesperrte Datenbank-Clients

Der Agent kann keine Kommandozeilen-Clients für Datenbanken verwenden: sqlplus, sqlcl, sqlcmd, bcp, sqlite3, psql, mysql, mariadb, mongo, mongosh, isql, db2, impdp, expdp, rman und Ähnliche. Jede Abfrage läuft über die Werkzeuge von Yuli und deren Richtlinie. Siehe Sichere Datenbank.

Im Abo-Modus

Mit Claude Code, Kiro, Codex oder Antigravity gelten dieselben Regeln. Yuli setzt sie über Hooks und als ACP-Client durch:

  • Innerhalb des Projekts arbeitet der Agent ohne Unterbrechungen; außerhalb fragt er dich.
  • Git, CI und Branches nur, wenn du sie verlangst.
  • Geheimnisse werden nie gelesen.

Unter Globale Optionen → KI und Modelle → KI-Modus kannst du Regeln durchsetzen deaktivieren und zu „Nur warnen“ wechseln: Yuli meldet, was fehlt, blockiert aber nicht. Git und Geheimnisse sind immer geschützt.