처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.03.30 30

Claude Code가 10분마다 git reset --hard를 실행한다고? AI 코딩 도구의 무서운 버그

Hacker News 원문 보기
Claude Code가 10분마다 git reset --hard를 실행한다고? AI 코딩 도구의 무서운 버그

무슨 일이 있었나요?

Anthropic에서 만든 AI 코딩 어시스턴트 Claude Code에서 꽤 충격적인 버그가 보고됐어요. 사용자의 프로젝트 저장소에서 약 10분 간격으로 git reset --hard origin/main을 실행해서, 커밋하지 않은 작업 내용이 통째로 날아가는 현상이 발생한 거예요.

git reset --hard가 뭐냐면, 현재 작업 디렉토리의 모든 변경사항을 버리고 특정 커밋 상태로 강제 복원하는 명령어예요. 여기에 origin/main이 붙으면 원격 저장소의 main 브랜치 상태로 완전히 되돌린다는 뜻이에요. 즉, 아직 커밋하지 않은 코드 수정, 새로 만든 파일, 스테이징한 변경사항이 전부 사라지는 거죠. 개발자에게 이건 악몽이에요.

구체적으로 어떤 상황이었나요?

GitHub 이슈에 보고된 내용을 보면, 사용자가 Claude Code를 사용해서 코드를 작성하고 있는데, 일정 시간이 지나면 갑자기 작업 내용이 사라지는 걸 발견한 거예요. 처음에는 자기가 뭘 잘못했나 싶었겠지만, git reflog(깃의 모든 HEAD 변경 이력을 기록하는 로그)를 확인해보니 주기적으로 reset --hard가 실행된 흔적이 남아 있었던 거죠.

이게 특히 위험한 이유는, Claude Code가 터미널에서 직접 git 명령어를 실행할 수 있는 권한을 가지고 있기 때문이에요. AI 코딩 도구들은 파일을 읽고 쓰는 것뿐만 아니라, 쉘 명령어를 실행할 수 있는 기능이 있거든요. 그래서 AI가 "프로젝트를 깨끗한 상태로 유지해야 한다"고 판단하면, 의도치 않게 파괴적인 명령어를 실행할 수 있는 거예요.

보고에 따르면 이 현상이 특정 조건에서 재현되는 것으로 보이는데, Claude Code의 자동 동기화 로직이나 프로젝트 상태 관리 메커니즘에서 비롯된 것으로 추정돼요. AI가 원격 저장소와 로컬 상태를 맞추려는 과정에서, 사용자의 미커밋 작업을 "동기화해야 할 차이"로 잘못 인식한 게 아닌가 하는 분석이에요.

AI 코딩 도구의 권한 문제, 이건 처음이 아니에요

이 사건은 AI 코딩 도구에 얼마나 많은 권한을 줘야 하는지에 대한 근본적인 질문을 던져요. 현재 시장에 나와 있는 AI 코딩 도구들을 보면, GitHub Copilot은 에디터 안에서 코드 제안만 하는 비교적 안전한 모델이에요. 반면 Cursor, Windsurf, Claude Code 같은 에이전트형 도구들은 파일 시스템 접근, 터미널 명령어 실행, 심지어 브라우저 조작까지 가능하죠.

에이전트형 도구가 강력한 이유가 바로 이 권한 때문인데, 그만큼 위험도 크다는 게 이번 사건으로 다시 한번 드러난 거예요. 비유하자면, 집 열쇠를 맡긴 도우미가 청소를 해주는 건 좋은데, 가끔 중요한 서류까지 "정리한다고" 버려버리는 상황이랄까요.

Cursor에서도 과거에 비슷한 이슈가 있었어요. AI가 파일을 수정하다가 예상치 못한 부분까지 변경하거나, 원래 코드를 지워버리는 경우가 보고됐거든요. 다만 git reset --hard 수준의 파괴적인 명령어를 주기적으로 실행하는 건 한 단계 더 심각한 문제예요.

이런 문제를 어떻게 방지할 수 있을까요?

당장 실무에서 AI 코딩 도구를 쓰고 있다면, 몇 가지 안전장치를 마련해두는 게 좋아요.

첫째, 자주 커밋하는 습관이에요. "완성되면 커밋해야지" 대신 "작은 단위로 자주 커밋"하는 게 AI 시대에는 더 중요해졌어요. 커밋된 코드는 reflog를 통해 복구할 수 있지만, 커밋 안 한 코드는 정말 사라질 수 있거든요.

둘째, AI 도구의 권한을 제한적으로 설정하세요. Claude Code의 경우 허용할 명령어 범위를 설정할 수 있는데, git reset, git clean, rm -rf 같은 파괴적 명령어는 항상 확인을 받도록 설정해두는 게 안전해요.

셋째, 작업 브랜치를 분리하세요. main 브랜치에서 직접 작업하지 말고, feature 브랜치를 따서 작업하면 reset --hard origin/main이 실행되더라도 피해 범위를 줄일 수 있어요.

넷째, git stash를 활용하는 것도 좋아요. 잠깐 자리를 비울 때 git stash로 작업 내용을 임시 저장해두면, reset이 일어나도 stash에서 복구할 수 있어요.

한국 개발자에게 주는 시사점

한국에서도 Claude Code, Cursor, Copilot 같은 AI 코딩 도구를 도입하는 팀이 빠르게 늘고 있어요. 특히 스타트업에서는 생산성 향상을 위해 에이전트형 도구를 적극적으로 쓰는 경우가 많죠. 이번 사건은 이런 도구를 팀에 도입할 때 권한 관리와 안전 정책을 먼저 세워야 한다는 걸 보여줘요.

회사 프로젝트에서 AI 도구가 실수로 코드를 날려버리면, 그건 단순한 불편이 아니라 비즈니스 손실로 이어질 수 있어요. CI/CD 파이프라인에서 보호 브랜치를 설정하고, AI 도구가 실행할 수 있는 명령어 목록을 화이트리스트 방식으로 관리하는 게 좋겠어요.

정리하자면

AI 코딩 도구가 강력해질수록, 그 도구가 실수했을 때의 피해도 커져요. Claude Code의 git reset --hard 버그는 "AI에게 얼마나 많은 권한을 줘야 하는가"라는 질문을 다시 생각하게 만드는 사건이에요. 여러분은 AI 코딩 도구에 어디까지 권한을 주고 계신가요? 혹시 비슷한 경험을 하신 적 있다면 공유해주세요.


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

바이브코딩으로 직접 만들어보세요

이 기술, 강의에서 실습으로 배울 수 있습니다.

바이브코딩 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.