Files
AI_template/.claude/hooks/audit-log.sh

22 lines
484 B
Bash
Executable File

#!/bin/bash
# Log all Bash commands with timestamp for audit trail
# Event: PostToolUse | Matcher: Bash
# Logs to .claude/hooks/audit.log
INPUT=$(cat)
COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command // empty')
TOOL_NAME=$(echo "$INPUT" | jq -r '.tool_name // "unknown"')
if [ -z "$COMMAND" ]; then
exit 0
fi
LOG_DIR="$(dirname "$0")"
LOG_FILE="$LOG_DIR/audit.log"
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
echo "[$TIMESTAMP] [$TOOL_NAME] $COMMAND" >> "$LOG_FILE"
exit 0