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
EventsUserPromptSubmit, PreToolUse, PostToolUse, Stop, SessionStart, SessionEnd
Datenbankki_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
EventsPreToolUse (Edit, Write)
Datenbankki_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
EventsPreToolUse (mcp__mcp-tasks__tasks_status)
Datenbankki_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
DokumentationTask-Completion Guard Hook

block_direct_db.py

Pfad/var/www/scripts/hooks/block_direct_db.py
EventsPreToolUse (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
EventsPreToolUse (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
EventsPostToolUse (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}
        ]
      }
    ]
  }
}