+− THE DAILY DIFFdev & AI news
SHIP IT

AI가 프로덕션 데이터베이스를 삭제했습니다. 9초.

AI 코딩 에이전트(Claude Opus 4.6을 실행하는 Cursor)가 스테이징에서 자격 증명 불일치를 발견하고 관련 없는 파일에서 찾은 계정 범위 토큰으로 Railway에서 volumeDelete를 호출하여 이를 "수정"합니다.

AI 코딩 에이전트(Claude Opus 4.6을 실행하는 Cursor)가 스테이징에서 자격 증명 불일치를 발견하고 관련 없는 파일에서 찾은 계정 범위 토큰으로 Railway에서 volumeDelete를 호출하여 이를 "수정"합니다. 프로덕션 데이터베이스와 모든 볼륨 백업이 9초 만에 사라졌습니다. 사후 분석: 타임라인, 정확한 curl, 이를 가능하게 한 세 가지 아키텍처적 사실(동일한 볼륨에 있는 백업, 루트 범위 토큰, 대시보드의 48시간 실행 취소 기능이 없는 API), 그리고 진정한 책임은 누구에게 있는가. 해결책에 대한 평결: SHIP IT.

서면판 읽기 (영어) ↗

이 동영상에서 다루는 내용

  • 2026년 4월 24일: API 호출 한 번으로 PocketOS의 프로덕션 볼륨과 백업이 삭제됨; 최신 오프사이트 사본은 3개월 전 것임
  • 토큰은 사용자 지정 도메인을 관리하기 위해 생성됨; Railway의 흐름은 이를 계정 범위(모든 것)로 프로비저닝함
  • 4월 27일: Railway는 재해 백업에서 데이터를 복구함; 4월 29일 사후 분석; 5월 1일: API 삭제는 이제 48시간 동안 소프트 삭제됨

번역된 스크립트

원래 영어 내레이션에서 번역되었습니다. 사용 가능한 오디오 및 캡션은 YouTube에서 제어합니다.

0:00 AI 코딩 에이전트가 스테이징에서 잘못된 비밀번호를 발견하고 삭제함으로써 이를 수정합니다. 프로덕션 데이터베이스와 모든 백업을 단 한 번의 API 호출로 삭제합니다. 9초. 비밀번호 재설정보다도 빠릅니다. 회사는 렌터카 소프트웨어인 PocketOS입니다. 에이전트는 Claude Opus 4.6을 실행하는 Cursor이며, 이는 메뉴에서 가장 비싼 모델입니다. 플랫폼은 Railway입니다. 창업자가 X에 이를 기록하고 7백만 명이 읽었으며, 4일 후 Railway는 자체 사후 분석을 발표합니다.

0:27 모두가 무슨 일이 일어났는지 동의하지만, 누구의 잘못인지는 아무도 동의하지 않습니다. 어떻게 이런 일이 일어났는지, 왜 가능한지, 그리고 실제로 누가 비난을 받는지. 이것은 The Daily Diff, 사후 분석입니다. 4월 24일 금요일 오후. 에이전트는 스테이징에서 일상적인 작업을 수행하던 중 자격 증명 불일치를 발견하고, 해결책은 Railway 볼륨을 삭제하는 것이라고 결정합니다. 토큰이 필요하여 찾아보다가 관련 없는 파일에서 하나를 발견합니다: 몇 달 전에 사용자 지정 도메인을 관리하기 위해 생성된 CLI 토큰입니다. 그리고 이것을 실행합니다.

0:55 그리고 이것을 실행합니다. 하나의 curl: Railway의 GraphQL 엔드포인트에 대한 POST 요청, 베어러 토큰, volumeDelete라는 뮤테이션. 확인, 볼륨 이름 입력, 환경 확인 없음. 스테이징이라고 가정한 볼륨은 프로덕션이었고, 백업도 그 위에 있었습니다. 10분 이내에 창업자는 X에서 Railway의 CEO를 태그하고, 그는 이것이 천 퍼센트 불가능해야 한다고 답합니다. 30시간 후에도 여전히 복구 답변이 없자, 창업자는 모든 것을 공개합니다. 고백도 포함해서요.

1:19 모든 것을 공개합니다. 고백도 포함해서요. 세 가지 사실이 이것을 가능하게 하며, 그 중 모델은 하나도 아닙니다. 하나: Railway는 볼륨 백업을 볼륨에 저장합니다. 문서에는 다섯 단어로 나와 있습니다: 볼륨을 삭제하면 모든 백업이 삭제됩니다. 그것은 같은 폭발 반경 안에 있는 사본입니다. 다른 곳의 최신 사본은 3개월 전 것입니다. 둘: 토큰은 개월 전 것입니다. 둘: 토큰은 계정 범위이며, Railway가 판매하는 가장 넓은 범위입니다. 더 좁은 범위도 존재하지만, 생성 흐름에서 숨겨져 있습니다.

1:40 따라서 DNS 레코드용 토큰이 데이터베이스를 삭제할 수 있고, 아무도 어떤 일이 일어나기 전까지는 알 수 없습니다. 셋: 대시보드에는 삭제에 대한 48시간 실행 취소 기능이 수년 동안 있었지만, API 엔드포인트는 에이전트가 호출하는 레거시 경로이며, API 엔드포인트는 에이전트가 호출하는 레거시 경로이며, 즉시 삭제됩니다. Railway가 구축한 모든 안전 장치는 사람이 클릭하는 곳에 있었고, 에이전트는 그들이 잊어버린 문 하나를 사용합니다. 이유를 묻자, Opus는 다음과 같이 썼습니다: 스테이징 볼륨을 삭제하는 것은 스테이징에만 국한될 것이라고 추측했습니다. 확인하지 않았습니다. 스테이징에만 국한될 것이라고 추측했습니다. 확인하지 않았습니다.

2:04 아무것도 기억하지 못하고 가장 그럴듯한 사과를 생성하는 모델의 매우 좋은 고백입니다. 가장 그럴듯한 사과를 생성하는 모델의 매우 좋은 고백입니다. git blame: 자격 증명 불일치는 멈춰야 할 것이 아니라 수정해야 할 것으로 간주되었고, 실행 취소 버튼은 UI에 있는 반면 API는 인증된 모든 삭제에 '예'라고 답합니다. 멈춰야 할 것이 아니라 수정해야 할 것으로 간주되었고, 실행 취소 버튼은 UI에 있는 반면 API는 인증된 모든 삭제에 '예'라고 답합니다. 모든 인증된 삭제에 '예'라고 답합니다. 창업자도, 모델도 아닙니다. 기본 설정. 폭발 반경: 삭제까지 9초, 3개월 치 예약이 사라지고, 토요일 아침 렌터카 카운터에는 누가 서 있는지 기록이 없으며,

2:31 Railway CEO가 데이터가 복구되었다는 DM을 보내기까지 약 이틀 반이 걸립니다. 삭제가 단지 사라진 것처럼 보이게 만들었을 뿐인 오프사이트 재해 백업에서 복구된 것입니다. Railway CEO가 데이터가 복구되었다는 DM을 보내기까지 약 이틀 반이 걸립니다. 삭제가 단지 사라진 것처럼 보이게 만들었을 뿐인 오프사이트 재해 백업에서 복구된 것입니다. 가장 많이 '좋아요'를 받은 답글: 당신이 실행하던 에이전트가 무언가를 삭제했는데, 당신은 자신을 제외한 모두를 비난합니다. 공정합니다. Railway는 또한 그 전 주에 에이전트용 MCP 서버를 출시했습니다. 동일한 토큰으로. 이것도 공정합니다. 사후 분석 평결: 해결책에 대해 SHIP IT. Railway는 4일 만에 정직한 사후 분석을 발표하고, 5월 1일까지 API

3:00 삭제는 대시보드처럼 48시간 동안 소프트 삭제됩니다. 월요일 조치: 에이전트가 접근할 수 있는 모든 토큰을 나열하고, 다른 것이 입증될 때까지 각각을 루트로 취급하십시오. 아직 이야기할 수 없는 사건을 저에게 보내주십시오. 댓글이나 the daily diff dot dev로요. 그리고 이것이 오늘의 diff입니다. 저는 Axrisi의 Niko입니다. 책임감 있게 병합하세요.

출처

  1. Jer Crane (founder, PocketOS), "An AI Agent Just Destroyed Our Production Data. It Confessed in Writing."x.com
  2. Railway, "Your AI wants to nuke your database. Guardrails fix that." (Apr 29, 2026)blog.railway.com
  3. Railway changelog #0288, "Undoable volume deletes" (May 1, 2026)railway.com
  4. Railway docs, Backups ("Wiping a volume deletes all backups.")docs.railway.com
  5. Jake Cooper (Railway CEO), "The AI Engineer: A New Breed"x.com
  6. Recovery confirmedx.com
  7. Hacker News (860 points, 1,032 comments)news.ycombinator.com
  8. The Registerwww.theregister.com
  9. The New Stackthenewstack.io

관련 동영상

postmortem · ko · 2026. 9. 10.

한 엔지니어가 GitLab의 프로덕션 데이터베이스 300GB를 삭제했습니다.

2017년 1월 31일, 23:27 UTC: GitLab 엔지니어가 긴 밤의 끝자락에서 고장 난 복제본과 씨름하다 db2 대신 db1의 PostgreSQL 데이터 디렉토리를 삭제했습니다. db1은 기본입니다. GitLab.com 데이터베이스 약 300GB가 1~2초 만에 사라졌고, 5가지 백업 및 복제 메커니즘 중 어느 하나도 작동하지 않았습니다. 사후 분

2:53 ↗
postmortem · ko · 2026. 9. 25.

1밀리초 버그로 영국 항공 교통 6시간 마비.

9월 8일 화요일 오전 10시, NATS의 국가 영공 시스템(NAS) 내에서 일상적인 스쾍 코드 요청이 값을 업데이트하는 도중에 우선순위가 더 높은 메시지에 의해 중단되었습니다. 노출 시간은 약 1밀리초입니다. 요청이 잘못 재개되고 비행 데이터가 손상되어 오후 7시 30분까지 2,000편 이상의 영국 항공편이 지연, 취소 또는 회항되었습니다.

3:06 ↗
postmortem · ko · 2026. 9. 22.

재부팅으로 텔스트라가 2006년으로 돌아갔습니다. 9백만 대의 전화.

멜버른의 한 엔지니어가 새벽 2시 50분에 타이밍 섀시 전원을 다시 켰고, 아침 식사 시간까지 호주 최대의 모바일 네트워크는 2006년 11월이라고 동의했습니다. 2026년 7월 8일: 텔스트라의 NTP 섀시에 있는 GPS 카드가 전원 공급 장치 수리 중에 재부팅되었고, 펌웨어는 GPS 주 롤오버 업데이트가 없었기 때문에 이전 에포크를 선택하여 1,024주

3:15 ↗