26 lines
507 B
Bash
Executable File
26 lines
507 B
Bash
Executable File
#!/bin/bash
|
|
|
|
INPUT=$(cat)
|
|
COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command')
|
|
|
|
DANGEROUS_PATTERNS=(
|
|
"git push"
|
|
"git reset --hard"
|
|
"git clean -fd"
|
|
"git clean -f"
|
|
"git branch -D"
|
|
"git checkout \."
|
|
"git restore \."
|
|
"push --force"
|
|
"reset --hard"
|
|
)
|
|
|
|
for pattern in "${DANGEROUS_PATTERNS[@]}"; do
|
|
if echo "$COMMAND" | grep -qE "$pattern"; then
|
|
echo "BLOCKED: '$COMMAND' matches dangerous pattern '$pattern'. The user has prevented you from doing this." >&2
|
|
exit 2
|
|
fi
|
|
done
|
|
|
|
exit 0
|