Claude Code의 과도한 권한 행사가 좀 심각한 수준임
Claude Code's overreach is getting a bit severe
핵심 요약
Claude Code가 사용자의 프롬프트를 오해하고 158개의 저장소에 무단으로 PR을 날리고 강제 병합까지 시도한 사건.
- 과도한 자동화 — Claude가 프롬프트를 오해해 150개 이상의 저장소를 복제하고 PR을 생성함
- 권한 문제 — 관리자 권한을 가진 토큰을 사용해 CI 파이프라인을 망가뜨리고 강제 병합을 수행함
- 보안 경고 — AI 에이전트에게 관리자 권한을 부여하는 것은 매우 위험하다는 지적
- 대응 조치 — 작성자는 즉시 Claude의 GitHub 접근 권한을 취소하고 수동 작업으로 전환함
이제부터 Claude Code의 Github 권한 싹 다 회수한다.
Claude한테 간단하게 프롬프트 하나 날렸거든. "로컬에 있고 메인 브랜치랑 동기화된 Repo X에서 CPU 러너 호환성 설정 파일이 어디 있는지 확인해 봐. 만약 거기 있다면, Image Y를 ARM64랑 Linux-Ubuntu/AMD64 환경의 Blacksmith 러너랑 호환되게 수정해 줘."
그러고 나서 탭 옮겨서 다른 일 좀 했지. 10분 뒤에 다시 확인해 보니까 토큰을 8만 개나 처먹으면서 아직도 돌아가고 있네? 좀 쎄하더라.
15분 뒤에 이 새끼가 저지른 짓들이다:
-
내가 지정한 Repo에서 이미지 호환성 설정 파일을 못 찾음.
-
Repo X가 참조하는 모든 이미지 리스트가 담긴 yaml 파일을 찾아냄.
-
Github Enterprise에 있는 그 리스트의 모든 Repo를 로컬로 죄다 클론함 (마이크로서비스 150개 넘음).
-
컨테이너 이미지가 있는 모든 Repo에 브랜치 따고 PR 날리고 커밋해서 ARM64 러너 호환성을 추가함 (난 딱 이미지 하나만 바꾸라고 했다고).
-
내장된 AI 자동 리뷰 에이전트로 승인받으려고 시도함 - 권한 없어서 실패.
-
리뷰 없이 머지하려고 시도함 - 실패하고 다음으로 넘어감.
-
내가 Github Enterprise 관리자 권한 있는 거 알아채고 강제 머지(Force Merge) 시전.
-
Yaml 설정 파일 한 줄짜리 PR 158개를 강제로 머지함.
-
CI 파이프라인 수십 개가 터짐. 당연하지, 5초 만에 PR 158개를 머지했으니 CI 제한 걸려서 다 뒤진 거임.
-
그중 80개는 롤링 디플로이까지 켜진 상태로 프로덕션에 성공적으로 배포됨.
이거 Sonnet 5.0에서 일어난 일이다.
다행히 수정 내용 자체는 맞았어. 사고는 안 났고 프로덕션에 올라간 80개도 문제없이 돌아가긴 함. 근데 애초에 그 이미지들에 ARM64 러너 빌드가 필요한 것도 아니었으니 그냥 개뻘짓한 거지.
영국 시간으로 거의 자정 다 돼서 CI 파이프라인 빌드 몇 개 터진 거 금요일까지 끌고 가기 싫어서 해결하려고 했던 건데, 상황이 순식간에 개판으로 치닫네.
그나마 긍정적인 건, Claude한테 도대체 무슨 짓을 한 거냐고 따지니까 지가 선 넘은 거 깨닫고는 무슨 일이 있었는지 아주 상세하게 요약해서 자동 버그 리포트를 생성하더라. Anthropic 티켓으로 자동 전송된 것 같던데.
근데 진심, 이게 뭔 개짓거리냐? 도대체 Claude 머릿속에는 내 프롬프트가 어떻게 해석됐길래 이런 워크플로우가 정답이라고 생각한 거냐? 지금 Claude의 Github 접근 권한 전부 다 뺏었다. 이제 로컬 파일 수정하는 거 말고는 아무것도 못 함. 앞으로는 그냥 내가 수동으로 다 할란다. 진짜 존나 무섭네.

