Hook-Scripts
Übersicht aller Scripts, die im Hook-System verwendet werden.
Hauptverzeichnisse
| Pfad |
Zweck |
/var/www/tools/ki-protokoll/claude-hook/ |
Protokollierung, Backup, Workflow-Guards |
/var/www/scripts/hooks/ |
Sicherheits-Blocker |
/var/www/scripts/ |
Utility-Scripts |
Script-Übersicht
log_to_db.py
| Pfad | /var/www/tools/ki-protokoll/claude-hook/log_to_db.py |
| Events | UserPromptSubmit, PreToolUse, PostToolUse, Stop, SessionStart, SessionEnd |
| Datenbank | ki_dev.protokoll |
| Funktion |
- Protokolliert alle Claude Code Events
- Request/Response-Pairing mit Duration
- Token-Schätzung (4 Zeichen = 1 Token)
- Sensitive Daten werden redacted
|
file_backup_hook.py
| Pfad | /var/www/tools/ki-protokoll/claude-hook/file_backup_hook.py |
| Events | PreToolUse (Edit, Write) |
| Datenbank | ki_dev.file_backup_history |
| Funktion |
- Sichert Datei-Inhalt vor Änderung
- Versionierung pro Datei
- Hash-basierte Duplikat-Erkennung
- Max. 10 MB pro Datei
|
task_completion_guard.py
| Pfad | /var/www/tools/ki-protokoll/claude-hook/task_completion_guard.py |
| Events | PreToolUse (mcp__mcp-tasks__tasks_status) |
| Datenbank | ki_dev.task_results |
| Funktion |
- Blockiert tasks_status(completed) ohne Result
- Prüft: SELECT COUNT(*) FROM task_results WHERE task_id = ?
- Exit 2 = Block, Exit 0 = Allow
- Fail-open bei DB-Fehlern
|
| Dokumentation | Task-Completion Guard Hook |
block_direct_db.py
| Pfad | /var/www/scripts/hooks/block_direct_db.py |
| Events | PreToolUse (Bash) |
| Funktion |
- Blockiert direkte MySQL/MariaDB-Zugriffe
- Patterns:
mysql -p, --password=
- Empfiehlt: MCP-DB Tools
|
block_direct_task_db.py
| Pfad | /var/www/scripts/hooks/block_direct_task_db.py |
| Events | PreToolUse (Bash) |
| Funktion |
- Blockiert SQL auf Task-Tabellen
- Patterns: INSERT/UPDATE/DELETE auf tasks, task_*
- Empfiehlt: MCP-Tasks Tools
|
fix-permissions.sh
| Pfad | /var/www/scripts/fix-permissions.sh |
| Events | PostToolUse (Edit, Write) |
| Funktion |
- Setzt Owner auf www-data:www-data
- Setzt Permissions auf 755
- Für dev und prod Verzeichnisse
|
Hook-Konfiguration
Die Hooks werden in /root/.claude/settings.json definiert:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{"type": "command", "command": "/var/www/scripts/hooks/block_direct_db.py"},
{"type": "command", "command": "/var/www/scripts/hooks/block_direct_task_db.py"}
]
},
{
"matcher": "mcp__mcp-tasks__tasks_status",
"hooks": [
{"type": "command", "command": ".../task_completion_guard.py", "timeout": 5}
]
},
{
"matcher": "Edit|Write",
"hooks": [
{"type": "command", "command": ".../file_backup_hook.py", "timeout": 10}
]
},
{
"matcher": "",
"hooks": [
{"type": "command", "command": ".../log_to_db.py", "timeout": 5}
]
}
],
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{"type": "command", "command": "/var/www/scripts/fix-permissions.sh"}
]
},
{
"matcher": "",
"hooks": [
{"type": "command", "command": ".../log_to_db.py", "timeout": 10}
]
}
]
}
}