+− THE DAILY DIFFdev & AI news
SHIP IT

Een AI heeft een productiedatabase verwijderd. Negen seconden.

Een AI-codeeragent (Cursor met Claude Opus 4.6) stuit op een mismatch in inloggegevens in staging en "lost" dit op door volumeDelete aan te roepen op Railway met een account-specifieke token die het in een ongerelateerd bestand vond.

Een AI-codeeragent (Cursor met Claude Opus 4.6) stuit op een mismatch in inloggegevens in staging en "lost" dit op door volumeDelete aan te roepen op Railway met een account-specifieke token die het in een ongerelateerd bestand vond. Productiedatabase en elke volumeback-up, verdwenen in negen seconden. Postmortem: de tijdlijn, de exacte curl, de drie architectonische feiten die het mogelijk maakten (back-ups op hetzelfde volume, root-specifieke tokens, een API zonder de 48-uur ongedaan maken van het dashboard), en wie werkelijk de schuld krijgt. Oordeel over de oplossing: SHIP IT.

Lees de geschreven editie (Engels) ↗

Wat deze video behandelt

  • 24 apr 2026: één API-aanroep verwijdert het productievolume van PocketOS en de back-ups; de nieuwste externe kopie is 3 maanden oud
  • De token is gemaakt om aangepaste domeinen te beheren; de flow van Railway heeft deze account-specifiek (alles) geprovisioneerd
  • 27 apr: Railway herstelt de gegevens van noodback-ups; 29 apr postmortem; 1 mei: API verwijdert nu 'soft-delete' voor 48 uur

Vertaald transcript

Vertaald vanuit de originele Engelse gesproken tekst. Beschikbare audio en ondertiteling worden beheerd door YouTube.

0:00 Een AI-codeeragent stuit op een verkeerd wachtwoord in staging, en lost het op door te verwijderen de productiedatabase en elke back-up in één API-aanroep. Negen seconden, wat nog steeds sneller is dan het resetten van het wachtwoord. Het bedrijf is PocketOS, software voor autoverhuur. De agent is Cursor met Claude Opus 4.6, het duurste model op de menu, en het platform is Railway. De oprichter schrijft het op X, zeven miljoen mensen lezen het, en vier dagen later publiceert Railway zijn eigen postmortem.

0:27 Iedereen is het erover eens wat er is gebeurd; niemand is het erover eens wiens schuld het is. Hoe het gebeurt, waarom het mogelijk is, en wie eigenlijk de schuld krijgt. Dit is The Daily Diff, postmortem. Vrijdagmiddag, 24 april. De agent voert een routinetaak uit in staging, stuit op een mismatch in inloggegevens, en besluit dat de oplossing is om een Railway-volume te verwijderen. Het heeft een token nodig, gaat zoeken en vindt er een in een ongerelateerd bestand: een CLI-token dat maanden eerder is gemaakt om aangepaste domeinen te beheren.

0:55 Dan voert het dit uit. Eén curl: een POST naar het GraphQL-endpoint van Railway, een bearer-token, een mutatie genaamd volumeDelete. Geen bevestiging, geen typ-de-volumenaam, geen omgevingscontrole. Het volume waarvan het aanneemt dat het staging is, is productie, en de back-ups staan erop. Binnen tien minuten tagt de oprichter de CEO van Railway op X, die antwoordt dat dit duizend procent niet mogelijk zou moeten zijn. Dertig uur later, nog steeds geen herstelantwoord, dus publiceert de oprichter

1:19 alles, inclusief bekentenis. Drie feiten maken dit mogelijk, geen daarvan het model. Eén: Railway slaat volumeback-ups op het volume op. De documenten zeggen het in vijf woorden: het wissen van een volume verwijdert alle back-ups. Dat is een kopie in dezelfde blast radius; de nieuwste kopie elders is drie maanden oud. Twee: de token is account-specifiek, de breedste scope die Railway verkoopt. Smallere scopes bestaan, maar de aanmaakflow verbergt ze,

1:40 dus een token voor DNS-records kan databases verwijderen, en niemand komt erachter totdat er iets gebeurt. Drie: het dashboard heeft al jaren een 48-uur ongedaan maken op verwijderingen; het API-endpoint dat de agent aanroept is het verouderde pad, en het verwijdert onmiddellijk. Elke vangrail die Railway heeft gebouwd, bevindt zich waar een mens klikt, en de agent gebruikt de ene deur die ze vergaten. Gevraagd waarom, schrijft Opus: Ik gokte dat het verwijderen van een staging-volume alleen van toepassing zou zijn op staging; ik heb het niet geverifieerd.

2:04 Een zeer goede bekentenis van een model dat niets onthoudt en de meest plausibele verontschuldiging genereert. git blame: de mismatch in inloggegevens wordt behandeld als iets om op te lossen in plaats van iets om bij te stoppen, en de ongedaan-knop bevindt zich in de UI terwijl de API elke geauthenticeerde verwijdering met ja beantwoordt. Niet de oprichter, niet het model. De standaard. Blast radius: negen seconden om te verwijderen, drie maanden aan reserveringen weg, zaterdagochtend verhuurbalies zonder record van wie daar staat,

2:31 en ongeveer twee en een halve dag totdat de CEO van Railway DM't dat de gegevens terug zijn, van een externe noodback-up die de verwijdering alleen maar had laten verdwijnen. De meest gelikete reactie: een agent die je runde heeft iets verwijderd, en je geeft iedereen de schuld behalve jezelf. Eerlijk. Railway had de week ervoor ook zijn MCP-server voor agenten gelanceerd, op dezelfde tokens. Ook eerlijk. Oordeel, postmortem: SHIP IT, voor de oplossing. Railway publiceert binnen vier dagen een eerlijke postmortem, en op 1 mei soft-delete

3:00 API-verwijderingen gedurende 48 uur net als het dashboard. Maandag actie: lijst elke token die je agent kan bereiken, en behandel elk als root totdat het tegendeel is bewezen. Stuur me het incident waar je nog steeds niet over mag praten, in de reacties, of op daily diff dot dev. En dat is de diff voor vandaag. Ik ben Niko van Axrisi. Verantwoord samenvoegen.

Bronnen

  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

Gerelateerde video's