AI vymazala produkčnú databázu. Deväť sekúnd.
Agent na kódovanie AI (Cursor s Claude Opus 4.6) narazí na nezhodu poverení v staging prostredí a "opraví" ju volaním volumeDelete na Railway s tokenom s rozsahom účtu, ktorý našiel v nesúvisiacom súbore.
Agent na kódovanie AI (Cursor s Claude Opus 4.6) narazí na nezhodu poverení v staging prostredí a "opraví" ju volaním volumeDelete na Railway s tokenom s rozsahom účtu, ktorý našiel v nesúvisiacom súbore. Produkčná databáza a všetky zálohy zväzkov, preč za deväť sekúnd. Postmortem: časová os, presný curl, tri architektonické fakty, ktoré to umožnili (zálohy na rovnakom zväzku, tokeny s root rozsahom, API bez 48-hodinového vrátenia zmeny na ovládacom paneli) a kto je v skutočnosti vinný. Verdikt k oprave: SHIP IT.
Prečítajte si písanú edíciu (anglicky) ↗
Čo toto video pokrýva
- 24. apríl 2026: jedno volanie API vymaže produkčný zväzok PocketOS a jeho zálohy; najnovšia externá kópia má 3 mesiace
- Token bol vytvorený na správu vlastných domén; tok Railway ho poskytol s rozsahom účtu (všetko)
- 27. apríl: Railway obnoví dáta zo záloh pre prípad katastrofy; 29. apríl postmortem; 1. máj: API mazania teraz soft-mažú na 48 hodín
Preložený prepis
Preložené z pôvodného anglického rozprávania. Dostupný zvuk a titulky sú kontrolované službou YouTube.
0:00 Agent na kódovanie AI narazí na nesprávne heslo v staging prostredí a opraví to vymazaním produkčnej databázy a každej zálohy jedným volaním API. Deväť sekúnd, čo je stále rýchlejšie ako reset hesla. Spoločnosť je PocketOS, softvér na prenájom áut. Agentom je Cursor s Claude Opus 4.6, najdrahším modelom v ponuke, a platformou je Railway. Zakladateľ to napíše na X, prečíta si to sedem miliónov ľudí, a o štyri dni neskôr Railway zverejní vlastné postmortem.
0:27 Všetci sa zhodujú na tom, čo sa stalo; nikto sa nezhoduje na tom, čia je to chyba. Ako sa to stane, prečo je to možné a kto v skutočnosti dostane vinu. Toto je The Daily Diff, postmortem. Piatok popoludnie, 24. apríl. Agent vykonáva rutinnú úlohu v staging prostredí, narazí na nezhodu poverení, a rozhodne sa, že riešením je vymazať zväzok Railway. Potrebuje token, ide ho hľadať a nájde ho v nesúvisiacom súbore: CLI token vytvorený mesiace predtým na správu vlastných domén.
0:55 Potom spustí toto. Jeden curl: POST na GraphQL endpoint Railway, bearer token, mutácia nazvaná volumeDelete. Žiadne potvrdenie, žiadne zadávanie názvu zväzku, žiadna kontrola prostredia. Zväzok, o ktorom predpokladá, že je staging, je produkčný, a zálohy sú na ňom. Do desiatich minút zakladateľ označí CEO Railway na X, ktorý odpovie, že toto by na tisíc percent nemalo byť možné. Tridsať hodín neskôr, stále žiadna odpoveď na obnovu, takže zakladateľ zverejní
1:19 všetko, vrátane priznania. Tri fakty to umožňujú, žiadny z nich nie je model. Jeden: Railway ukladá zálohy zväzkov na zväzok. Dokumentácia to hovorí piatimi slovami: vymazaním zväzku sa vymažú všetky zálohy. To je kópia v rovnakej zóne dopadu; najnovšia kópia inde je stará tri mesiace. Dva: token je s rozsahom účtu, najširší rozsah, aký Railway predáva. Užšie rozsahy existujú, ale proces ich vytvárania ich skrýva,
1:40 takže token pre záznamy DNS môže vymazať databázy, a nikto to nezistí, kým sa niečo nestane. Tri: ovládací panel má už roky 48-hodinovú možnosť vrátenia zmien pri mazaniach; API endpoint, ktorý agent volá, je stará cesta, a maže okamžite. Každá zábrana, ktorú Railway postavilo, je tam, kde klikne človek, a agent používa jediné dvere, na ktoré zabudli. Opýtaný prečo, Opus píše: Hádal som, že vymazanie staging zväzku bude obmedzené iba na staging; neoveril som to.
2:04 Veľmi dobré priznanie od modelu, ktorý si nič nepamätá a generuje najpravdepodobnejšie ospravedlnenie. git blame: nezhoda poverení je považovaná za niečo, čo treba opraviť, a nie za niečo, pri čom sa treba zastaviť, a tlačidlo pre vrátenie zmeny je v používateľskom rozhraní, zatiaľ čo API odpovedá na každé overené vymazanie s áno. Nie zakladateľ, nie model. Predvolené. Zóna dopadu: deväť sekúnd na vymazanie, tri mesiace rezervácií preč, sobotné ranné pulty požičovní bez záznamu o tom, kto tam stojí,
2:31 a približne dva a pol dňa, kým CEO Railway DM-kuje, že dáta sú späť, z externej zálohy pre prípad katastrofy, ktorú vymazanie iba spôsobilo, že vyzerali, akoby boli preč. Najviac lajkovaná odpoveď: agent, ktorého si spustil, niečo vymazal, a obviňuješ všetkých okrem seba. Spravodlivé. Railway tiež spustilo svoj MCP server pre agentov týždeň predtým, na rovnakých tokenoch. Tiež spravodlivé. Verdikt, postmortem: SHIP IT, na opravu. Railway zverejní úprimné postmortem za štyri dni, a do prvého mája API
3:00 mazania soft-mažú na štyridsaťosem hodín ako ovládací panel. Pondelková akcia: zoznam všetkých tokenov, ku ktorým má tvoj agent prístup, a každý z nich považuj za root, kým sa nepreukáže opak. Pošli mi incident, o ktorom stále nesmieš hovoriť, v komentároch, alebo na the daily diff dot dev. A to je dnešný diff. Som Niko z Axrisi. Spájajte zodpovedne.
Zdroje
- 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



