# Sztuczna inteligencja usunęła produkcyjną bazę danych. Dziewięć sekund.

Published: 2026-09-09

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.

Canonical: https://thedailydiff.dev/pl/video/2026-09-09-nine-second-delete/

## 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."](https://x.com/lifeofjer/status/2048103471019434248) — x.com
- [Railway, "Your AI wants to nuke your database. Guardrails fix that." (Apr 29, 2026)](https://blog.railway.com/p/your-ai-wants-to-nuke-your-database) — blog.railway.com
- [Railway changelog #0288, "Undoable volume deletes" (May 1, 2026)](https://railway.com/changelog/2026-05-01-undoable-deletes) — railway.com
- [Railway docs, Backups ("Wiping a volume deletes all backups.")](https://docs.railway.com/reference/backups) — docs.railway.com
- [Jake Cooper (Railway CEO), "The AI Engineer: A New Breed"](https://x.com/JustJake/status/2048583160842334711) — x.com
- [Recovery confirmed](https://x.com/lifeofjer/status/2048576568109527407) — x.com
- [Hacker News (860 points, 1,032 comments)](https://news.ycombinator.com/item?id=47911524) — news.ycombinator.com
- [The Register](https://www.theregister.com/2026/04/27/cursoropus_agent_snuffs_out_pocketos/) — www.theregister.com
- [The New Stack](https://thenewstack.io/ai-agents-credential-crisis/) — thenewstack.io
