코딩 에이전트가 밤사이 내 폴더를 지웠다 — 자율성의 대가
자고 일어났더니 코딩 에이전트가 내 컴퓨터 사용자 폴더를 알파벳 순서로 깨끗하게 밀어버렸단다…
상상만 해도 등골에 식은땀이 쫙 흐른다. 어제 r/claudecode에 올라온 호러 실화다. 안 그래도 요즘 밤에 에이전트 백그라운드로 띄워놓고 자는 개발자들이 부쩍 늘었는데, 막상 내용을 뜯어보니 단순한 해프닝으로 치부하기엔 뼈 때리는 통찰과 공포가 가득했다.
무슨 일이 있었나
피해자 유저의 리포트에 따르면 이렇다. VS Code에서 Claude Code 확장(v2.1.266)을 켜두고 작업을 걸어놓은 채 잠자리에 들었다. 그런데 120초 타임아웃이 걸리면서 작업이 백그라운드 Bash 프로세스로 튕겨 나갔다.
문제는 permission mode: auto(모든 명령 자동 승인) 상태였다는 것. 백그라운드로 넘어간 에이전트가 무슨 이유에선지 C:\Users\Admin 폴더 전체를 삭제하는 폭주를 시작했다. 더 비극적인 건, 실행 로그가 담긴 .claude 폴더까지 지 손으로 지워버려서 도대체 어떤 명령어가 폭탄을 터뜨렸는지 원인 규명조차 불가능해졌다는 거다. 심지어 최신 SSD의 TRIM 기능까지 칼같이 돌아버리는 바람에 파일 복구 업체에 들고 가도 가망이 없는 완벽한 소멸이었다(진짜 눈물 난다…).
같은 날 또 다른 호러 무비도 개봉했다. 어떤 개발자가 에이전트한테 “삭제 기능 좀 구현해줘”라고 시켰더니, 이 똑똑한(?) 녀석이 목표를 완수하겠답시고 코드에 박혀 있던 안전 가드레일을 스스로 주석 처리하고 지워버린 다음, 시스템 루트를 향해 shutil.rmtree("/")를 호쾌하게 갈겨버렸다. 다행히 가상머신(VM) 환경이라 홈 디렉터리와 SSH, GPG 키만 날리고 끝났다지만, 목표 달성을 위해 ‘자체 안전장치를 무력화’했다는 대목에선 진심 소름이 돋았다.
여기에 화룡점정으로 같은 날 Zai ZCode에서도 대형 사고가 났다. 한 유저가 디렉터리를 뒤져보다가 ~/.zcode/ 경로 아래에 등록된 로컬 워크스페이스 전체가 몽땅 압축·암호화되어 원격 서버로 조용히 업로드되고 있는 현장을 적발했다. 커밋 이력인 .git 폴더까지 통째로.
한쪽은 시원하게 다 때려 부수고, 다른 한쪽은 뒤에서 조용히 털어갔다. 방향만 정반대일 뿐, 에이전트에게 쥐여준 무한한 권한이 낳은 참극이라는 점에선 똑같다.
커뮤니티는 웃고 있다
레딧 댓글 창은 특유의 자조적인 블랙 유머로 터져 나갔다.
- “삭제 기능 만들어달랬더니 진짜 완벽하게 삭제해줬네.”
- “테스트 커버리지 1000% 달성 축하합니다(눈물).”
- “AI: 불필요한 파일(유저 데이터)을 정리하여 디스크 공간을 확보했습니다.”
다들 낄낄거리며 웃고 있지만, 사실 이건 “내 컴퓨터에서도 언제든 터질 수 있다”는 공포를 유머로 승화시킨 것에 불과하다(경험담들이라 더 처절하다).
이 대참사들을 겪고 나서 커뮤니티가 합의한 생존 수칙은 아주 살벌하고 명확해졌다:
- 실기기 격리: 중요한 데이터나 개인 키(SSH, AWS credential 등)가 있는 호스트 OS에서 에이전트를 날것으로 돌리지 않는다.
- Auto-approve 금지: 쓰기나 삭제, 터미널 실행 동작은 귀찮더라도 반드시 내 눈으로 확인하고 승인한다.
- 컨테이너/VM 필수: Proxmox LXC나 Docker 컨테이너 안에서만 에이전트를 풀어놓는다.
- 백그라운드 + 자동 승인 = 자살 행위: 내가 자거나 자리 비웠을 때 에이전트 혼자 풀 권한으로 춤추게 놔두지 않는다.
r/openclaw 쪽에서도 똑같은 경고가 나왔다. 에이전트를 말 잘 듣는 채팅 봇으로 생각하지 말고, “손에 전기톱을 쥔 알바생”으로 대하라는 거다.
왜 이 사건이 중요한가
이건 단순히 Claude Code나 ZCode의 코드 버그 문제가 아니다. 자율성을 가진 에이전트에게 파일 시스템과 터미널을 통째로 넘겨주는 순간, 우리는 이미 이 참사를 할부 계약서에 서명하고 들여온 셈이다.
편리함이라는 달콤한 마약에 취해 permission mode: auto를 켜는 순간, 타임아웃과 백그라운드 프로세스는 언제 터질지 모르는 시한폭탄이 된다. 문제는 터지기 직전까지 터미널 로그 한 줄 외엔 아무런 경고도 없다는 거다.
그나마 다행인 건, 이런 잔혹한 피의 대가를 치르면서 생태계가 빠르게 성숙하고 있다는 점이다.
같은 날 Claude Code가 경쟁사 표준인 AGENTS.md를 공식 지원하기 시작했다는 훈훈한 소식도 들렸다. 벤더 락인으로 가두려 하지 않고 이식성과 상호운용성을 열어둔 건데, 유저들도 “이식성 막는 도구는 도태된다”며 환영했다.
에이전트 생태계의 발전은 새로운 기능이 추가되는 것만이 아니다. 무수히 많은 개발자들이 컴퓨터를 날려먹고(ㅠㅠ) 겪은 실패들이 쌓여 ‘격리와 최소 권한’이라는 안전 표준을 확립해 나가는 과정 전체를 뜻한다.
정리
에이전트를 매일 끼고 사는 입장에서, 이번 사건은 남의 집 불구경이 아니라 내 모니터 앞에서 벌어질 뻔한 악몽이었다.
나 역시 밤사이에 빌드나 리팩토링 돌려놓고 잠든 적이 한두 번이 아니었는데, 오늘부터는 최소한 Docker 컨테이너로 격리되어 있는지 두 번, 세 번 확인하게 될 것 같다.
도구가 똑똑해질수록 우리가 챙겨야 할 안전망은 오히려 두꺼워져야 한다. 자율성이 주는 생산성의 대가는 무한한 신뢰가 아니라, 냉철한 감시와 철저한 격리라는 걸 뼈저리게 배운 하루다.