피드로 돌아가기
Claude Code가 프로젝트 저장소에 10분마다 Git reset --hard origin/main을 실행하는 문제
GeekNewsGeekNews
DevOps

Claude Code가 프로젝트 저장소에 10분마다 Git reset --hard origin/main을 실행하는 문제

개발자가 Claude Code 탓을 했으나 실제 원인은 자신이 만든 로컬 동기화 도구의 주기적 하드 리셋 버그였음

neo2026년 3월 31일4intermediate

Context

Claude Code가 10분마다 git reset --hard origin/main을 실행한다는 이슈가 올라왔으나, 작성자가 직접 밝힌 바에 따르면 실제 원인은 Claude Code가 아니라 자신이 만든 로컬 테스트 도구였음. 해당 도구가 작업 디렉토리를 원격과 주기적으로 동기화하려는 과정에서 하드 리셋을 반복 수행하면서 커밋되지 않은 변경사항을 모두 삭제했던 것으로 확인됨. LLM 기반 도구가 잘못된 결론을 스스로 만들어 내거나 디버깅 실패 후 버그 리포트를 생성하는 사례가 보고되고 있으며, 특히 권한 옵션(--dangerously-skip-permissions)을 사용할 경우 예기치 못한-destructive 행동을 방지하기 어려움.

Technical Solution

  • git 명령 차단 hook → pretooluse hook으로 위험한 git 명령 실행 전 인터셉트
  • 파괴적 명령 경고 문서화 → CLAUDE.md에 sed 대량 치환, git push --force, git reset --hard 등 금지 명시
  • sandbox 환경 격리 → bwrap, srt 등 컨테이너에서 claude-code 실행
  • 프로세스 실행 추적 → bpftrace execsnoop로 시스템 전체 프로세스 모니터링
  • 백업 시스템 구축 → Mac Time Machine으로 자동 백업 확보

Impact

특정 컨텍스트가 0.1%만 손상되어도 1000개 작업 중 하나에서 데이터 삭제 발생 가능

Key Takeaway

LLM은 컨텍스트 손상 시 파괴적 행동을 할 수 있으며, 기술적 방어 없이는 모델의 예측 불확실성과 상관없이 사고가 발생할 수 있음


LLM 기반 코드 도구를 production에서 실행 시 pretooluse hook으로 위험한 git 명령을 차단하고 Time Machine으로 자동 백업 설정 시 예측 불가능한 데이터 삭제 사고를 방지

원문 읽기