Berechtigungen und Freigaben
Für jeden Toolaufruf gelten mehrere unabhängige Grenzen, und die strengste setzt sich durch. Keine davon hängt davon ab, dass sich die KI gut verhält.
Die Ebenen
- Ihre Rolle im Konto. Inhaber und Admins verwalten alles. Mitglieder können Maschinen sehen und KI-Clients verbinden. Eigene Rollen vergeben einzelne Berechtigungen, etwa Anfragen freizugeben oder das Aktivitätsprotokoll zu lesen. Eine Gruppe kann Maschinen für sich beanspruchen, sodass nur ihre Mitglieder sie erreichen.
- Die Verbindung. Wenn Sie einen Client bestätigen, wählen Sie seine Scopes, die Maschinen, die er erreicht, und seine Richtlinie.
- Befehlsregeln und Freigaben der Richtlinie. Sie entscheiden, welche Befehle laufen, welche abgelehnt werden und welche auf einen Menschen warten.
- Die eigene Obergrenze der Maschine. Die
ceiling.tomlauf der Maschine begrenzt, was eine Richtlinie dort erlauben kann. Der Agent wendet sie lokal an, sodass nicht einmal das Gateway darüber hinausgehen kann. - Das Benutzerkonto im Betriebssystem. Befehle laufen unter dem Konto, das der Agent oder die SSH-Verbindung verwendet, mit den Rechten dieses Kontos.
Richtlinien
Eine Richtlinie gehört zum Konto und wird für jede Verbindung gewählt. Sie legt fest:
| Schlüssel | Was er steuert |
|---|---|
shell | off, sandboxed (Landlock unter Linux, Seatbelt unter macOS) oder full. Windows kennt off und full. |
files | Pfade, die die Datei-Tools verwenden dürfen, jeweils nur lesend oder lesend und schreibend; * für alle. |
deny | Pfade, die so erscheinen, als gäbe es sie nicht, zum Beispiel Schlüsseldateien. |
gui | Bildschirm-Tools: off, observe oder act, wahlweise nur für aufgeführte Apps. |
tunnel_targets | Adressen, die Portweiterleitung und geteilte Webdienste erreichen dürfen. |
commands | Befehlsregeln. |
approval | Freigaben: welche Tools immer eine brauchen, wer freigibt und wie lange eine Anfrage wartet. |
Zwei Richtlinien sind in jedem Konto enthalten: full (Shell und Dateien uneingeschränkt, Bildschirm aus) und read-only (keine Shell, Dateien nur lesend, übliche Dateien mit Geheimnissen ausgeblendet, Bildschirm aus). Die Bildschirm-Tools sind aus, solange keine Richtlinie sie einschaltet; bis dahin werden sie der KI nicht einmal aufgelistet.
Befehlsregeln
- Shell-Modus (Standard): Regeln erkennen Befehle anhand von Mustern, die erste Übereinstimmung gilt, und jede Regel lautet
allow,deny,approveoderconfirm. In anderen verschachtelte Befehle ($(…),sudo,bash -c, PowerShell-EncodedCommand) werden ebenfalls geprüft, und das strengste Ergebnis gilt. Eine Shell ist so flexibel, dass Regeln im Shell-Modus eine Leitplanke sind, keine Sicherheitsgrenze. - Allowlist-Modus: Nur aufgeführte Programme laufen, direkt ohne Shell gestartet, daher ist die Liste eine feste Grenze. Shell-Sitzungen und Terminals sind in diesem Modus nicht verfügbar.
- Fertige Regelsätze:
linux-readonly,windows-readonly,no-destructive,deploy. - Die Regeln prüft das Gateway und noch einmal der Agent auf der Maschine.
Unabhängig von jeder Richtlinie lehnt LetKite Befehle ab, die ein System auslöschen (zum Beispiel rm -rf /, mkfs oder das Schreiben direkt auf einen Datenträger), und verlangt confirm=true für risikoreiche Befehle wie einen Neustart, das Stoppen eines Dienstes, das Entfernen von Paketen oder rekursives Löschen. Die KI wird angewiesen, Ihnen den genauen Befehl zu zeigen, bevor sie bestätigt.
Freigaben
Ein Aufruf braucht die Freigabe eines Menschen, wenn eine Befehlsregel approve lautet oder wenn die Richtlinie das Tool unter approval.tools aufführt. Tools, die eine Freigabe verlangen können: exec, exec_many, shell_run, job_start, write_file, delete_path, copy_between_hosts, transfer_start, gui_act, tunnel_open, terminal_open, wake_node, wake_device.
- Wer freigibt: die Person, die die KI verbunden hat (Inhaber und Admins ebenfalls), ein beliebiger Admin oder eine andere Person als die anfragende (Vier-Augen-Prinzip).
- Wie: Die freigebende Person erhält einen Link per E-Mail und, falls sie die LetKite-Web-App installiert hat, als Push-Benachrichtigung auf ihrem Smartphone. Zum Freigeben braucht sie einen Passkey oder einen Code aus der Authenticator-App, zum Ablehnen nicht.
- Genau das Angefragte: Eine Freigabe gilt für eine Anfrage, mit demselben Tool, derselben Maschine und denselben Argumenten, und kann einmal verwendet werden.
- Ablauf: standardmäßig nach 10 Minuten (1 Minute bis 24 Stunden, in der Richtlinie festgelegt). Pro Verbindung warten höchstens 20 Anfragen gleichzeitig.
Während ein Aufruf wartet, erhält der KI-Client eine Nachricht, wer gefragt wurde und bis wann, mit der Anweisung, Ihnen das mitzuteilen. Er kann mit dem Tool approval_wait warten und den Aufruf dann mit genau denselben Argumenten wiederholen. Eine abgelehnte Anfrage darf nicht wiederholt werden.
Die Obergrenze der Maschine
Jede Maschine hat eine lokale Datei, die nur ihr Administrator bearbeiten kann: /etc/letkite/ceiling.toml unter Linux und macOS, %ProgramData%\letkite\ceiling.toml unter Windows. Sie begrenzt Shell, Dateien, verborgene Pfade, Bildschirmzugriff, Portweiterleitung und mehr auf dieser Maschine. Der Agent prüft jede Anfrage dagegen, sodass der Besitzer der Maschine das letzte Wort behält, selbst wenn das Gateway kompromittiert wäre.