Befehlsgenehmigungsablauf
Interaktive Inline-Tastatur-Genehmigung für eingeschränkte Terminal-Befehle.
So funktioniert es
- Der Agent fordert einen Terminal-Befehl an, der nicht in der Liste der erlaubten Präfixe steht (oder Shell-Operatoren enthält)
- Eine Genehmigungsanfrage wird an den ersten Benutzer in
allowed_user_idsgesendet - Der Benutzer sieht eine Inline-Tastatur mit drei Schaltflächen:
Befehl erfordert Genehmigung:
rm -rf /tmp/old-cache
Einmal erlauben
Immer erlauben
Ablehnen
Genehmigungsoptionen
| Option | Verhalten |
|---|---|
| Einmal erlauben | Den Befehl nur dieses Mal ausführen |
| Immer erlauben | Ausführen und das Befehlspräfix zu terminal.allowed_prefixes in config.toml hinzufügen |
| Ablehnen | Den Befehl ablehnen — Agent erhält Ablehnungsnachricht |
Shell-Operatoren
Befehle, die
; | && || $() oder Backticks enthalten, erfordern immer eine Genehmigung, auch wenn das Präfix auf der Whitelist steht. Dies verhindert Injection-Angriffe.Nicht vertrauenswürdige Quellen
Sitzungen, die von Triggern (wie E-Mail) stammen, werden als nicht vertrauenswürdig markiert. Alle Terminal-Befehle in nicht vertrauenswürdigen Sitzungen erfordern immer eine Genehmigung, unabhängig von erlaubten Präfixen.