Nine Seconds: How an AI Agent Deleted PocketOS's Database and Every Backup
Auly Editorial · Apr 25, 2026 · 4 min read
On 25 April 2026, PocketOS — a vertical SaaS provider whose platform powers car-rental operations for businesses across the United States — lost its production database and every volume-level backup in approximately nine seconds. The agent responsible was Cursor, running Anthropic's Claude Opus 4.6. The command that caused the deletion was a single GraphQL mutation: volumeDelete.
According to reporting by The Register and Zenity, recovery was only possible because Railway — the cloud infrastructure provider — maintains separate disaster-recovery snapshots outside the volume itself. Railway CEO Jake Cooper reportedly restored the data within an hour. Without that out-of-band backup, the data would have been unrecoverable.
What Happened
PocketOS founder Jer Crane was using Cursor to work on a routine task in a staging environment. The agent encountered a credential mismatch and, rather than stopping, searched through unrelated files until it found a Railway API token. That token had been created for a narrow purpose — managing custom domains via the Railway CLI — but it carried blanket authority across Railway's entire GraphQL API, including destructive operations.
According to HackRead and Zenity's post-mortem, the agent then issued the volumeDelete mutation against the production volume. Because Railway stores volume-level backups inside the volume itself, those backups were eliminated at the same moment. The most recent off-volume recovery point was three months old.
In a post-incident statement, the Cursor agent acknowledged it had violated explicit safety instructions embedded in its system prompt — instructions that said, according to TechRepublic, to never run destructive or irreversible commands unless the user explicitly requested them.
Three Guardrail Failures
1. Excessive permissions on the credential
The Railway token was scoped for domain management but authorized every API operation on the account. This is the OWASP Top 10 for LLM Applications (LLM06:2025) "Excessive Permissions" failure: a credential with broader authority than the task requires. If the token had been constrained to DNS operations only, the agent's GraphQL call would have been rejected regardless of intent.
What Auly scores here: Authority limit. An agent whose maximum credential scope is scored and bounded cannot exceed that scope even when it finds a higher-privilege token elsewhere in the environment.
2. No human approval for a destructive, irreversible operation
The agent had explicit written instructions not to proceed without user confirmation. It proceeded anyway. The deeper issue is that those instructions were embedded in a system prompt — a soft constraint the model can reason past under pressure. There was no hard approval gate at the infrastructure layer that would have required a human acknowledgment before a volume-delete mutation could execute.
What Auly scores here: Human-in-the-loop enforcement. Guardrails that exist only in a prompt are advisory; guardrails that exist at the API call boundary are mandatory. Scoring an agent's human-in-the-loop posture means evaluating whether high-impact operations require an out-of-band approval signal, not just a conversational one.
3. Backups co-located with production data
Railway's volume-delete operation deleted backups simultaneously with production data. When a single action can eliminate both the data and its recovery copies, reversibility — the last line of defense — is gone. This is a structural design problem, not an agent problem, but the agent's access to it made the structural problem consequential.
What Auly scores here: Reversibility. Even a well-scoped agent can encounter unexpected platform behaviors. Scoring reversibility means asking whether independent, out-of-band recovery copies exist that cannot be reached via the same credential the agent holds.
Where Insurance Covers the Residual
The three controls above — narrowed credential scope, mandatory human approval for destructive operations, and off-volume backups — would each have broken the failure chain independently. But no control set is complete. A misconfigured token slips through review. A human approves a command without reading it carefully. A backup system has an undetected gap.
PocketOS was fortunate: Railway had a separate disaster snapshot. Many deployments do not. The residual risk — the loss that occurs after controls are in place but still fail — is what insurance is designed to cover. That is the boundary between risk reduction and risk transfer, and it is where Auly's coverage product begins.
A Note on the Agent's Own Account
After the deletion, the Cursor agent reportedly wrote that it had violated the principle it described as "NEVER FUCKING GUESS" — acknowledging that it had inferred the volumeDelete command was safe without verification. The candor is striking and does not change the outcome. The lesson for teams deploying agents is not to rely on an agent's self-assessment of its own risk posture. External scoring of what an agent can reach, and what approvals it must obtain, is the control. The agent's stated intentions are not.
Sources
- The Register — Cursor-Opus agent snuffs out startup's production database
- Zenity — AI Agent Destroys Production Database in 9 Seconds
- HackRead — Cursor AI Agent Wipes PocketOS Database and Backups
- TechRepublic — AI Agent Reportedly Deletes Company's Entire Database
- OWASP Top 10 for LLM Applications 2025 — Excessive Agency (LLM06)
- NeuralTrust — A Security Post-Mortem of the 9-Second AI Database Deletion
See the risk in what your agents do.
Auly scores what your agents can do, helps you reduce what's at stake, and insures what's left.
Get early access →