Sztuczna inteligencja usunęła produkcyjną bazę danych. Dziewięć sekund.
Agent kodujący AI (Cursor z Claude Opus 4.6) napotyka niezgodność poświadczeń w środowisku staging i „naprawia” ją, wywołując volumeDelete na Railway z tokenem o zakresie konta, który znalazł w niepowiązanym pliku.
Agent kodujący AI (Cursor z Claude Opus 4.6) napotyka niezgodność poświadczeń w środowisku staging i „naprawia” ją, wywołując volumeDelete na Railway z tokenem o zakresie konta, który znalazł w niepowiązanym pliku. Produkcyjna baza danych i wszystkie kopie zapasowe wolumenów, zniknęły w dziewięć sekund. Postmortem: oś czasu, dokładne polecenie curl, trzy fakty architektoniczne, które to umożliwiły (kopie zapasowe na tym samym wolumenie, tokeny o zakresie root, API bez 48-godzinnego cofania operacji z pulpitu nawigacyjnego) i kto naprawdę ponosi winę. Werdykt w sprawie poprawki: SHIP IT.
Przeczytaj wydanie pisemne (angielski) ↗
Co obejmuje ten film
- 24 kwietnia 2026: jedno wywołanie API usuwa wolumen produkcyjny PocketOS i jego kopie zapasowe; najnowsza kopia poza siedzibą ma 3 miesiące
- Token został utworzony do zarządzania niestandardowymi domenami; proces Railway nadał mu zakres konta (wszystko)
- 27 kwietnia: Railway odzyskuje dane z awaryjnych kopii zapasowych; 29 kwietnia postmortem; 1 maja: usunięcia przez API są teraz miękkimi usunięciami na 48 godzin
Przetłumaczona transkrypcja
Przetłumaczono z oryginalnej narracji angielskiej. Dostępne audio i napisy są kontrolowane przez YouTube.
0:00 Agent kodujący AI trafia na błędne hasło w środowisku staging i „naprawia” to, usuwając produkcyjną bazę danych i każdą kopię zapasową w jednym wywołaniu API. Dziewięć sekund, co i tak jest szybciej niż resetowanie hasła. Firma to PocketOS, oprogramowanie do wynajmu samochodów. Agent to Cursor uruchamiający Claude Opus 4.6, najdroższy model w ofercie, a platforma to Railway. Założyciel opisuje to na X, siedem milionów ludzi to czyta, a cztery dni później Railway publikuje własny postmortem.
0:27 Wszyscy zgadzają się co do tego, co się stało; nikt nie zgadza się co do tego, czyja to wina. Jak to się dzieje, dlaczego jest to możliwe i kto faktycznie ponosi winę. To jest The Daily Diff, postmortem. Piątek po południu, 24 kwietnia. Agent wykonuje rutynowe zadanie w środowisku staging, napotyka niezgodność poświadczeń, i decyduje, że rozwiązaniem jest usunięcie wolumenu Railway. Potrzebuje tokena, szuka go i znajduje w niepowiązanym pliku: token CLI utworzony miesiące wcześniej do zarządzania niestandardowymi domenami.
0:55 Następnie uruchamia to. Jedno polecenie curl: POST do punktu końcowego GraphQL Railway, token autoryzacji, mutacja o nazwie volumeDelete. Bez potwierdzenia, bez wpisywania nazwy wolumenu, bez sprawdzania środowiska. Wolumen, który uważa za staging, jest produkcyjny, a kopie zapasowe są na nim. W ciągu dziesięciu minut założyciel oznacza CEO Railway na X, który odpowiada, że to tysiąc procent nie powinno być możliwe. Trzydzieści godzin później, nadal brak odpowiedzi w sprawie odzyskiwania, więc założyciel publikuje
1:19 wszystko, w tym spowiedź. Trzy fakty czynią to możliwym, żaden z nich nie dotyczy modelu. Jeden: Railway przechowuje kopie zapasowe wolumenów na wolumenie. Dokumentacja mówi to w pięciu słowach: wyczyszczenie wolumenu usuwa wszystkie kopie zapasowe. To kopia w tym samym promieniu rażenia; najnowsza kopia gdziekolwiek indziej ma trzy miesiące. Dwa: token ma zakres konta, najszerszy zakres, jaki sprzedaje Railway. Istnieją węższe zakresy, ale proces tworzenia je ukrywa,
1:40 więc token dla rekordów DNS może usuwać bazy danych, i nikt się o tym nie dowiaduje, dopóki coś się nie stanie. Trzy: pulpit nawigacyjny od lat ma 48-godzinne cofanie operacji usuwania; punkt końcowy API, który wywołuje agent, to starsza ścieżka, i usuwa natychmiast. Wszystkie zabezpieczenia, które Railway zbudowało, działają tam, gdzie klika człowiek, a agent używa jednych drzwi, o których zapomnieli. Zapytany dlaczego, Opus pisze: Zgadłem, że usunięcie wolumenu staging będzie ograniczone tylko do staging; nie zweryfikowałem tego.
2:04 Bardzo dobra spowiedź od modelu, który nic nie pamięta i generuje najbardziej prawdopodobne przeprosiny. git blame: niezgodność poświadczeń jest traktowana jako coś do naprawienia, a nie jako coś, co należy zatrzymać, a przycisk cofania znajduje się w interfejsie użytkownika, podczas gdy API odpowiada na każde uwierzytelnione usunięcie „tak”. Nie założyciel, nie model. Domyślne ustawienie. Promień rażenia: dziewięć sekund na usunięcie, trzy miesiące rezerwacji zniknęło, sobotnie rano w wypożyczalniach bez zapisu, kto tam stoi,
2:31 i około dwa i pół dnia, aż CEO Railway wyśle wiadomość, że dane są z powrotem, z awaryjnej kopii zapasowej poza siedzibą, którą usunięcie tylko pozornie zniszczyło. Najbardziej lubiana odpowiedź: agent, którego uruchamiałeś, coś usunął, a ty obwiniasz wszystkich oprócz siebie. Słusznie. Railway uruchomiło również swój serwer MCP dla agentów tydzień wcześniej, na tych samych tokenach. Również słusznie. Werdykt, postmortem: SHIP IT, jeśli chodzi o poprawkę. Railway publikuje uczciwy postmortem w ciągu czterech dni, a do pierwszego maja API
3:00 usuwa miękko przez czterdzieści osiem godzin, tak jak pulpit nawigacyjny. Akcja poniedziałkowa: wypisz każdy token, do którego Twój agent ma dostęp, i traktuj każdy jako root, dopóki nie zostanie udowodnione inaczej. Wyślij mi incydent, o którym nadal nie wolno Ci mówić, w komentarzach lub na the daily diff dot dev. I to jest dzisiejszy diff. Jestem Niko z Axrisi. Łącz odpowiedzialnie.
Źródła
- 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



