사례 1주차 2026-07-26 · B2B 잠재고객 발굴 에이전트 연재

Day 4 — 실명 유출을 막는 문지기를 직접 만들었다

스터디원과 공유되는 사이트라 실명이 새면 안 되는데, 사람이 매번 확인하지 않아도 되게 Git으로 자동 검사를 만든 이야기.

누구에게 도움: 스터디·회사 등 남과 공유되는 문서에 민감한 이름을 마스킹 처리해야 하는 사람.

Before

로드맵에 실제 회사·제품명이 들어가 있어서, 문서엔 “○○회사”로 마스킹 처리해뒀다. 그런데 매번 커밋하기 전에 “혹시 실명이 어딘가 남아있진 않을까” 하고 손으로 grep을 돌려 확인해야 했다. 사람이 깜빡하면 그대로 새어나갈 수 있는 구조였다.

어떻게 했나

콩콩한테 반복 작업 자동화를 추천받고, 그중 “실명 유출 자동 검사”를 골랐다.

“1. 민감정보(마스킹) 유출 자동 검사를 미리 해 보자.”

콩콩이 만든 건 .git/hooks/pre-commit이라는 파일이었다. 커밋하기 직전에 자동으로 실행돼서, 실명이 껴 있으면 커밋 자체를 막아버리는 스크립트였다.

if git diff --cached | grep -qiE "(마스킹 대상 실명)"; then
  echo "🚫 커밋 중단: 실명이 포함되어 있어요!"
  exit 1
fi

(실제로는 진짜 회사·제품명이 들어갔지만, 이 글에서는 가려서 옮겼다.)

막힘 → 해결(아하 포인트)

“이 파일에 실명을 적어도 되나?” 싶었는데, .git/hooks/ 폴더는 GitHub에 절대 올라가지 않는 로컬 전용 폴더라는 걸 알게 됐다. 그래서 이 안에는 실명을 그대로 적어놔도 안전했다 — 오히려 이 파일이 실명을 지키는 “금고” 역할을 하는 셈이었다.

테스트로 확인

  1. 일부러 실명이 든 가짜 파일을 만들어 커밋 시도 → 🚫 차단됨
  2. 정상적인(마스킹된) 파일을 커밋 → ✅ 통과되고 GitHub까지 반영됨

두 가지 경우를 다 눈으로 확인하고 나서야 안심이 됐다.

After

이제는 커밋할 때마다 손으로 확인 안 해도 된다. 콩콩이 실수해도, 심지어 터미널에서 내가 직접 커밋해도 무조건 걸러진다. “사람이 기억해서 지키는 규칙”보다 “도구가 기계적으로 막는 장치”가 훨씬 안전하다는 걸 몸으로 느꼈다.

배운 것 / 재사용 자산

  • 민감정보처럼 절대 어기면 안 되는 것은 AI 규칙보다 Git hook 같은 기계적 장치로 만드는 게 안전하다.
  • .git/hooks/ 폴더는 로컬 전용이라 GitHub에 안 올라간다 — 여기엔 민감한 값을 적어도 괜찮다.
  • 자동화 만들고 나면, “막히는 경우”와 “통과하는 경우” 둘 다 테스트해봐야 진짜 확인이 된다.