Veštačka inteligencija je obrisala produkcionu bazu podataka. Devet sekundi.
AI agent za kodiranje (Cursor koji pokreće Claude Opus 4.6) nailazi na neusaglašenost akreditiva u staging okruženju i „popravlja“ je pozivanjem funkcije volumeDelete na Railway-u sa tokenom sa opsegom naloga koji je pronašao u nepovezanom fajlu.
AI agent za kodiranje (Cursor koji pokreće Claude Opus 4.6) nailazi na neusaglašenost akreditiva u staging okruženju i „popravlja“ je pozivanjem funkcije volumeDelete na Railway-u sa tokenom sa opsegom naloga koji je pronašao u nepovezanom fajlu. Produkciona baza podataka i svaka rezervna kopija volumena, nestali su za devet sekundi. Postmortem: vremenska linija, tačan curl, tri arhitektonske činjenice koje su to omogućile (rezervne kopije na istom volumenu, tokeni sa root opsegom, API bez opcije poništavanja akcije sa kontrolne table u trajanju od 48 sati) i ko zaista snosi krivicu. Presuda o popravci: SHIP IT.
Pročitajte pisano izdanje (engleski) ↗
Šta ovaj video pokriva
- 24. april 2026: jedan API poziv briše produkcioni volumen PocketOS-a i njegove rezervne kopije; najnovija kopija van lokacije je stara 3 meseca
- Token je kreiran za upravljanje prilagođenim domenima; Railway-ov tok ga je obezbedio sa opsegom naloga (sve)
- 27. april: Railway vraća podatke iz rezervnih kopija za katastrofe; 29. april postmortem; 1. maj: API brisanja sada su soft-delete za 48 sati
Preveden transkript
Prevedeno sa originalne engleske naracije. Dostupan audio i titlovi kontrolisani su od strane YouTube-a.
0:00 AI agent za kodiranje nailazi na pogrešnu lozinku u staging okruženju i popravlja je brisanjem produkcionu bazu podataka i svaku rezervnu kopiju u jednom API pozivu. Devet sekundi, što je i dalje brže od resetovanja lozinke. Kompanija je PocketOS, softver za iznajmljivanje automobila. Agent je Cursor koji pokreće Claude Opus 4.6, najskuplji model na meniju, a platforma je Railway. Osnivač to piše na X-u, sedam miliona ljudi to pročita, i četiri dana kasnije Railway objavljuje svoj postmortem.
0:27 Svi se slažu oko toga šta se desilo; niko se ne slaže čija je krivica. Kako se to dešava, zašto je to moguće i ko zapravo snosi krivicu. Ovo je The Daily Diff, postmortem. Petak popodne, 24. april. Agent je na rutinskom zadatku u staging okruženju, nailazi na neusaglašenost akreditiva, i odlučuje da je rešenje brisanje Railway volumena. Potreban mu je token, traži ga i pronalazi ga u nepovezanom fajlu: CLI token kreiran mesecima ranije za upravljanje prilagođenim domenima.
0:55 Zatim pokreće ovo. Jedan curl: POST na Railway-ov GraphQL endpoint, bearer token, mutacija nazvana volumeDelete. Bez potvrde, bez upisivanja imena volumena, bez provere okruženja. Volumen za koji pretpostavlja da je staging je produkcija, a rezervne kopije su na njemu. U roku od deset minuta osnivač taguje CEO-a Railway-a na X-u, koji odgovara da ovo hiljadu posto ne bi trebalo da bude moguće. Trideset sati kasnije, i dalje nema odgovora o oporavku, pa osnivač objavljuje
1:19 sve, uključujući i priznanje. Tri činjenice čine ovo mogućim, nijedna od njih nije model. Jedna: Railway čuva rezervne kopije volumena na volumenu. Dokumentacija to kaže u pet reči: brisanje volumena briše sve rezervne kopije. To je kopija u istom radijusu eksplozije; najnovija kopija bilo gde drugde je stara tri meseca. Dva: token je sa opsegom naloga, najširim opsegom koji Railway prodaje. Postoje uži opsezi, ali tok kreiranja ih skriva,
1:40 tako da token za DNS zapise može obrisati baze podataka, i niko ne saznaje dok se nešto ne desi. Tri: kontrolna tabla ima opciju poništavanja brisanja u trajanju od četrdeset osam sati godinama; API endpoint koji agent poziva je stari put, i on briše odmah. Svaka zaštitna mera koju je Railway izgradio nalazi se tamo gde čovek klikne, a agent koristi jedna vrata koja su zaboravili. Na pitanje zašto, Opus piše: Pretpostavio sam da će brisanje staging volumena biti ograničeno samo na staging; nisam proverio.
2:04 Vrlo dobro priznanje od modela koji se ničega ne seća i generiše najverovatnije izvinjenje. git blame: neusaglašenost akreditiva se tretira kao nešto što treba popraviti, a ne nešto za zaustavljanje, a dugme za poništavanje je u korisničkom interfejsu dok API odgovara na svako autentifikovano brisanje sa da. Nije osnivač, nije model. Podrazumevano. Radijus eksplozije: devet sekundi za brisanje, tri meseca rezervacija nestalo, pultovi za iznajmljivanje u subotu ujutro bez evidencije ko tamo stoji,
2:31 i otprilike dva i po dana dok CEO Railway-a ne pošalje DM da su podaci vraćeni, iz offsite rezervne kopije za katastrofe koju je brisanje samo učinilo da izgleda nestalo. Najlajkovaniji odgovor: agent kojeg ste pokrenuli nešto je obrisao, a vi krivite sve osim sebe. Fer. Railway je takođe pokrenuo svoj MCP server za agente nedelju dana ranije, na istim tokenima. Takođe fer. Presuda, postmortem: ship it, na popravci. Railway objavljuje iskren postmortem za četiri dana, a do prvog maja API
3:00 brisanja su soft-delete za četrdeset osam sati kao i kontrolna tabla. Ponedeljak akcija: navedite svaki token do kojeg vaš agent može doći, i tretirajte svaki kao root dok se ne dokaže suprotno. Pošaljite mi incident o kojem još uvek ne smete da pričate, u komentarima, ili na the daily diff dot dev. I to je diff za danas. Ja sam Niko iz Axrisi. Spajajte odgovorno.
Izvori
- Jer Crane (founder, PocketOS), "An AI Agent Just Destroyed Our Production Data. It Confessed in Writing."x.com
- Railway, "Your AI wants to nuke your database. Guardrails fix that." (Apr 29, 2026)blog.railway.com
- Railway changelog #0288, "Undoable volume deletes" (May 1, 2026)railway.com
- Railway docs, Backups ("Wiping a volume deletes all backups.")docs.railway.com
- Jake Cooper (Railway CEO), "The AI Engineer: A New Breed"x.com
- Recovery confirmedx.com
- Hacker News (860 points, 1,032 comments)news.ycombinator.com
- The Registerwww.theregister.com
- The New Stackthenewstack.io



