Tutorial 9: Sicherheitseinstellungen
Tutorial 9: Security Settings — easy-to-understand guide based on official docs
Tutorial 9: Sicherheitseinstellungen
Willkommen zurück! In diesem Tutorial tauchen wir in eines der wichtigsten Themen von Hermes Agent ein: Sicherheit. Wenn du bisher mitgelesen hast, weißt du, dass Hermes mächtig ist. Aber mit großer Macht kommt große Verantwortung – und Hermes hat dich mit einem mehrschichtigen Sicherheitsmodell (Defense-in-Depth) abgesichert.
Stell es dir wie eine Burg mit mehreren Mauern vor. Selbst wenn eine Schicht versagt, schützen dich die anderen. Lass uns die acht Schichten durchgehen und uns dann auf die praktischste konzentrieren: Genehmigung gefährlicher Befehle.
Die acht Sicherheitsebenen
Hermes schützt dich an acht Fronten:
- Benutzerautorisierung – kontrolliert, wer mit dem Agenten sprechen darf
- Genehmigung gefährlicher Befehle – Human-in-the-Loop für destruktive Operationen
- Dateischreibsicherheit – Denylist und optionale Sandbox für Dateischreibvorgänge
- Container-Isolation – Docker/Singularity/Modal-Sandboxing
- MCP-Credential-Filterung – isoliert Umgebungsvariablen für MCP-Subprozesse
- Kontextdatei-Scanning – erkennt Prompt-Injection in Projektdateien
- Sitzungsübergreifende Isolation – Sitzungen können nicht auf die Daten anderer zugreifen
- Eingabebereinigung – validiert Arbeitsverzeichnis-Parameter, um Shell-Injection zu verhindern
Das ist eine Menge Schutz! Aber die Funktion, mit der du am häufigsten interagierst, ist die Befehlsgenehmigung.
Wie die Genehmigung gefährlicher Befehle funktioniert
Bevor Hermes einen Befehl ausführt, prüft es ihn gegen eine Liste gefährlicher Muster. Bei einer Übereinstimmung musst du ihn genehmigen. Einfach, oder?
Du konfigurierst das in ~/.hermes/config.yaml:
approvals:
mode: smart # smart | manual | off
timeout: 300 # Sekunden, die auf Genehmigung gewartet wird
cron_mode: deny # deny | approve
single_query_mode: deny # deny | approve
mcp_reload_confirm: true # Bestätigung vor dem Neuladen von MCP-Tools
destructive_slash_confirm: true # Bestätigung vor /clear, /new, etc.
Die drei Genehmigungsmodi
Smart-Modus (Standard) ist der Sweet Spot. Er verwendet ein Hilfs-LLM zur Risikobewertung:
- Befehle mit geringem Risiko (wie
python -c "print('hello')") werden automatisch genehmigt - Wirklich gefährliche Befehle werden automatisch abgelehnt
- Unsichere Fälle werden an eine manuelle Abfrage eskaliert
Manueller Modus fragt immer nach. Keine automatischen Genehmigungen, keine Ausnahmen.
Off-Modus deaktiviert alle Prüfungen – gleichbedeutend mit der Ausführung mit --yolo. Verwende dies nur in vertrauenswürdigen Umgebungen wie CI/CD-Containern.
⚠️ Warnung: Das Setzen von
approvals.mode: offdeaktiviert alle Sicherheitsabfragen. Nur in vertrauenswürdigen Umgebungen verwenden!
YOLO-Modus: Die Überholspur (mit Vorsicht verwenden)
Der YOLO-Modus umgeht alle Genehmigungsabfragen für die aktuelle Sitzung. Du kannst ihn auf drei Arten aktivieren:
- CLI-Flag:
hermes --yolooderhermes chat --yolo - Slash-Befehl: Gib
/yolowährend einer Sitzung ein - Umgebungsvariable: Setze
HERMES_YOLO_MODE=1
Der /yolo-Befehl ist ein Umschalter:
> /yolo
⚡ YOLO-Modus AN – alle Befehle werden automatisch genehmigt. Mit Vorsicht verwenden.
> /yolo
⚠ YOLO-Modus AUS – gefährliche Befehle erfordern wieder eine Genehmigung.
Wenn YOLO aktiv ist, zeigt Hermes zwei visuelle Erinnerungen:
- Ein rotes Banner beim Sitzungsstart:
⚠ YOLO-Modus – alle Genehmigungsabfragen umgangen - Ein
⚠ YOLO-Fragment in der Statusleiste, live aktualisiert
⚠️ Gefahr: Der YOLO-Modus deaktiviert alle Prüfungen gefährlicher Befehle – außer der strikten Blocklist. Verwende ihn nur, wenn du den generierten Befehlen vollständig vertraust.
Neu in dieser Version
Zwei neue Einstellungen verdienen besondere Aufmerksamkeit:
mcp_reload_confirm (Standard true): Wenn du /reload-mcp ausführst, fragt Hermes jetzt nach, bevor das MCP-Toolset neu aufgebaut wird. Warum? Weil der Neuaufbau den Provider-Prompt-Cache ungültig macht, was bedeutet, dass die nächste Nachricht die vollständigen Eingabe-Tokens erneut sendet. Wenn du auf Immer genehmigen klickst, wird dies auf false gesetzt.
destructive_slash_confirm (Standard true): Destruktive Befehle wie /clear, /new, /reset und /undo fragen jetzt nach, bevor der Gesprächsstatus verworfen wird. Du siehst einen Dialog mit drei Optionen: Einmal genehmigen / Immer genehmigen / Abbrechen. Auf Telegram, Discord und Slack erscheinen diese als native Ja/Nein-Schaltflächen.
Die wichtigsten Erkenntnisse
- Smart-Modus ist dein Freund – er balanciert Sicherheit und Geschwindigkeit aus
- YOLO-Modus ist ein Umschalter, keine Einbahnstraße
- Cron- und Einzelabfrage-Sitzungen lehnen gefährliche Befehle standardmäßig ab – der Agent muss einen anderen Weg finden
- Überprüfe immer die visuellen Indikatoren, um zu wissen, ob YOLO aktiv ist
Sicherheit bedeutet nicht, paranoid zu sein – es bedeutet, vorbereitet zu sein. Mit dem mehrschichtigen Ansatz von Hermes kannst du mit Zuversicht automatisieren. Bleib sicher da draußen und viel Spaß beim Automatisieren!
📖 Offizielle Dokumentation
この記事は Hermes Agent のOffizielle Dokumentationに基づいています:Offizielle Dokumentation › user-guide/security