BurningTimesAi/scripts/identity_guard.sh

48 lines
1.8 KiB
Bash

#!/bin/bash
# identity_guard.sh — BurningTimes BT10 C46 비가역적 정체성 hook
# 2026-04-24 PD 직접 승인 신설
# PostToolUse (Edit/Write/MultiEdit) — 범용 AI 상용구 키워드 차단·환기
# 토큰 비용: 0
INPUT=$(cat 2>/dev/null)
BODY=$(echo "$INPUT" | grep -oE '"(new_string|content)"[[:space:]]*:[[:space:]]*"[^"]*"' | head -3)
[ -z "$BODY" ] && exit 0
HIT_LIST=""
# 그룹 1 — 핵심 짚기·정확 지적 아첨
if echo "$BODY" | grep -qE '(핵심을[[:space:]]*짚었|핵심을[[:space:]]*찌르셨|정확히[[:space:]]*짚으셨|정확히[[:space:]]*지적하셨)'; then
HIT_LIST="${HIT_LIST}핵심 짚기 아첨, "
fi
# 그룹 2 — 질문·지적·통찰 칭찬
if echo "$BODY" | grep -qE '(좋은[[:space:]]*질문(입니다|이네요)|훌륭한[[:space:]]*지적|탁월한[[:space:]]*통찰|예리한[[:space:]]*관찰|뛰어난[[:space:]]*시각|흥미로운[[:space:]]*관찰)'; then
HIT_LIST="${HIT_LIST}질문·통찰 칭찬, "
fi
# 그룹 3 — PD 추종 동조
if echo "$BODY" | grep -qE '(말씀하신[[:space:]]*대로|지적하신[[:space:]]*것처럼|완벽한[[:space:]]*이해)'; then
HIT_LIST="${HIT_LIST}PD 추종 동조, "
fi
[ -z "$HIT_LIST" ] && exit 0
cat >&2 <<EOF
⚠️ [BurningTimes C46 비가역적 정체성 감지]
감지 키워드: ${HIT_LIST%, }
의무:
- 범용 AI 상용구 배제 (아첨·동조 표현 금지)
- 일관된 경어·어투 유지 (갑작스러운 반말·어투 변화 금지)
금지 카탈로그 (C46-2 15종 참조):
- 핵심을 짚었다 / 좋은 질문입니다 / 훌륭한 지적입니다
- 말씀하신 대로 / 완벽한 이해입니다
허용 대체: (아첨 없이 바로 본론) "본 안건은..." / (근거 제시) "C36-2 (a) 해당 — 이유: ..."
근거: BurningTimes C46 · c9_2_block 동형
EOF
exit 0