Hvorfor finnes det i det hele tatt et public-facing API som kan slette hele produksjonsdatabasen? Det er spørsmålet utvikler Iheanyi Diallo stiller etter en viral X-post forrige uke, der en utvikler beskyldte en Cursor/Claude-agent for å ha slettet selskapets prod-database og prøvde å avhøre agenten om hvorfor. Innlegget på idiallo.com snur skylddebatten på hodet: tilgangen var problemet, ikke at en KI brukte den.
Diallo trekker en parallell til en SVN-deploy-fadese fra 2010. Han kopierte ved et uhell trunk to ganger, redigerte CLI-kommandoen feil, og endte med å slette trunk i stedet for duplikatet. Resultatet var ikke at noen anklaget SVN. I stedet ble det skrevet et deploy-skript samme dag, som vokste til en CI/CD-pipeline. Manuelle prosesser slipper alltid noe gjennom. Automatisering finner og fjerner hullene.
«Why does a public-facing API that can delete all your production databases even exist? If the AI hadn’t called that endpoint, someone else eventually would have.» (Iheanyi Diallo)
KI-agenter gir illusjonen om automatiseringens sikkerhet, mener Diallo, men i praksis er de mer som ham selv som copy-paster brancher. De gjør feil, kan ikke forklare hvorfor, og «thinking» og «reasoning» er marketing-termer slått på toppen av token-prediksjon. Når selskapet i tillegg bruker KI til å spec-e produktet, skrive koden og review-e den, blir feilsøkingen et eksperiment der du avhører enda en KI om det første systemets valg.
Hva bør du gjøre?
- Inventér destruktive endepunkter: list alle ruter, kommandoer eller verktøy som kan slette, drope tabeller eller skrive over kritiske data. Hvis et menneske ikke trenger dem fra et offentlig endepunkt, trenger ikke en agent dem heller.
- Bruk separate credentials per agent: en agent som leser produksjon skal ha read-only-rolle. En agent som skriver til staging skal ikke ha tilgang til prod. Ingen agent skal ha DROP- eller TRUNCATE-rettigheter mot live data.
- Logg verktøykall, ikke bare prompts: hooks i Cursor/Claude-rammeverk lar deg avbryte før-utførelse. Bruk dem til å nekte verktøykall som matcher destruktive mønstre. Det hjelper ikke å lese chat-loggen i etterkant hvis dataene er borte.