52,8 % der Hermes-Nutzer haben YOLO aktiviert: Kennst du diese 7 gängigen Modi noch nicht?

In der Hermes-Community geht ein Spruch um: Mehr als die Hälfte aller Nutzer hat YOLO schon einmal aktiviert. Aber YOLO ist nicht das ganze Bild — es ist nur ein extremer Punkt auf Hermes’ Sicherheitsspektrum. Wer Hermes wirklich effektiv nutzt, wechselt zwischen sieben gängigen Modi, statt bei jeder Verzögerung einfach
/yolozu verwenden.
Hermes Agent basiert auf einer klaren Standardannahme: Wenn du einen Befehl ausführen lässt, sollte der Agent dafür verantwortlich sein. Deshalb hält Hermes vor potenziell schädlichen Befehlen an und fragt nach. Das nennt sich Dangerous Command Approval, und YOLO ist nur eine Möglichkeit, es zu umgehen.
Dieser Artikel behandelt die sieben Sicherheits- und Autonomiemodi in Hermes. Danach weißt du genau, wann du deinem Agenten sagen kannst:
- „Für normale Entwicklung reicht der smart-Modus.“
- „Ich führe das Script oft aus, genehmige es für die Sitzung.“
- „Ich mache ein großes Refactoring, schalte YOLO an, aber erlaube niemals
git push --force.“ - „Lass das in Docker laufen, dann brauchen wir keine Genehmigungen und der Host bleibt sicher.“
1. Smart-Modus: Die KI bewertet das Risiko (empfohlener Standard)
approvals:
mode: smart
smart ist der Standardmodus von Hermes. Wenn ein Befehl ein gefährliches Muster erkennt, lässt Hermes ein Hilfsmodell das tatsächliche Risiko einschätzen.
- Offensichtlich sichere Befehle (z. B.
python -c "print('hello')") werden automatisch genehmigt. - Offensichtlich gefährliche Befehle (z. B.
rm -rf /) werden automatisch abgelehnt. - Unsichere Fälle werden an dich weitergeleitet.
Das reduziert die „Genehmigungsmüdigkeit“ erheblich. Du musst nicht jeden bash -c bestätigen, während wirklich destruktive Aktionen weiterhin erkannt werden.
Ideal für: tägliche Entwicklung, explorative Aufgaben und Umgebungen, in denen du dem Agenten bereits vertraust.
2. Manual-Modus: Jeder gefährliche Befehl läuft über dich
approvals:
mode: manual
Wenn du die Risikobewertung nicht einem Hilfsmodell überlassen möchtest, nutzt du den manual-Modus. Jeder Befehl, der ein gefährliches Muster erkennt, wird pausiert und wartet auf deine Genehmigung.
In der CLI sieht die Eingabeaufforderung so aus:
⚠️ DANGEROUS COMMAND: recursive delete
rm -rf /tmp/old-project
[o]nce | [s]ession | [a]lways | [d]eny
Choice [o/s/a/D]:
Vier Optionen:
- once: erlaubt nur diese einzelne Ausführung.
- session: erlaubt dieses Muster für den Rest der Sitzung.
- always: fügt das Muster deiner permanenten Allowlist in
~/.hermes/config.yamlhinzu. - deny (Standard): blockiert den Befehl.
Ideal für: besonders sicherheitsrelevante Arbeiten, Einsteiger oder unbekannte Befehle.
3. YOLO-Modus: Alle Genehmigungen überspringen
Der YOLO-Modus umgeht alle Genehmigungen für gefährliche Befehle. Du kannst ihn auf drei Arten aktivieren:
# Beim Start
hermes --yolo
hermes chat --yolo
# Während einer Sitzung
/yolo
# Umgebungsvariable
HERMES_YOLO_MODE=1
Sobald YOLO aktiv ist, zeigt Hermes einen roten Banner und einen Statusindikator, damit du nicht vergisst, dass das Sicherheitsnetz weg ist.
> /yolo
⚡ YOLO mode ON — all commands auto-approved. Use with caution.
YOLO passt zu Szenarien, in denen du dir sicher bist, dass die Befehle harmlos sind, zum Beispiel:
- Wiederkehrende Automatisierungsscripts;
- Arbeit in Containern oder Wegwerfumgebungen;
- Aufgaben, bei denen du dich konzentriert beobachtest und jederzeit
Ctrl+Cdrücken kannst.
Aber denk daran: YOLO ist nicht 100 % uneingeschränkt — die Hardline-Blocklist, die wir gleich besprechen, gilt weiterhin.
4. Hardline-Blocklist: Die Grenze, die selbst YOLO nicht überschreitet
Selbst bei approvals.mode: off oder aktiviertem /yolo lehnt Hermes bestimmte irreversible, katastrophale Befehle ab. Das ist die Hardline-Blocklist.
Beispiele:
| Befehl | Warum blockiert |
|---|---|
rm -rf / |
Löscht das Wurzeldateisystem |
:(){ :|:& };: |
Bash-Fork-Bombe |
mkfs.* gegen ein gemountetes Root-Gerät |
Formatiert das laufende System |
dd if=/dev/zero of=/dev/sd* |
Überschreibt eine physische Festplatte mit Nullen |
URLs aus unsicheren Quellen in sh pipen |
Zu große Angriffsfläche für Remote Code Execution |
Diese Muster werden in tools/approval.py::UNRECOVERABLE_BLOCKLIST gepflegt und können durch kein Flag überschrieben werden.
Designphilosophie: YOLO bedeutet „Ich vertraue darauf, dass die KI keinen Fehler macht“, während die Hardline-Liste bedeutet „Selbst wenn die KI oder der Nutzer versagt, darf die Maschine nicht zerstört werden“.
5. Benutzerdefinierte Deny-Regeln: YOLO mit Ausnahmen
Wenn YOLO zu weitgehend und manual zu lästig ist, nutze approvals.deny, um eigene rote Linien zu ziehen:
approvals:
mode: off # effektiv YOLO
deny:
- "git push --force*"
- "*curl*|*sh*"
- "dd if=* of=/dev/*"
Regeln sind case-insensitive fnmatch-Glob-Muster, die mit dem vollständigen normalisierten Befehlstext verglichen werden. Selbst unter YOLO wird ein passender Befehl hart blockiert.
Perfekt für Szenarien wie „Ich vertraue den meisten Operationen, aber einige Aktionen sind niemals erlaubt“:
- Der Agent darf Code bearbeiten und Tests ausführen, aber
git push --forceist verboten; - Er darf Abhängigkeiten herunterladen, aber
curl ... | shwird blockiert; - Er darf Docker bedienen, aber niemals direkt auf Block Devices schreiben.
6. Write-Approval-Modus: Schreibzugriffe auf Memory und Skills kontrollieren
Neben Terminalbefehlen schreibt Hermes auch selbstständig: Es speichert wichtige Fakten in Memory und gelernte Workflows als Skills. Wenn du befürchtest, dass es „falsche Dinge lernt“, aktiviere Write Approval.
memory:
write_approval: true
skills:
write_approval: true
Ist diese Funktion aktiv, landet jeder Memory- oder Skill-Schreibzugriff zunächst in ~/.hermes/pending/ und wartet auf deine Überprüfung:
# Ausstehende Skill-Schreibzugriffe prüfen
/skills pending
/skills diff <id>
/skills approve <id>
/skills reject <id>
# Gleiches für Memory
/memory pending
/memory approve <id>
/memory reject <id>
Ideal für:
- Verhindern, dass der Agent sensible oder falsche Fakten automatisch speichert;
- Geteilte Hermes-Instanzen, bei denen gelernte Skills menschlich geprüft werden müssen;
- Debugging der Lernschleife, bevor etwas dauerhaft persistiert wird.
7. Container-Isolation: Genehmigungen durch Grenzen ersetzen
Der letzte Modus dreht sich nicht darum, wie man genehmigt, sondern darum, Genehmigungen überflüssig zu machen. Hermes unterstützt mehrere Terminal-Backends:
| Backend | Isolation | Gefährliche Befehle geprüft |
|---|---|---|
| local | Keine, läuft auf dem Host | ✅ Ja |
| ssh | Entfernte Maschine | ✅ Ja |
| docker | Container | ❌ Übersprungen (Container ist die Grenze) |
| singularity | Container | ❌ Übersprungen |
| modal | Cloud-Sandbox | ❌ Übersprungen |
| daytona | Cloud-Sandbox | ❌ Übersprungen |
Bei Docker, Modal oder Daytona werden gefährliche Befehle nicht geprüft, denn selbst wenn der Container zerstört wird, bleibt der Host unberührt. Produktive Hermes-Gateways werden meist so betrieben.
Docker-Container laufen außerdem standardmäßig mit gehärteten Sicherheitsparametern:
_BASE_SECURITY_ARGS = [
"--cap-drop", "ALL",
"--security-opt", "no-new-privileges",
"--pids-limit", "256",
"--tmpfs", "/tmp:rw,nosuid,size=512m",
]
Ideal für: Produktionsumgebungen, CI/CD, Multi-Tenant-Szenarien und jede Sandbox, in der Zerstörung akzeptabel ist.
Kurzübersicht: Den richtigen Modus wählen
| Modus | Befehlsgenehmigung | Schreibgenehmigung | Wann nutzen |
|---|---|---|---|
| smart | KI-Vorprüfung + menschliche Prüfung bei Grenzfällen | Optional | Standard für tägliche Entwicklung |
| manual | Alle gefährlichen Befehle erfordern menschliche Freigabe | Optional | Hohe Sicherheit oder Einsteiger |
| YOLO | Alle gefährlichen Befehle werden übersprungen | Optional | Temporäre Automatisierung, vertrauenswürdige Scripts |
| hardline | Katastrophale Befehle dauerhaft blockiert | Nicht zutreffend | Immer aktive Sicherheitsuntergrenze |
| deny rules | Benutzerdefinierte Blockmuster | Nicht zutreffend | YOLO mit Ausnahmen |
| write approval | Optional | Erforderlich für Memory/Skill-Schreibzugriffe | Verhindern, dass der Agent falsche Dinge lernt |
| container isolation | Keine Prüfung | Begrenzt durch Container | Produktion oder Sandbox |
Praktische Empfehlungen
- Bleib beim Standard: Der
smart-Modus meistert den Großteil der täglichen Arbeit ohne ständige Unterbrechungen. - Sitzungsgenehmigung für Stapelverarbeitung: Sicherer als YOLO, aber ohne ständige Einzelbestätigungen.
- YOLO mit Deny-Regeln kombinieren: Wenn du YOLO nutzt, behalte wenigstens einige rote Linien bei.
- Produktion in Docker laufen lassen: Isolation ist zuverlässiger als Genehmigungen und beseitigt Genehmigungsmüdigkeit vollständig.
- Allowlist regelmäßig prüfen:
command_allowlistwächst mit der Zeit. Bereinige sie regelmäßig mithermes config edit. - Write Approval bei geteilten Hermes-Instanzen aktivieren: Besonders wichtig bei langlaufenden Gateways in Teams.
Fazit
Hermes’ Genehmigungssystem soll dich nicht ausbremsen. Es soll dir helfen, vertrauensvolle Delegation und rechtzeitiges Bremsen in Einklang zu bringen. YOLO macht Spaß, ist aber nur einer von sieben Modi. Erfahrene Nutzer wissen, wann sie in smart bleiben, wann sie auf manual wechseln, wann sie YOLO wieder ausschalten und wann Docker die Sicherheitsarbeit für sie übernimmt.
Wenn du das nächste Mal zu /yolo greifst, frag dich: Brauche ich wirklich jede Genehmigung überspringen, oder reicht eine Sitzungsgenehmigung plus eine einzige Deny-Regel?