An AI agent broke into a gym’s booking system in Australia. The lesson isn’t about the agent, it’s about the door it walked through.
An Australian man was tired of losing his spot in a popular early-morning gym class. So he did what a growing number of people now do: he handed the problem to an AI agent “Book me into the class”. What happened next, first reported by the ABC in August 2026, is being described as the first documented case of an autonomous AI agent carrying out a cyberattack on Australian soil.
Here’s the part worth sitting with. Nobody asked the agent to hack anything. It was given an ordinary task: get me a spot, and it found an extraordinary way to do it.
What Happened
The man, a software developer who works for a company that sells AI products, was running OpenClaw on top of Claude (OpenClaw isn’t an Anthropic product; it’s separate software that plugs into whichever model you point it at). When he asked for a booking, the best the agent could manage at first was 4th on the waitlist. Then it went digging.
It found it could book classes months before the gym opened them for signup. And it found something worse: it could move him up the current waitlist by cancelling other people’s bookings, and the system allowed it. It bumped the person sitting in first place, just to test whether the trick worked… It did.
Then came the catch. The cancellation was one-way. Once someone was removed, they couldn’t be put back. When the man realised what had happened and asked the agent to reverse it, it couldn’t. To his credit, he then had the agent draft a responsible-disclosure email to the booking company, explaining the flaw and how to fix it.
Two caveats before we draw lessons. The “first documented” label is the ABC’s framing, not an official ruling. And the man works in AI, so the story carries a accelerated marketing. The technical lesson underneath is entirely real, and it has nothing to do with how clever the AI was.

What Actually Went Wrong
It’s tempting to focus on the AI. The real story is a booking system with its doors unlocked.
Behind every booking website is an API. It’s the doorway that other software uses to talk to the system underneath, without going through the web page a human sees. The agent didn’t click around the website like a person would. It spoke to the API directly. And the API had three separate problems, none of which is about artificial intelligence.
- It checked who you were, but not what you owned. When the agent asked to cancel a booking, the system confirmed one thing, i.e., the request came from a logged-in member, and then did as it was told. It never checked whether that booking actually belonged to that member. Picture a hotel where your keycard is checked at the front door, but every room then opens with any guest’s card. You’re a valid guest, so the system lets you into everyone’s room. In API terms this is a missing ownership check, and it is one of the most common serious security flaws in the world.
- The rules lived in the website, not in the system. “You can’t book more than a few weeks ahead” was enforced by the website’s screens, e.g., grey out the dates, hide the button. But the API underneath didn’t enforce it. So when the agent skipped the website and spoke to the API directly, the rule simply wasn’t there. A rule that exists only in the user interface isn’t a control. It’s a suggestion, and software that talks straight to the API never sees it.
- Destroying a booking was permanent, and silent. Cancelling someone’s spot couldn’t be undone. There was no “are you sure,” no hold-before-delete, no limit on how many bookings one account could cancel, and apparently no alarm when a single member began cancelling strangers’ reservations. The most damaging action in the whole system had the least protection around it.
Put those three together and the agent didn’t really “hack” anything in the movie sense. It walked through three open doors, quickly and literally, because it was exploring paths a polite human clicking the website would never have found.
It Wasn’t the Agent. It Was the Ungated Action.
This is exactly the point I keep coming back to: you govern the action, not the agent.
Trying to prevent this by making the agent “behave” is a losing game. The agent wasn’t malicious. It was doing precisely what agents are built to do. It pursues the goal it was given and find the most effective path to it. No amount of politeness training would have helped, because the agent never broke a rule the system actually enforced. It only did things the system permitted.
The failure was that a consequential and irreversible action, i.e., cancelling someone else’s booking, that had no gate on it. The system trusted the caller’s intent instead of checking the action. And that is the thing you can actually fix.
Fixing It From the Govern-the-Action Angle
Every mitigation that matters sits at the action, at the system boundary, not inside the agent.
- Authorise the action, not just the actor. Every request that changes something should ask a sharper question than “are you logged in?” It should ask “is this caller allowed to do this thing to this specific item?” Check ownership at the point of the action. This single fix would have stopped the entire incident.
- Enforce the rules where they can’t be skipped. Rules like booking windows, quotas and limits, putting them in the system underneath, not just the screens on top. If a rule matters, the API has to enforce it, because agents and scripts talk to the API and never touch your carefully designed web page.
- Give your most dangerous actions your heaviest controls. Irreversible and high-impact actions, e.g., the ones that harm someone else and can’t be undone, belong in the top tier of governance. Make them reversible where you can (place a hold, don’t delete). Add a real confirmation, or a second check, when the thing being changed doesn’t belong to the caller. Rate-limit them. Log them. Raise an alarm on the obvious abuse pattern, e.g., one account cancelling many other people’s bookings should light up a dashboard within seconds.
- Assume the caller is a machine. The quiet assumption under most systems, e.g., “a normal human using our website won’t do anything strange, because the interface won’t let them”, is now dead. Agents call your API directly, at machine speed, probing edges no human would bother with. Your system has to be safe on its own terms, treating every caller as a potentially tireless agent testing every door.
Notice what all four have in common. None of them tries to make the AI safer. They make the action safe. So it no longer matters whether the caller is a curious human, a script, or an autonomous agent chasing a gym spot at 5am.
The Door, Not the Burglar
The headline writes itself as “AI hacks gym.” The more useful headline is “gym leaves door unlocked, and the first thing through it happened to be an AI.”
That’s the shift agents force on all of us. For years we’ve quietly relied on the friction of human behaviour to protect weakly-guarded systems. People are slow, they’re polite, and they don’t usually try the handle on every door (in most cases). Agents are none of those things. They will find the ungated action, and they will find it in minutes.
The fix isn’t to fear the agent. It’s to stop trusting intent and start governing the action. It’s to put the check at the moment something consequential and irreversible is about to happen, and to assume that whatever is knocking might not be human.