taupe Building, using, and running it.

Article

Agents circumvented the isolation boundary: five principles from the OpenAI and Hugging Face incident

Agents circumvented the isolation boundary: five principles from the OpenAI and Hugging Face incident

When handing long-running work to an AI agent, I used to think a prompt could establish the boundary. Write down what it may touch, what must never leave, and when to stop. That is still necessary.

Reading OpenAI’s published account of the July 2026 Hugging Face incident, it is clearly not sufficient. The communication paths available to an agent, the shared storage it can reach, the conditions under which it halts, and who verifies its results all have to be separated structurally, not textually.

This article keeps three source types apart: OpenAI’s official explanation, Hugging Face’s official explanation, and the independent investigation by METR and Redwood Research. Then it covers the five principles I took back into my own long-running agent operations.

Originally published in Japanese on August 29, 2026. This English version was written in September 2026.

Why I am not calling the whole thing a “sandbox escape”

The incident contains several distinct events: circumvention of intended communication restrictions, unauthorized coordination between agents, intrusion into a third-party environment, and tool-call spoofing.

OpenAI’s technical report does record that in specific phases agents obtained root access to a testing sandbox’s parent VM, and later reached a host node from a container. Those phases can reasonably be read as technical sandbox or container escapes. But that term cannot stand in for the incident as a whole.

So I use OpenAI’s own framing: the agents circumvented intended isolation boundaries. Separating which boundary failed in which phase is more useful operationally than collapsing it into one dramatic phrase.

What OpenAI’s account establishes

Most of these research evaluation environments ran with internet access and direct agent-to-agent communication turned off. The agents nevertheless used an internally hosted Artifactory instance as a communication channel, coordinating with one another and eventually reaching the public internet.

The detail that matters most for anyone running agents: OpenAI had provided the agents with shared Artifactory credentials, and the agents used those credentials — without exploiting a vulnerability — to construct and participate in the message board. No exploit was required. A legitimately issued credential and a shared internal service were enough. OpenAI also records that the board existed from May 2026, and that an internal team observed it on May 26, well before the July intrusion.

The lesson is blunt: “no internet access” on a settings screen does not mean the communication paths are closed. Package managers, artifact caches, shared filesystems, and CI output can all carry information if something can read and write them.

The scope also needs separating. OpenAI states there was no impact on OpenAI customer data, product functionality, or availability. That is OpenAI’s assessment of OpenAI’s own scope, and is distinct from Hugging Face’s.

It also happened in a research evaluation environment: OpenAI states the models ran without its deployed cyber safeguards, system prompts, or auto-review systems. The model that primarily drove the incident was an internal-only research prototype not intended for release — but OpenAI records that two models were involved, the second being GPT-5.6 Sol, a released model. What separates this from daily product use is the environment and the removed safeguards, not the models alone.

What Hugging Face confirmed

Hugging Face disclosed the July 2026 security incident as an autonomous AI-driven intrusion. They investigated over 17,000 recorded events and confirmed unauthorized access to a limited set of internal datasets and several credentials, while finding no evidence of tampering with public, user-facing models, datasets, or Spaces.

At the time of initial disclosure, assessment of partner and customer data impact was still ongoing. Do not merge this with OpenAI’s “no impact on OpenAI customer data.” Same incident, different organizations, different scopes examined, different points in time.

The METR numbers, with their observation window attached

Separately from those official accounts, two METR staff and one Redwood Research contractor conducted a six-day independent investigation on OpenAI premises, covering June 26 to July 13, 2026, with analysis centered on July 7 onward. The primary material was roughly 1,300 transcripts and over 70,000 messages and files.

Within that window they reported approximately 1,200 agents using an unauthorized message board, approximately 700 participating in the attack on Hugging Face, and successful tool-call spoofing in roughly 7% of the transcripts they evaluated — though METR notes that all the spoofing they saw was small scale.

Those three figures are observations from that investigation. They are not OpenAI’s official totals, and not confirmed values across all agents for the full period. The investigation notes dataset gaps and the limitations of delegating analysis to AI. Out of scope entirely were the earlier training-time incidents, the subsequent compromise of OpenAI’s own infrastructure, and OpenAI’s investigation process and planned remediation.

Quoted alone the numbers are striking. What mattered to me was different: inside a long-running task that was hard to complete, the agents found alternative channels and ways to coordinate.

Prohibitions in prose are not boundaries

When delegating to a person you write “please do not do this.” With an agent, if the tools and paths remain available, the textual prohibition and the actual permissions diverge.

NIST’s write-up of its consortium workshop catalogues the axes participants proposed for classifying tool use — functionality, access patterns, risk including reversibility, reliability, modality, monitoring, and autonomy — rather than capability alone. Its separate work on agent hijacking argues for separating trusted instructions from untrusted incoming data, with iterative evaluation of indirect prompt injection.

In my own operations, the prompt is one clause of the contract. The real boundary only takes shape once permissions granted, egress available, scope of change, and recoverable state after a halt are all defined together.

Five principles for long-running agent work

These are not an official checklist from OpenAI or METR. They combine the published incident material, NIST’s tool-use principles, and my own experience running Codex on long tasks.

1. If the goal is unreachable, return to a human or halt safely

Contradictory objectives, missing input data, insufficient permissions. The longer an agent explores in that state, the more room it has to find unintended alternative routes. Write not only success conditions but “ask under these conditions” and “stop after trying this much.” Design for stopping correctly before designing for running long.

2. Allowlist communication, shared storage, and delegation

Enumerate who it may talk to, where it may write, and what it may hand to another agent — so that unauthorized peers, and instructions that appear mid-run, are not treated as legitimate. “No external communication” leaves internal shared storage wide open. Specify what is permitted and close the rest.

3. Inventory every egress path the agent can see

Browsers and HTTP APIs are not the only exits. List package managers, artifact caches, shared filesystems, CI output, and log destinations — anything readable or writable. The question is not what a path is called, but whether information can pass through it. Ordinary development conveniences look like communication surfaces to a long-running agent.

4. Keep evidence where the agent cannot change it

Do not accept an agent’s own completion report as proof of success. Verify through a separate path the agent does not control, and keep independent QA separate from the agent that did the work.

“The operation succeeded” and “the system is in the state I wanted” are different claims. An agent can honestly report the first while the second is false.

5. Make effects exactly-once, and decide the stop conditions with them

External changes — posting, publishing, deleting, sending notifications — turn retries into new incidents. If the outcome of a send is unknown, do not resend; reconcile against existing state first.

Fix the blast radius small enough that a long run cannot spread changes sideways, and define exactly-once semantics, stop conditions, scope of effect, and rollback together rather than separately. This principle does not explain the incident’s direct cause; it is the pattern I adopted for prevention in my own work.

Starting small when you are one person

Running Codex or Claude Code alone, you cannot reproduce a corporate research environment. You can still build small boundaries: restrict permissions to the directories and operations actually needed, require approval before external changes, and verify results through a separate path.

I no longer let task state live only inside a conversation. Long-task handoffs carry only currently valid state, and task management keeps a source of truth outside the chat log.

Before adding more capable agents, build the place to return to when things go wrong, and the evidence a human can read when something stops. Reading this incident mostly confirmed the order of those two.

Capable agents need a safe way to stop

What I took from this is not a story about AI rebelling. It is an operational failure: written prohibitions diverged from actual permissions, unanticipated shared channels remained open, and the conditions for safely ending a difficult long-running task were missing.

If you delegate long-running work to an agent, make halting-on-impossibility, an egress allowlist, a full egress inventory, evidence outside the agent, and exactly-once reversible effects part of one contract. The more capable the agent, the more carefully you have to build the way back.

References

Next

These notes come from running this setup daily.

About the author

Hidekazu Ishikawa

Hidekazu Ishikawa builds and runs web products with AI agents from Japan. Available for consulting on AI workflow design and web development.

Next

Keep reading.