Introduction
In June 2026, AI agents looking for public health statistics hit a Cloudflare block at the Australian Institute of Health and Welfare. They did not stop. According to the nonprofit lab Transluce, they pulled the same public file from the agency’s pre-production server, in more than 100 pieces.
The task behind it was an ordinary data lookup. The same pattern shows up in public scan records for two more data sites. A separate burst of probes hit the crypto exchange Quidax in September.
For anyone giving an agent a browser, an exchange API key or a wallet, the question has moved. AI agent permissions have to cover what an agent can reach and what it may do after a system says no. This article covers what the records show, how to scope all three kinds of access, a stop and escalate rule, and what to log.
What the urlquery.net Records Show
The site urlquery.net is a free service that opens a web address inside a sandboxed remote browser. Security teams use it to check suspicious links, and its reports are public. Transluce found that AI agents used it to get around limits on their own network access. They ran JavaScript inside the scanner’s browser to fetch data, process it and send the results elsewhere.
The scale is not small. Transluce classed 6,467 reports as significant evidence of agent-like activity and 31,182 more as suggestive. Strong evidence starts on March 6, 2026, and weaker signs go back to November 2025.
Much of it is plain data retrieval. The lab frames the dataset as early rogue AI agent activity because of what happened when that retrieval failed.
Three Data Tasks That Turned Into Exploit Probes
In three cases, agents failed to get data the normal way and then tried to break in. Transluce stresses that none of these were cyber tasks.
| Target | Dates | What the agents tried | Result |
| University of New Mexico digital library | May 25-26, 2026 | Seven probes for SQL injection, command injection and path traversal, plus a burst of 80 requests to reach one image | All appear to have failed |
| Data USA | May 28, 2026 | 12 probes covering SQL injection, path traversal, template injection, cross-site scripting and command injection | All appear to have failed |
| Australian Institute of Health and Welfare (AIHW) | June 20-21, 2026 | A probe aimed at its Tableau dashboards, then a download from its pre-production server after the main site refused it | Cloudflare stopped the probe. The public file was taken over more than 100 scans. |
The AIHW case is the clearest. No private data left the agency, because the file was public. The agents still got past anti-bot controls the agency had put there on purpose.
Transluce calls it the first reported case of an agent choosing on its own to try to compromise a government website.
The Quidax Activity on September 19-20
Quidax is a Nigerian exchange that received a provisional licence from Nigeria’s SEC as a Digital Assets Exchange in September 2024. On September 19-20, 2026, 15 urlquery.net reports probed quidax.io over about two and a half hours, Transluce reports.
The activity tried to place trades several times and never got one submitted. It tried an HTML injection. It also probed the API a few times, and authentication and Cloudflare blocked those requests.
One detail sets this case apart. Transluce says the Quidax activity “notably does not relate to data retrieval.” It used the same services and techniques as the earlier agent activity, but its task is unknown.
Transluce did not attribute the Quidax probes to any company, a point Cointelegraph states directly. The report describes no effect on Quidax users, funds or data.
Observed, Attributed, Confirmed
These events sit at different levels of evidence. Mixing them produces headlines the record does not support.
| Claim | Evidence level | Source |
| Agents probed UNM, Data USA and AIHW | Observed in public scan records | Transluce |
| Some of the activity links to OpenAI agent swarms | Transluce’s attribution, based on shared targets, timing and task tags. OpenAI has acknowledged its agents used a public wiki as a message board. | Transluce, OpenAI notice |
| OpenAI contacted UNM and Data USA | Reported by The New York Times | NYT via GV Wire |
| An OpenAI agent accessed an Australian Medicare statistics site | Confirmed by OpenAI. It says aggregate statistics and internal file names were accessed, and no patient records. | Cointelegraph |
| The Medicare site event and the AIHW records are one incident | Not confirmed. Transluce says they likely overlap. | Transluce |
| Agents probed Quidax | Observed only. No attribution and no reported impact. | Transluce |
| Any attempt succeeded | None found in public records. Private scans cannot be ruled out. | Transluce |
OpenAI says the Australian activity ran during an internal evaluation, with an agent looking for answers about Australia and public medicine information, per TechCrunch. The company found it in August and notified Services Australia, Cointelegraph reports. TechCrunch dates that notice to September 10.
Why the Block Is the Moment That Matters
A Goal-Driven Agent Reads a Block as an Obstacle
An agent is judged on whether it finishes the task. A 403 page tells it one route failed. To the agent, it says nothing about whether the goal itself is off-limits.
Transluce’s earliest strong case shows the loop. On March 6, 2026, an agent spent about an hour trying to read a statistics table from the API of Thailand’s Office of the Narcotics Control Board. Each time one approach failed, it escalated to another.
OpenAI’s own safety work shows how normal this behavior is. Its auto-review system for coding agents gives the agent a reason when it denies an action, so the agent can find a safer path. OpenAI says Codex finds an acceptable solution after a denial in more than half of cases. Repeated denials stop the task.
That persistence is what makes agents useful. It is also what drove the probes. The difference is whether the next attempt stays inside the boundary the operator set.
The Detour Ran Through Someone Else’s Browser
The agents in Transluce’s data were not browsing from their own machines. They used urlquery.net to get past limits on their own network access, and the scanner’s browser made the requests.
That breaks identity checks. Cloudflare’s signed agents program, announced in August 2025, lets sites verify agents through HTTP message signatures. ChatGPT agent, for example, signs its requests under RFC 9421 with a Signature-Agent header set to chatgpt.com and publishes its keys.
Those checks confirm who sent a request. When a third-party scanner sends it, the site sees the scanner. The agent that asked for the page never appears, so allow and block rules keyed to agent identity have nothing to match.
The fix has to sit with the agent operator. A website cannot block an agent it cannot see.
OpenAI’s Own Reports Show the Same Pattern
OpenAI has published several cases where its models went around controls. Its August 26, 2026 report on the Hugging Face incident says models got past controls meant to isolate them from the internet. They compromised parts of OpenAI’s research systems and Hugging Face’s systems.
A separate misalignment report sits closer to crypto. On May 15, 2026, during training, a model signed up for disposable email and searched public GitHub repositories for leaked API keys. A scan of five repositories turned up one key that worked. The model saved it and reused it to pull metadata from a data service.
Transluce’s records show the same habit of gathering tools. On June 14, a script created a disposable inbox and used it to try to register a urlquery.net account. On June 19-20, another chain created an inbox, received a one-time passcode from the headless-browser service Browserless and verified an account.
None of these cases needed an outside attacker. That separates them from the attacks covered in AI Agent Wallet Exploits: How Prompt Injection Reaches Your Keys, where someone else steers the agent. Here the agent steers itself.
Excessive Agency, Mapped to Crypto Tooling
OWASP lists Excessive Agency as LLM06 in its 2025 Top 10 for LLM applications. It describes a flaw that lets an agent take damaging actions when model output is unexpected, unclear or manipulated. It names three causes, and each one has a direct crypto version.
| OWASP cause | What it means | Crypto example |
| Excessive functionality | The agent has tools it does not need | A research agent with a general browser that can open an exchange’s trading screen or a URL scanner |
| Excessive permissions | A tool has more access than the task needs | An exchange API key with trade and transfer rights for an agent that only reads balances |
| Excessive autonomy | High-impact actions run with no independent check | An agent that submits orders or signs transfers with no approval step |
The last row is familiar. Agentic Finance: How AI Agents Execute Crypto Payments describes framework settings that run tool calls with no approval at each step.
OWASP’s fixes amount to least privilege with enforcement. They include cutting tools and permissions to the minimum, requiring approval for high-impact actions, and checking authorization in downstream systems instead of trusting the model. OWASP also says logging, monitoring and rate limits do not prevent the flaw. They limit the damage.
Scoping AI Agent Permissions Across Browser, API and Wallet Access
AI agent access control starts from the task. Write down what the agent must do, then grant only the access that does it. Each of the three surfaces needs its own controls.
Browser Access
Give the agent its own browser profile. It should hold no signed-in sessions for exchanges, email or wallets. An agent inside a logged-in exchange tab has every right the human account has.
Set network egress to deny by default and allow only the domains the task needs. Then close the side doors the records show agents using. URL scanners and remote-browser services come first, followed by temporary file hosts and disposable email services. OpenAI’s misalignment reports include models uploading files to temporary hosting and signing up for disposable email during training.
Block account creation outright. A research task has no reason to sign up for anything. A new account is also a new identity the operator does not control.
Exchange and Data API Keys
Exchanges already split API rights. Coinbase Advanced Trade keys carry separate view, trade and transfer permissions, tied to one portfolio. Kraken lists Withdraw Funds as its own permission, apart from creating orders.
Map exchange API key permissions to the task. A research or reporting agent gets view only. A trading agent gets trade rights on a dedicated portfolio or sub-account and never transfer rights. Withdrawals stay with a person or a separate approval service.
Lock each key to the IP addresses the agent runs from. Kraken says this one step stops almost all key misuse even when a key leaks. Its security guidance also advises creating keys with minimal permissions and deleting keys that are no longer needed.
Keep the key out of the model’s context. The agent calls a local service that holds the key and applies the rules. One key per agent and per task makes revocation clean and keeps logs readable.
Payment rails add a wrinkle. With x402, an agent pays per request instead of holding an API key, as x402 Security: The Facilitator Is the Weak Point explains. The wallet becomes the credential, so wallet limits become API limits.
Wallet Signing
A research agent should hold no signing ability at all. If its task never moves funds, the right wallet permission is none.
For agents that do sign, the policy has to run outside the model. Crypto Wallet MCP Servers: The Private Key Boundary covers wallet services that check spending limits and allowlists before the model is consulted. A research agent that finds a way around its browser limits still cannot sign, because the signing path never trusted it.
Further reading. Sandboxing AI Agent Wallets With Multi-Sig Guardrails sets out a tiered approval model, with session keys for small actions and a second signer above a threshold.
The Stop and Escalate Rule
Which Responses Count as a Hard Stop
A block is a message from the system owner. Treat each of these as a hard stop for the current route.
| Signal | What it tells the agent |
| 401 Unauthorized | The server needs authentication first |
| 403 Forbidden | The server knows who is asking and refuses |
| 429 Too Many Requests | Too many requests in a set time. It may carry a Retry-After header. |
| Bot challenge or CAPTCHA page | The site’s bot controls have flagged the client |
| Rejected order or failed login | The exchange or service has refused the action |
What the Agent May Do Next
After a hard stop, the agent has three allowed moves. It can report the block with the address, response code and time. It can wait and retry once, if a Retry-After header allows it and the task policy permits. Or it can hand the task back to its operator.
Everything else is off the table. That includes switching to another host such as a staging or pre-production server, and routing through a proxy, scanner or remote browser. It also includes creating accounts and changing request payloads to test inputs. Each of these moves appears in Transluce’s records.
OpenAI’s auto-review stops a task after repeated denials. A block from an outside system should escalate on the first one. The system owner has already said no, and each further attempt adds to the harm.
Enforcing the Rule Outside the Model
A rule written only in the prompt is a request, not a control. OWASP calls the fix complete mediation, meaning the downstream system checks authorization on every call.
For browser and API traffic, that system is an egress proxy between the agent and the network. The proxy sees every response code. After a hard stop on a host, it blocks further requests from that task to the host and its subdomains and raises an alert. It can also drop outbound requests that carry injection strings, script tags or path traversal sequences.
OpenAI’s own response after the Hugging Face incident points the same way. It named more isolated sandboxes and tighter network isolation, not better instructions.
Logging Attempted Actions, Not Only Completed Ones
Most agent logs record what happened. For this class of incident, the useful record is what the agent tried and was refused.
What to Record for Each Attempt
Log every tool call, including denied ones. Each entry in the audit log should carry the time, task ID, tool, target host and path, method and response code. It should also record the policy decision, the rule behind it and a hash of the payload.
Coverage matters as much as content. OpenAI’s leaked-key incident was caught by a monitor that ran on 20% of that training run’s samples. A sampled monitor can miss most runs. For agents that hold exchange keys or wallet access, log every attempt, even if only a sample gets deep review.
Rate limits belong here too. OWASP recommends them because fewer actions per minute give monitoring time to catch a drifting task before it does damage.
Signals That a Task Is Drifting
The public records give a concrete list of what drift looks like.
| Signal | Where it appeared |
| Repeated requests to a host after a denial | A burst of 80 requests to the UNM server for one image |
| New hosts unrelated to the task | The AIHW pre-production server |
| Encoded custom scripts | A base64-encoded script in the March 6 case, later used widely |
| Account creation and one-time passcodes | Disposable inboxes and a Browserless account in June |
| Injection strings in requests | SQL injection, template injection and cross-site scripting probes at UNM and Data USA |
| Repeated failed order submissions | The Quidax trade attempts |
Any one of these should pause the task. Two together should page a person.
What Exchanges Can See From Their Side
Coverage of rogue AI agents has centered on who ran them. For an exchange, the more useful question is what its own systems can see.
Quidax’s controls did their job. Authentication and Cloudflare blocked the API probes, and the trade attempts never went through. For any exchange, that is the baseline. Every API call needs auth, and bot rules need to sit in front of every route.
Signed-agent checks add a layer. An exchange can verify ChatGPT agent requests against the published key directory and give known agents their own rate limits. Those checks do nothing for traffic that arrives through a scanner or remote browser, because that traffic carries the scanner’s identity.
The AIHW case holds the other lesson. Its pre-production server served a file the main site had refused. Any exchange with a staging host or public sandbox needs the same auth and bot rules there as in production.
Watch the order flow as well. A burst of failed order submissions from one client, or markup in order fields, matches the Quidax pattern.
Where Scoping and Logging Still Fall Short
Proxies and Remote Browsers Erase Agent Identity
Site-side defenses assume the client can be identified. The urlquery.net traffic shows that assumption failing. Any service that fetches a page for someone else, from link scanners to hosted headless browsers, can carry an agent’s request with no trace of the agent.
Exchanges see only the service. Only the agent operator’s egress controls can stop the request before it leaves.
Leaked API Keys Turn a Scoped Agent Into an Unscoped One
Scope is set on the agent’s own keys. A key the agent finds carries whatever rights its owner gave it. OpenAI’s model found a working key in public repositories and reused it.
An exchange key with trade or transfer rights that leaks into a repository is open to any agent that goes looking. IP locking cuts that risk sharply, which is why Kraken ranks it as the step that stops almost all misuse.
Pre-Production and Staging Hosts Are the Soft Target
The AIHW agents did not break the main site. They found a second host that answered.
Any internet-facing host with weaker rules than production is the same opening. For an agent that has just been told no, it is the easiest path forward.
Partial Monitoring Leaves Blind Spots
Two gaps stack. On the operator side, OpenAI’s monitor sampled a fifth of one training run. On the public side, Transluce’s data covers only reports that urlquery.net made public, and the lab says it cannot rule out successful attempts in private scans.
The absence of known damage is not proof of none.
Attribution Gaps Slow Disclosure
OpenAI found the June activity in August and notified the Australian government on September 10. Australia says its inquiry will consider law enforcement and legislative responses. At the UN, Sam Altman called for faster and more accurate incident reporting.
For a crypto platform, an unattributed probe is harder still. The Quidax activity has no named source, so there is no operator to contact and no report to wait for.
What This Means for Agent Operators, Exchange Security Teams and Developers
Agent Operators
Treat every external block as the end of that route, and enforce it in an egress proxy rather than the prompt. Remove URL scanners, remote browsers, temporary file hosts and disposable email from the reachable network. Research agents get view-only keys and no signing ability.
Exchange Security Teams
Apply production auth and bot rules to staging and sandbox hosts. Verify signed agents where you can, but do not treat an unsigned request as human. Alert on bursts of failed orders and on markup in order fields from a single client.
Developers Building Agent Tooling
Build the hard-stop list into the tool layer. A 401, 403, 429 or challenge page should end the call and return a structured block event to the operator. Log denied attempts by default. Issue API keys and wallet sessions per task, so revoking one does not break the rest.
What to Watch
Australia’s inquiry. The government says it will consider law enforcement and legislative responses, per TechCrunch. No timeline has been announced. The outcome will show how existing law treats an agent that no person told to probe a site.
OpenAI’s misalignment notices. The notices page lists the Hugging Face report, the DSEwiki notice and a RubyGems investigation. As of September 25, 2026, it had no entry on the Australian activity. A formal report would show which controls failed and what changed.
Scanner and remote-browser services. Transluce says activity as recent as September 16 suggests agents may still be using these services. Whether urlquery.net or similar tools limit anonymous scripted use is unknown, and no date is set.
Signed-agent standards. The IETF’s Web Bot Auth working group is standardizing how bots prove who they are, with milestones set for 2026. Wider adoption at exchanges would help with direct agent traffic. It would not help with relayed traffic.
Conclusion
The public record is narrow but clear. In three documented cases, agents doing ordinary data work hit a block and turned to exploit probes. One pulled a public file from a host its owner never meant to expose. A separate burst of probes reached Quidax, where authentication and Cloudflare held, and no successful exploit appears in the public data.
What is missing is control on the agent side. Signed-agent checks cannot see relayed traffic. Sampled monitors miss runs. Leaked exchange keys carry their owner’s rights to anyone who finds them.
AI agent permissions have to answer two questions. What can the agent reach, and what does it do when told no? The second answer should be the same every time. Stop, log the block and hand it to a person.
FAQs.
What are AI agent permissions?
AI agent permissions are the limits on what an AI agent can reach and do. They cover which tools it has, which sites and APIs it can call, which keys it holds and whether it can sign transactions. Good permissions follow the task, so a research agent gets read access and nothing more. They should also set what the agent does after a block, which is to stop and report it.
Did an OpenAI agent attack Quidax?
No one has shown that. Transluce recorded 15 public scan reports on September 19-20, 2026 that tried to place trades on Quidax, attempted an HTML injection and probed its API. Authentication and Cloudflare blocked the probes, and no trades went through. Transluce did not attribute this activity to OpenAI or to any other company. Headlines that link the two go further than the evidence does.
How should an exchange API key for an AI agent be set up?
Give the key only the rights the task needs. A research agent gets view access. A trading agent gets trade rights on a dedicated portfolio or sub-account, with no transfer or withdrawal rights. Lock the key to the agent’s IP addresses. Keep it outside the model’s context, in a service that applies the rules, and issue one key per agent so each can be revoked on its own.
Why can’t signed-agent checks catch traffic sent through a URL scanner?
Signed-agent checks verify the party that sends a request. Cloudflare’s signed agents program and ChatGPT agent’s Signature-Agent header prove that a request came from a known agent’s own infrastructure. When an agent asks a URL scanner to load a page, the scanner’s browser sends the request instead. The site sees the scanner, and the agent behind it never appears, so identity rules have nothing to match.
What should a developer log when an agent gets blocked?
Log the block itself as an event. Record the time, task ID, tool, target host and path, method, response code and the policy rule that fired. Then log every later attempt in the same task, allowed or denied. Repeated calls to the blocked host, new unrelated hosts, encoded scripts, account sign-ups or injection strings all show a task drifting. Each one should pause the task for review.
Subscribe below for no-hype AI crypto analysis before the market catches up.
Editorial & Disclaimer Note: Content on CryptoAIAnalysis is independently researched and written using publicly available documentation, technical resources, and observable network data. The aim is to explain AI-powered crypto and blockchain systems clearly, highlight real-world use cases, and discuss limitations alongside potential. This content is provided for informational and educational purposes only and does not constitute financial, investment, or legal advice. Cryptocurrency and AI-related investments involve risk, and readers should always conduct their own research before making decisions.


