Übersicht
Richtlinien sind in Kategorien gruppiert:| Kategorie | Richtlinien | Hook-Typ |
|---|---|---|
| Gefährliche Befehle | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
| Secrets (Sanitizer) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
| Umgebung | block-env-files, protect-env-vars | PreToolUse |
| Dateizugriff | block-read-outside-cwd, block-secrets-write | PreToolUse |
| Git | block-push-master, block-work-on-main, block-force-push, warn-git-amend, warn-git-stash-drop, warn-all-files-staged | PreToolUse |
| Datenbank | warn-destructive-sql, warn-schema-alteration | PreToolUse |
| Warnungen | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
| Workflow | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
block-— verhindert, dass der Agent fortfährt.warn-— gibt dem Agenten zusätzlichen Kontext, damit er sich selbst korrigieren kann.sanitize-— bereinigt sensible Daten aus der Tool-Ausgabe, bevor der Agent sie sieht.require-— blockiert das Stop-Ereignis, bis Bedingungen erfüllt sind.
Gefährliche Befehle
Verhindert, dass Agenten Operationen ausführen, die schwer rückgängig zu machen sind oder das Hostsystem beschädigen könnten.block-sudo
Ereignis: PreToolUse (Bash)Standard: Verweigert jeden
sudo-Befehl.
Blockiert Aufrufe, die das Schlüsselwort sudo enthalten. Der Musterabgleich erfolgt auf geparsten Befehlstokens, nicht auf dem rohen String, um Umgehungen durch Shell-Operator-Injektion zu verhindern.
Parameter:
| Param | Typ | Standard | Beschreibung |
|---|---|---|---|
allowPatterns | string[] | [] | Exakte Befehlspräfixe, die erlaubt sind. Jeder Eintrag wird gegen die geparsten argv-Tokens abgeglichen. |
sudo systemctl status nginx erlaubt, aber sudo rm /etc/hosts wird verweigert.
Muster werden gegen geparste Tokens abgeglichen, nicht gegen den rohen Befehlsstring. Dies verhindert Umgehungen über angehängte Shell-Operatoren (z. B.
sudo systemctl status x; rm -rf / stimmt nicht mit sudo systemctl status * überein).block-rm-rf
Ereignis: PreToolUse (Bash)Standard: Verweigert
rm -rf, rm -fr und ähnliche rekursive Löschformen.
Parameter:
| Param | Typ | Standard | Beschreibung |
|---|---|---|---|
allowPaths | string[] | [] | Pfade, die sicher rekursiv gelöscht werden dürfen (z. B. /tmp). |
block-curl-pipe-sh
Ereignis: PreToolUse (Bash)Standard: Verweigert
curl <url> | bash, curl <url> | sh, wget <url> | bash und ähnliche Muster.
Keine Parameter.
block-failproofai-commands
Ereignis: PreToolUse (Bash)Standard: Verweigert Befehle, die failproofai selbst deinstallieren oder deaktivieren würden (z. B.
npm uninstall failproofai, failproofai policies --uninstall).
Keine Parameter.
Secrets (Sanitizer)
Verhindert, dass Agenten Anmeldeinformationen in ihren Kontext oder ihre Ausgabe leaken. Sanitizer-Richtlinien werden bei PostToolUse-Ereignissen ausgelöst. Wenn Claude einen Bash-Befehl ausführt, eine Datei liest oder ein beliebiges Tool aufruft, prüfen diese Richtlinien die Ausgabe, bevor sie an Claude zurückgegeben wird. Wird ein Secret-Muster erkannt, gibt die Richtlinie eine deny-Entscheidung zurück, die verhindert, dass die Ausgabe zurückgeleitet wird.sanitize-jwt
Ereignis: PostToolUse (alle Tools)Standard: Schwärzt JWT-Tokens (drei base64url-Segmente, getrennt durch
.).
Keine Parameter.
sanitize-api-keys
Ereignis: PostToolUse (alle Tools)Standard: Schwärzt gängige API-Key-Formate: Anthropic (
sk-ant-), OpenAI (sk-), GitHub PATs (ghp_), AWS-Zugriffsschlüssel (AKIA), Stripe-Schlüssel (sk_live_, sk_test_) und Google API-Schlüssel (AIza).
Parameter:
| Param | Typ | Standard | Beschreibung |
|---|---|---|---|
additionalPatterns | { regex: string; label: string }[] | [] | Zusätzliche Regex-Muster, die als Secrets behandelt werden sollen. |
sanitize-connection-strings
Ereignis: PostToolUse (alle Tools)Standard: Schwärzt Datenbankverbindungsstrings, die eingebettete Anmeldeinformationen enthalten (z. B.
postgresql://user:password@host/db).
Keine Parameter.
sanitize-private-key-content
Ereignis: PostToolUse (alle Tools)Standard: Schwärzt PEM-Blöcke (
-----BEGIN PRIVATE KEY-----, -----BEGIN RSA PRIVATE KEY----- usw.).
Keine Parameter.
sanitize-bearer-tokens
Ereignis: PostToolUse (alle Tools)Standard: Schwärzt
Authorization: Bearer <token>-Header, bei denen das Token 20 oder mehr Zeichen lang ist.
Keine Parameter.
Umgebung
Schützt sensible Umgebungskonfigurationen davor, von Agenten gelesen oder offengelegt zu werden.block-env-files
Ereignis: PreToolUse (Bash, Read)Standard: Verweigert das Lesen von
.env-Dateien über cat .env, Read-Tool-Aufrufe mit .env als Dateipfad usw.
Blockiert nicht .envrc oder andere umgebungsbezogene Dateien – nur Dateien, die exakt .env heißen.
Keine Parameter.
protect-env-vars
Ereignis: PreToolUse (Bash)Standard: Verweigert Befehle, die Umgebungsvariablen ausgeben:
printenv, env, echo $VAR.
Keine Parameter.
Dateizugriff
Hält Agenten innerhalb der Projektgrenzen und fern von sensiblen Dateien.block-read-outside-cwd
Ereignis: PreToolUse (Read, Bash)Standard: Verweigert das Lesen von Dateien außerhalb des aktuellen Arbeitsverzeichnisses (dem Projektstamm). Parameter:
| Param | Typ | Standard | Beschreibung |
|---|---|---|---|
allowPaths | string[] | [] | Absolute Pfadpräfixe, die erlaubt sind, auch wenn sie außerhalb des cwd liegen. |
block-secrets-write
Ereignis: PreToolUse (Write, Edit)Standard: Verweigert Schreibvorgänge in Dateien, die üblicherweise für private Schlüssel und Zertifikate verwendet werden:
id_rsa, id_ed25519, *.key, *.pem, *.p12, *.pfx.
Parameter:
| Param | Typ | Standard | Beschreibung |
|---|---|---|---|
additionalPatterns | string[] | [] | Zusätzliche Dateinamen-Muster (Glob-Stil) zum Blockieren. |
Git
Verhindert versehentliche Pushes, Force-Pushes und Branch-Fehler, die schwer rückgängig zu machen sind.block-push-master
Ereignis: PreToolUse (Bash)Standard: Verweigert
git push origin main und git push origin master.
Parameter:
| Param | Typ | Standard | Beschreibung |
|---|---|---|---|
protectedBranches | string[] | ["main", "master"] | Branch-Namen, in die nicht direkt gepusht werden darf. |
block-work-on-main
Ereignis: PreToolUse (Bash)Standard: Verweigert das direkte Auschecken der Branches
main oder master.
Parameter:
| Param | Typ | Standard | Beschreibung |
|---|---|---|---|
protectedBranches | string[] | ["main", "master"] | Branch-Namen, die nicht direkt ausgecheckt werden dürfen. |
block-force-push
Ereignis: PreToolUse (Bash)Standard: Verweigert
git push --force und git push -f.
Keine richtlinienspezifischen Parameter. Verwenden Sie das übergreifende hint, um Alternativen vorzuschlagen:
warn-git-amend
Ereignis: PreToolUse (Bash)Standard: Weist Claude an, beim Ausführen von
git commit --amend vorsichtig vorzugehen. Blockiert den Befehl nicht.
Keine Parameter.
warn-git-stash-drop
Ereignis: PreToolUse (Bash)Standard: Weist Claude an, vor dem Ausführen von
git stash drop zu bestätigen. Blockiert den Befehl nicht.
Keine Parameter.
warn-all-files-staged
Ereignis: PreToolUse (Bash)Standard: Weist Claude an, zu überprüfen, was es staged, wenn es
git add -A oder git add . ausführt. Blockiert den Befehl nicht.
Keine Parameter.
Datenbank
Fängt destruktive SQL-Operationen ab, bevor sie gegen Ihre Datenbank ausgeführt werden.warn-destructive-sql
Ereignis: PreToolUse (Bash)Standard: Weist Claude an, zu bestätigen, bevor SQL ausgeführt wird, das
DROP TABLE, DROP DATABASE oder DELETE ohne eine WHERE-Klausel enthält.
Keine Parameter.
warn-schema-alteration
Ereignis: PreToolUse (Bash)Standard: Weist Claude an, zu bestätigen, bevor
ALTER TABLE-Anweisungen ausgeführt werden.
Keine Parameter.
Warnungen
Gibt Agenten zusätzlichen Kontext vor potenziell riskanten, aber nicht destruktiven Operationen.warn-large-file-write
Ereignis: PreToolUse (Write)Standard: Weist Claude an, zu bestätigen, bevor Dateien größer als 1024 KB geschrieben werden. Parameter:
| Param | Typ | Standard | Beschreibung |
|---|---|---|---|
thresholdKb | number | 1024 | Dateigrößenschwellenwert in Kilobyte, ab dem eine Warnung ausgegeben wird. |
Der Hook-Handler erzwingt ein stdin-Limit von 1 MB für Payloads. Um diese Richtlinie mit kleinen Inhalten zu testen, setzen Sie
thresholdKb auf einen Wert deutlich unter 1024.warn-package-publish
Ereignis: PreToolUse (Bash)Standard: Weist Claude an, zu bestätigen, bevor
npm publish ausgeführt wird.
Keine Parameter.
warn-background-process
Ereignis: PreToolUse (Bash)Standard: Weist Claude an, vorsichtig zu sein, wenn Hintergrundprozesse über
nohup, &, disown oder screen gestartet werden.
Keine Parameter.
warn-global-package-install
Ereignis: PreToolUse (Bash)Standard: Weist Claude an, zu bestätigen, bevor
npm install -g, yarn global add oder pip install ohne virtuelle Umgebung ausgeführt wird.
Keine Parameter.
KI-Verhalten
Erkennt, wenn Agenten feststecken oder sich unerwartet verhalten.warn-repeated-tool-calls
Ereignis: PreToolUse (alle Tools)Standard: Weist Claude an, zu überdenken, wenn dasselbe Tool 3+ mal mit identischen Parametern aufgerufen wird – ein häufiges Zeichen dafür, dass der Agent in einer Schleife feststeckt. Keine Parameter.
Workflow
Erzwingt einen disziplinierten Workflow am Sitzungsende. Diese Richtlinien werden beim Stop-Ereignis ausgelöst und verweigern Claude das Stoppen, bis jede Bedingung erfüllt ist. Sie folgen einer natürlichen Abhängigkeitskette: Commit → Push → PR → CI. Wenn eine Richtlinie verweigert, werden spätere Richtlinien in der Kette übersprungen (deny schließt kurz). Alle Workflow-Richtlinien sind fail-open: Wenn das erforderliche Tool nicht verfügbar ist (z. B.gh nicht installiert, kein Git-Remote), erlaubt die Richtlinie den Vorgang mit einer informativen Meldung, die erklärt, warum die Prüfung übersprungen wurde.
require-commit-before-stop
Ereignis: StopStandard: Verweigert das Stoppen, wenn es nicht committete Änderungen gibt (geänderte, gestagete oder nicht verfolgte Dateien). Gibt eine informative Meldung zurück, wenn das Arbeitsverzeichnis sauber ist. Keine Parameter.
require-push-before-stop
Ereignis: StopStandard: Verweigert das Stoppen, wenn es nicht gepushte Commits gibt oder der aktuelle Branch keinen Remote-Tracking-Branch hat. Schlägt
git push -u vor, um bei Bedarf einen Tracking-Branch zu erstellen. Fail-open, wenn kein Remote konfiguriert ist.
Parameter:
| Param | Typ | Standard | Beschreibung |
|---|---|---|---|
remote | string | "origin" | Remote-Name, an den gepusht werden soll. |
require-pr-before-stop
Ereignis: StopStandard: Verweigert das Stoppen, wenn für den aktuellen Branch kein Pull Request existiert oder der vorhandene PR geschlossen/gemergt ist. Weist Claude an, einen PR mit
gh pr create zu erstellen.
Keine Parameter.
Diese Richtlinie erfordert, dass die GitHub CLI (
gh) installiert und authentifiziert ist.
Führen Sie gh auth login mit einem Personal Access Token aus, das den repo-Scope für Lesezugriff auf
Pull Requests hat. Wenn gh nicht installiert oder nicht authentifiziert ist, schlägt die Richtlinie offen fehl und meldet den Grund an Claude.require-ci-green-before-stop
Ereignis: StopStandard: Verweigert das Stoppen, wenn CI-Prüfungen fehlschlagen oder auf dem aktuellen Branch noch laufen. Prüft sowohl GitHub Actions Workflow-Läufe als auch Drittanbieter-Bot-Prüfungen (z. B. CodeRabbit, SonarCloud, Codecov). Behandelt
skipped-Ergebnisse als Erfolg. Gibt eine informative Meldung zurück, wenn alle Prüfungen bestanden sind.
Keine Parameter.
Diese Richtlinie erfordert, dass die GitHub CLI (
gh) installiert und authentifiziert ist.
Führen Sie gh auth login mit einem Personal Access Token aus, das den repo-Scope für Lesezugriff auf
Actions Workflow-Läufe und die Checks API hat. Wenn gh nicht installiert oder nicht authentifiziert ist, schlägt die Richtlinie offen fehl und meldet den Grund an Claude.Einzelne Richtlinien deaktivieren
Entfernen Sie eine bestimmte Richtlinie ausenabledPolicies in Ihrer Konfiguration, oder deaktivieren Sie sie im Dashboard-Tab „Policies”.
enabledPolicies aufgeführt sind, werden nicht ausgeführt, auch wenn policyParams-Einträge für sie vorhanden sind.
