22 lines
484 B
Bash
Executable File
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
|