Jeder Befehl, den CliAI zurückgibt, trägt eines von drei Badges, bevor er deine Shell erreicht. Die Badges zu verstehen ist der Unterschied zwischen vorsichtigem und selbstsicherem Einsatz. Dieser Beitrag handelt vom System: was es fängt und — ehrlich — was nicht.
Drei Stufen
SAFE. Nur lesend oder nahezu. ls, pwd, cat, grep, find -printf. Enter, keine Reibung.
CAUTION. Verändert Zustand begrenzt. rm spezifischer Dateien, mv, chmod einer einzelnen Datei, kill -9 einer bekannten PID, git reset --hard auf einer nicht-geteilten Branch. Gelbes Badge, Pause für Bestätigung.
DANGER. Verändert breit oder irreversibel: rm -rf, das bekannte Wurzeln überschreitet, dd auf ein Blockgerät, chmod -R von /, git push --force auf main, alles, was * auf Wurzelebene berührt. Rotes Badge, du musst wörtlich yes tippen — Enter ist deaktiviert.
┌─ Task ───────────────────────────────────────────────┐│ lösche mein gesamtes Home-Verzeichnis │├─ Command ────────────────────────────────────────────┤│ rm -rf -- ~/ │├─ Safety: DANGER ─────────────────────────────────────┤│ Rekursive Löschung überschreitet $HOME-Wurzel. ││ Tippe "yes" zur Bestätigung. │└──────────────────────────────────────────────────────┘
Wie die Klassifikation passiert
Per Regex, serverseitig, nachdem das LLM den Kandidaten produziert hat. Die Patterns sind kein Geheimnis — sie sind eine kuratierte Liste von Strukturen, die historisch Schaden angerichtet haben:
- rekursive Löschung über bekannte Wurzeln (
/,$HOME,/etc,/var,/usr); - rohe Schreibvorgänge auf Blockgeräte (
dd of=/dev/sd*); - forcierte zerstörerische git-Operationen auf geschützten Branches;
- Pipe-Ketten, deren Schwanz zerstörerisch ist (
tar | … && rm -rf …).
Trifft auf DANGER zu — DANGER. Verändert Zustand ohne die Schwelle zu überschreiten — CAUTION. Sonst SAFE.
Was überrascht, dass es gefangen wird
Ein Befehl, der auf den ersten Blick okay wirkt, kann DANGER sein, wenn man die Pipeline ganz liest. Der Klassifikator liest die ganze Zeile, nicht nur den ersten Abschnitt:
┌─ Task ───────────────────────────────────────────────┐│ archivieren, hochladen, danach aufräumen │├─ Command ────────────────────────────────────────────┤│ tar -czf - . | aws s3 cp - s3://b/k && rm -rf -- . │├─ Safety: DANGER ─────────────────────────────────────┤│ Abschließende rekursive Löschung von $PWD. │└──────────────────────────────────────────────────────┘
Was es übersieht — ehrlich
- Exotische Glob-Expansionen, die zur Laufzeit auf gefährliche Ziele auflösen (
rm -rf $UNSET_VAR/*) — der statische Text zeigt den Schaden nicht. - Eigene Scripts. Wenn der Befehl
./deploy.shlautet, sieht der Klassifikator nicht, was darin passiert. - Indirekte Zerstörung —
dd if=/dev/zero of=/path/to/important/filewird selten erkannt, weil es statistisch kein „Danger-Pattern" ist.
Das Badge ist ein Hinweis, keine Garantie. Inspect-then-run bleibt der eigentliche Sicherheitsmechanismus. Du liest den Befehl, du drückst Enter.
Siehe auch
- Alte Logs und Backups aufräumen — wo die Badges am häufigsten auftauchen.
- Befehle verfeinern — wenn CAUTION übertrieben wirkt, ist es nicht richtig, drumherum zu gehen, sondern den Prompt zu schärfen.