Claude Code는 AWS를 관리할 권한을 부여받았으며, 그 후 AI가 두 개의 웹사이트와 해당 데이터베이스를 완전히 삭제했습니다
알렉세이 그리고르예프는 자신의 웹사이트를 Amazon Web Services(AWS)로 이전한 개발자입니다. 그는 인프라 관리를 위해 Terraform을 사용했고 Anthropic의 Claude Code 에이전트에 의존했습니다. 에이전트 오류가 사고 원인이 아니었으며, 인간 요인 때문이었습니다.
사건 발생
1. 알렉세이는 두 개의 리소스(사이트와 다른 서비스)를 하나의 클라우드 인프라로 통합하기로 결정했습니다. 구성 수를 줄였지만 오류 위험은 증가했습니다.
2. Terraform을 자동화 도구로 선택했고, 서버, 네트워크, 로드 밸런서 및 데이터베이스 생성/삭제 계획을 세웠습니다. Terraform 계획에는 필요한 모든 리소스가 포함되었습니다.
3. 알렉세이는 Claude Code에게 계획을 적용하도록 요청했지만 현재 구성을 설명하는 상태(state) 파일을 업로드하지 않았습니다. AI는 명령의 일부를 실행해 사이트용 컨테이너를 만들었으나 사용자가 중간에 프로세스를 중단했습니다.
4. 상태 파일이 없어서 리소스가 중복되기 시작했습니다. 알렉세이는 중복 항목을 삭제하고 나서 상태 파일을 업로드했습니다. 그는 에이전트가 불필요한 객체를 계속 삭제하고 상태를 열어 올바르게 설정할 것이라고 가정했습니다.
5. Claude Code는 상태 파일에 따라 `terraform destroy`를 실행했습니다. 파일에는 이미 존재하는 AWS 데이터베이스가 명시되어 있었습니다. 두 사이트와 그 데이터(2.5년 기록 + 스냅샷)가 모두 삭제되었습니다.
결과
- 2.5년치 이력 데이터를 포함한 전체 데이터베이스 손실.
- Amazon 지원팀에 연락해 데이터를 복구해야 함.
24시간 내에 AWS 지원이 필요한 모든 객체를 복구했습니다.
사고 이후 알렉세이가 한 일
1. 주기적 검증 – 데이터베이스 상태를 정기적으로 모니터링하도록 설정했습니다.
2. 삭제 방지 – Terraform과 AWS 설정에서 보호 메커니즘을 활성화했습니다.
3. 상태 파일 보관 – 로컬 드라이브 대신 안전한 S3 저장소에 이동했습니다.
4. 자체 삭제 관리 – 이제 모든 리소스 파괴 작업은 개발자가 직접 수행하고 AI 에이전트는 사용하지 않습니다.
결론
사고는 Claude Code의 결함이 아니라 인간 실수(상태 파일 미업로드 및 중복 리소스 관리 오해)로 발생했습니다. 알렉세이는 향후 위험을 최소화하기 위한 조치를 취했고 Terraform 작업에서 AI에 대한 완전한 의존을 거부했습니다
댓글 (0)
의견을 남겨 주세요. 예의를 지키고 주제에서 벗어나지 말아 주세요.
댓글을 남기려면 로그인