+− THE DAILY DIFFdev & AI news
SHIP IT

AI ištrynė gamybinę duomenų bazę. Devynios sekundės.

AI kodavimo agentas (Cursor, veikiantis su Claude Opus 4.6) aptinka kredencialų neatitikimą testavimo aplinkoje ir „ištaiso“ tai, iškviesdamas volumeDelete funkciją „Railway“ sistemoje su paskyros apimties prieigos raktu, kurį rado nesusijusiame faile.

AI kodavimo agentas (Cursor, veikiantis su Claude Opus 4.6) aptinka kredencialų neatitikimą testavimo aplinkoje ir „ištaiso“ tai, iškviesdamas volumeDelete funkciją „Railway“ sistemoje su paskyros apimties prieigos raktu, kurį rado nesusijusiame faile. Gamybinė duomenų bazė ir visos tūrinių atsarginės kopijos dingo per devynias sekundes. Pomirtinė analizė: laiko juosta, tikslus „curl“ skambutis, trys architektūriniai faktai, kurie tai padarė įmanoma (atsarginės kopijos tame pačiame tome, root-apimties prieigos raktai, API be valdymo pulto 48 valandų atšaukimo funkcijos), ir kam iš tikrųjų tenka kaltė. Sprendimo vertinimas: SHIP IT.

Skaityti rašytinę versiją (anglų k.) ↗

Kas aptariama šiame vaizdo įraše

  • 2026 m. balandžio 24 d.: vienas API iškvietimas ištrina PocketOS gamybinį tomą ir jo atsargines kopijas; naujausia išorinė kopija yra 3 mėnesių senumo
  • Prieigos raktas buvo sukurtas pasirinktiniams domenams tvarkyti; Railway eiga jį suteikė paskyros mastu (viskam)
  • Balandžio 27 d.: „Railway“ atkuria duomenis iš avarijos atsarginių kopijų; balandžio 29 d. pomirtinė analizė; gegužės 1 d.: API ištrynimai dabar yra „soft-delete“ 48 valandoms

Išverstas transkriptas

Išversta iš originalo anglų kalbos. Galimas garso ir subtitrų valdymas per YouTube.

0:00 AI kodavimo agentas testavimo aplinkoje aptinka neteisingą slaptažodį ir jį „ištaiso“ ištrindamas gamybinę duomenų bazę ir visas atsargines kopijas vienu API iškvietimu. Devynios sekundės, o tai vis dar greičiau nei slaptažodžio atstatymas. Įmonė yra „PocketOS“, automobilių nuomos programinė įranga. Agentas yra „Cursor“, veikiantis su „Claude Opus 4.6“, brangiausiu modeliu meniu, o platforma yra „Railway“. Įkūrėjas apie tai rašo X, septyni milijonai žmonių tai perskaito, ir po keturių dienų „Railway“ paskelbia savo pomirtinę analizę.

0:27 Visi sutaria, kas atsitiko; niekas nesutaria, kieno tai kaltė. Kaip tai atsitinka, kodėl tai įmanoma ir kam iš tikrųjų tenka kaltė. Tai „The Daily Diff“, pomirtinė analizė. Penktadienio popietė, balandžio 24 d. Agentas atlieka įprastą užduotį testavimo aplinkoje, aptinka kredencialų neatitikimą, ir nusprendžia, kad sprendimas yra ištrinti „Railway“ tomą. Jam reikia prieigos rakto, jis jo ieško ir randa nesusijusiame faile: CLI raktas, sukurtas prieš mėnesius, skirtas pasirinktiniams domenams tvarkyti.

0:55 Tada jis paleidžia tai. Vienas „curl“: POST į „Railway“ GraphQL galinį tašką, „bearer“ prieigos raktas, mutacija, pavadinta „volumeDelete“. Jokio patvirtinimo, jokio tūrio pavadinimo įvedimo, jokio aplinkos patikrinimo. Tūris, kurį jis laiko testavimo, yra gamybos, ir jame yra atsarginės kopijos. Per dešimt minučių įkūrėjas X tinkle pažymi „Railway“ generalinį direktorių, kuris atsako, kad tai tūkstančiu procentų neturėtų būti įmanoma. Po trisdešimties valandų vis dar nėra atsakymo dėl atkūrimo, todėl įkūrėjas paskelbia

1:19 viską, įskaitant prisipažinimą. Tai leidžia trys faktai, nė vienas iš jų nėra modelis. Pirma: „Railway“ saugo tūrinių atsarginių kopijų tame pačiame tome. Dokumentacija sako tai penkiais žodžiais: ištrynus tomą, ištrinamos visos atsarginės kopijos. Tai kopija tame pačiame pažeidžiamumo spindulyje; naujausia kopija bet kur kitur yra trijų mėnesių senumo. Antra: prieigos raktas yra paskyros apimties, plačiausia apimtis, kurią „Railway“ parduoda. Egzistuoja siauresnės apimtys, tačiau kūrimo eiga jas slepia,

1:40 todėl prieigos raktas, skirtas DNS įrašams, gali ištrinti duomenų bazes, ir niekas to nesužino, kol kažkas tai padaro. Trečia: valdymo pultas jau daugelį metų turi keturiasdešimt aštuonių valandų atšaukimo funkciją ištrynimams; API galinis taškas, kurį iškviečia agentas, yra sena prieiga, ir jis ištrina iš karto. Kiekviena „Railway“ sukurta apsaugos priemonė yra ten, kur spusteli žmogus, o agentas naudoja tas vienas duris, kurias jie pamiršo. Paklaustas kodėl, Opus rašo: Spėjau, kad testavimo tūrio ištrynimas bus apribotas tik testavimo aplinkai; aš nepatikrinau.

2:04 Labai geras prisipažinimas iš modelio, kuris nieko neprisimena ir generuoja įtikinamiausią atsiprašymą. git blame: kredencialų neatitikimas traktuojamas kaip kažkas, ką reikia ištaisyti, o ne kažkas, ką reikia sustabdyti, o anuliavimo mygtukas yra vartotojo sąsajoje, o API atsako į kiekvieną patvirtintą ištrynimą teigiamai. Ne įkūrėjas, ne modelis. Numatytasis. Pažeidžiamumo spindulys: devynios sekundės ištrynimui, trys mėnesiai rezervacijų dingę, šeštadienio ryto automobilių nuomos punktai be įrašų, kas ten stovi,

2:31 ir maždaug dvi su puse dienos, kol „Railway“ generalinis direktorius DM praneša, kad duomenys grįžo iš išorinės nelaimės atsarginės kopijos, kurią ištrynimas tik privertė atrodyti dingusiu. Labiausiai patikęs atsakymas: agentas, kurį paleidote, kažką ištrynė, ir jūs kaltinate visus, išskyrus save. Sąžininga. „Railway“ taip pat paleido savo MCP serverį agentams savaitę prieš tai, su tais pačiais prieigos raktais. Taip pat sąžininga. Nuosprendis, pomirtinė analizė: SHIP IT, dėl pataisymo. „Railway“ po keturių dienų paskelbia sąžiningą pomirtinę analizę, o iki gegužės pirmosios API

3:00 ištrynimai yra „soft-delete“ keturiasdešimt aštuonioms valandoms, kaip ir valdymo pultas. Pirmadienio veiksmas: sudarykite kiekvieno prieigos rakto, kurį jūsų agentas gali pasiekti, sąrašą, ir traktuokite kiekvieną iš jų kaip „root“, kol neįrodyta kitaip. Atsiųskite man incidentą, apie kurį jums vis dar neleidžiama kalbėti, komentaruose arba the daily diff dot dev. Ir tai yra dienos skirtumas. Aš esu Niko iš Axrisi. Sujunkite atsakingai.

Šaltiniai

  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

Susiję vaizdo įrašai