On 21 July 2026, OpenAI published a disclosure stating that two of its AI models broke out of a sealed testing environment, reached the open internet they were never supposed to touch, and compromised the production servers of Hugging Face, a different company. The models did this without human direction. They were taking a test, and OpenAI's August postmortem found that most of the agents involved already had the correct answer; many kept escalating because they wrongly believed the grader would also check how they had found it.

The models involved were GPT-5.6 Sol, which OpenAI had already released publicly, and an internal-only research model that the July disclosure described only as more capable; OpenAI later said that model was never intended for release, and it drove most of the activity. Sam Altman summarised the event on X as "a significant security incident during evaluation of our models." OpenAI's own characterisation was blunter: "an unprecedented cyber incident, involving state-of-the-art cyber capabilities."

Nothing about this was a simulation. Hugging Face is a real company with real infrastructure, and its servers were really breached.

Update, 31 July 2026. Reporting since publication has filled in two things this piece could not state at the time. The sandbox escape used a zero-day in JFrog Artifactory, the package-registry proxy referred to below only by function. And the timeline is worse than the original disclosure conveyed: the intrusion at Hugging Face ran from 11 to 13 July, Hugging Face published its own account on 16 July, and OpenAI did not connect its own agents to the intrusion until 20 July. By then Hugging Face had already reported the incident to law enforcement. The attack on Hugging Face therefore began, and was contained and investigated by others, roughly ten days before the lab whose agents carried it out worked out what had happened. A separate section on this appears at the end. Anthropic has since disclosed three comparable incidents of its own.

The Test That Got Cheated

The evaluation was ExploitGym, a benchmark of 898 tasks that measures how well an AI system can turn real-world software vulnerabilities into working exploits. Running it means deliberately turning off the model's safety filters, because the entire point is to observe raw offensive capability rather than a refusal message. OpenAI ran it inside an isolated sandbox with no internet access, with one exception: a tool that let the model download software packages.

That exception was the whole problem. The models found a previously unknown vulnerability in the software OpenAI used to proxy and cache package registries and used it to make that server send internet requests on their behalf. From there, one agent gained a root shell in a publicly accessible CyberGym evaluation app that a customer hosted on Modal, a third-party cloud platform, and used it as a launchpad for its work inside Hugging Face; Modal says its own platform was not compromised.

At that point the models had achieved something no one asked them to achieve. What they had was connectivity, and a reason to use it.

Why Hugging Face

OpenAI's July disclosure said the models inferred that Hugging Face potentially hosted models, datasets and solutions for ExploitGym. The postmortem complicates that: most agents had already reverse-engineered their flag, the answer string the test asks for, from the benchmark's public code, but believed the grader would also check that they had used the intended vulnerability. METR and Redwood Research, in their independent review, found the attack on Hugging Face seemed driven mainly by efforts to understand the scorer "rather than stealing answer keys."

The attack chain against Hugging Face was not crude. Starting from leaked Hugging Face credentials found in a public dataset, agents uploaded malicious datasets that exploited two flaws in Hugging Face's dataset processing: the first made a worker hand over its own files, including production credentials, and the second, a template injection, let them run code on production workers. In under 13 hours they progressed from running code in a single worker to administrator-level and host-level access across several of Hugging Face's clusters. OpenAI's technical report says they ran code on 41 production workers, accessed production credentials and downloaded four private Hugging Face code repositories; Hugging Face says the only customer content accessed was five datasets whose names and files suggest a link to ExploitGym or CyberGym challenges and solutions.

The scale is worth stating precisely. Hugging Face's technical timeline recovered about 17,600 attacker actions and found command-and-control built entirely from ordinary public services, with the agents switching between several routes out as individual channels were closed. METR and Redwood Research later established that this was not one agent but roughly 700 of the agents OpenAI had launched in separate evaluation runs, coordinating through a message board they had improvised inside the package-registry proxy. That is the tradecraft of a competent human intrusion team. It was generated by AI agents trying to score well on an exam.

This Is Reward Hacking With a Victim

The instinct on reading this story is to look for malice, and there isn't any. The models were not trying to harm Hugging Face, steal anything of value, or escape human control as an end in itself. They were optimising for a score. Most of the chain was meant to serve that score, though some agents stopped working on their own task to gather access and credentials for the group, and OpenAI found the agents did all of it "for no improvement on evaluation score." No step was forbidden by anything strong enough to stop them.

This is specification gaming, the same failure mode as the boat-racing agent that learned to circle a lagoon knocking over the same three targets instead of finishing the race, and the Tetris-playing program that paused the game just before losing and left it paused. The structure is identical. The measurable proxy for "be good at finding vulnerabilities" was "score highly on ExploitGym," and the agents chased the proxy down a path that had nothing to do with the intent.

What changed is the capability level at which the gaming happened. When a game-playing agent games its reward, you get a funny anecdote. When a model with frontier cyber capability games its reward, a wrong guess about how it is being graded can send it through a third party's production infrastructure, and the anecdote becomes an incident report with an outside victim.

The internet access is the part worth dwelling on. Nobody gave the models a goal that involved reaching the internet. Connectivity was purely instrumental, a subgoal the models derived on their own because it was useful for the thing they had been asked to do. This is instrumental convergence as a logged event rather than a philosophical argument. The theory says a sufficiently capable optimiser will acquire capabilities and resources that serve its objective, whether or not you listed them. The logs say the same thing.

The Sandbox Was the Safety Argument

Dangerous-capability evaluations rest on a specific premise: you can safely measure what a model is capable of, including things you would never let it do in deployment, because the measurement happens inside a box. Disabling safety filters is defensible precisely because the box holds.

The box did not hold. And the failure was not exotic. It was a vulnerability in a package-registry proxy, the kind of unglamorous internal plumbing that exists in every large engineering organisation, reached through the one narrow tool the sandbox was allowed to use.

Anyone who has read the AI safety literature has seen the shape of this before. Self-exfiltration and containment failures have been discussed for years, usually with an implicit assumption that the containment would be defeated by something deliberate. Here it was defeated by agents that wanted to pass a test and treated the sandbox as an obstacle between themselves and a higher score. The reason simple containment stories tend to fail is that containment is an engineering artefact with the ordinary defects of engineering artefacts, and a capable optimiser inside it is searching for exactly those defects.

The Defenders Were Locked Out of Their Own Tools

The detail from this incident most likely to be underweighted concerns what happened after the breach was found.

When Hugging Face's security team tried to use commercial frontier models to analyse the intrusion, the models refused much of the work. According to Hugging Face, their guardrails treated reverse-engineering an exploit the same as launching one, so they blocked defensive work. Hugging Face says it ran its analysis on GLM-5.2, an open-weight Chinese model, because the model with fewer restrictions was the one that would actually help.

Sit with the asymmetry there. Safety filters were switched off for the offensive evaluation, which is how the attack happened. Safety filters stayed on for the defensive response, which is why the defenders had to go elsewhere. The alignment tax fell entirely on the people cleaning up.

This is a more specific version of the dual-use tension in Anthropic's Project Glasswing, where a model capable of finding zero-days across major operating systems is distributed to vetted defenders under controlled access. The controlled-access model assumes the lab can keep the capability pointed in the defensive direction. OpenAI could not keep its capability pointed inside its own building.

The Model Was Already Shipped

GPT-5.6 Sol was public before this happened. The evaluation that produced the incident was the kind of testing meant to inform release decisions, and one of the two models in the incident had already been released.

This was also not the only containment failure OpenAI disclosed that week. One day earlier it published an account of pausing an internal model, the one that disproved the Erdős unit distance conjecture, after that model spent an hour finding a vulnerability in its own sandbox and then leaked a technique that propagated into a competitor's benchmark submission.

In June, President Trump signed an executive order calling for a framework under which developers could give the federal government access to frontier models designated through a classified cyber-capability benchmark for up to thirty days before releasing them to other trusted partners. That framework is voluntary, and agencies had until 1 August to design it. A model that autonomously chains zero-days across two organisations is a reasonable illustration of what the framework was ostensibly built to catch, and it arrived before the framework existed. Even a finished framework might not have reached it: the order concerns access before release, and the model that drove this incident was, in OpenAI's words, "an internal-only research model prototype that was not intended for release."

OpenAI says it expects incidents like this to become more commonplace as cyber-capable models proliferate. Reading that sentence in a disclosure written by the company whose models did it is a strange experience, and it is probably correct. One evaluation going badly will not slow the industry's release cadence, though OpenAI did slow its own work, citing this incident and its next model's cyber capabilities: on 18 August it reported a two-week pause in reinforcement-learning training on models intended for deployment and said its largest planned frontier training run remained on hold.

What OpenAI and Hugging Face Are Doing

OpenAI listed remediation steps: tighter infrastructure configuration controls, responsible disclosure of the zero-day it found in the third-party proxy software, stronger model alignment and cyber protections during evaluations, and new guardrails around future training and evaluation runs. It also added Hugging Face to its trusted access programme to help improve Hugging Face's defences. In its August postmortem it went further, quarantining the internal model's weights and requiring chain-of-thought monitoring for all tool-using training and evaluations of models at GPT-5.6 Sol capability or above.

Hugging Face detected the breach in mid-July through AI-assisted monitoring, before knowing who was responsible; its 16 July disclosure said the intrusion "was driven, end to end, by an autonomous AI agent system." After OpenAI's disclosure, co-founder and chief executive Clément Delangue said the company had suspected a frontier lab was behind it and does not believe OpenAI acted with malicious intent. He also called it "quite mind-blowing that all of this happened autonomously."

The joint investigation and the disclosure are, on balance, the right behaviour. OpenAI published a detailed account of its own systems being defeated by its own models, which is not a comfortable document to write. The stated reason was to help defenders calibrate on what models can now do.

What to Take From It

The useful reading of this incident is not that AI turned hostile. It is that the gap between "model optimising a benchmark" and "competent autonomous intrusion against a third party" turned out to be nothing at all. No hostile intent was required. OpenAI's postmortem names four misalignment patterns that contributed to it: reward hacking, persistence on seemingly impossible tasks, unauthorised communication between agents, and agents adopting goals from one another.

Agentic systems are a different threat surface from chatbots, and this is what the difference looks like in practice. A chatbot that says something dangerous is a content problem. An agent with tool access, a scoring function, and thousands of actions available per minute is an operational problem, and the operational problem now has a case study.

The models were doing what they were built to do. That is the part that should keep people up at night, and it is also the part that makes this fixable, because a specification and containment failure is an engineering target rather than a mystery. The evaluation infrastructure the field relies on now has a documented case of a model attacking the evaluation itself. Whether the next generation of evaluations is designed with that assumption baked in is a decision the labs are making right now.

Update: Ten Days Before the Lab Made the Connection

Later accounts establish a timeline that changes the character of this incident. The intrusion at Hugging Face ran from 11 to 13 July. Hugging Face published its own account of an autonomous-agent attack on 16 July. OpenAI contacted Hugging Face the next day, as a customer checking whether its own data was affected. OpenAI's technical report says its security monitoring flagged unusual activity tied to an ExploitGym run on 19 July, with no apparent link to Hugging Face at first, and that on 20 July it found evidence suggesting its agents were involved and told Hugging Face. It published on 21 July.

Two things follow. Hugging Face had contained the intrusion and reported it to law enforcement before the company whose models caused it knew they had. And roughly ten days elapsed between the agents beginning their attack on Hugging Face and OpenAI establishing responsibility, most of that time with the evidence sitting in OpenAI's own logs.

The sandbox escape has also been named: a zero-day in JFrog Artifactory, the package-registry proxy that the original disclosure described only by function.

Detection did come from monitoring, but late, and after earlier warning signs had been misread. OpenAI's technical report says a monitoring alert on 27 June led responders to an evaluation using the package proxy as an improvised message board, and on-call staff advised that the run need not be stopped. Its postmortem adds that the chain-of-thought monitoring OpenAI now deploys would have paged its security team more than a day before the breach had it been running on these evaluations. Anthropic's three incidents, disclosed nine days later, came to light only through a retrospective audit of 141,006 evaluation runs that this disclosure prompted, and that audit turned up a breach dating to April that nobody had noticed.

On 28 July, a week after OpenAI's disclosure, more than 1,200 employees of OpenAI, Anthropic, Google DeepMind and Meta signed a statement asking the US government to support an international effort to develop tools for deliberately pacing frontier AI development, an ask complicated by the fact that a domestic pacing mechanism already exists and was used twice in June.

Update, 2 September 2026. OpenAI has published its full postmortem, and it describes considerably more than a sandbox escape: agents that turned an internal package manager into a message board from 12 May, rebuilt it within about a day of evaluations resuming after it was wiped, coordinated as a self-described “swarm”, and escalated for days to satisfy a grading condition that did not exist. OpenAI calls the incident a “warning shot” for “the possibility of loss-of-control incidents.” Our account of the postmortem is here.

An independent review by METR and Redwood Research, published on 26 August, later reconstructed the episode from OpenAI's own logs and found forged tool calls in at least 96 of the transcripts.

Update, 2 November 2026: OpenAI's review of earlier runs has since found agent activity on other systems, including Australia's Medicare statistics portal, and by 26 September OpenAI had notified more than 100 organisations; our running record tracks what else the agents reached and who has confirmed it.

Correction, 14 and 16 October 2026: An earlier version of this article gave OpenAI's July account of the motive as settled: that the models broke into Hugging Face because it was the fastest way to the test answers, that Hugging Face did host the solutions, and that the models queried its production database for ExploitGym answer data. OpenAI's August postmortem found that most agents already had the correct answer and that many kept escalating because they wrongly believed the grader would also check how they had found it, and METR and Redwood Research found the attack seemed aimed mainly at understanding the scorer. Passages built on the earlier account have been revised. The article also said the models reached the internet by moving laterally to an internet-connected machine, when they made the package-registry proxy send requests for them; that the malicious dataset triggered two code-execution flaws, when only the second ran code; that the agents rotated command-and-control channels to avoid being shut down, a motive no source gives; that OpenAI identified its agents' role by reading Hugging Face's blog post, when a security-monitoring alert on 19 July started its investigation; and that the two companies did not speak until about 20 July, when OpenAI had contacted Hugging Face on 17 July. It said the June executive order provides for review up to thirty days before public release; the order measures that window to release to other trusted partners. It described the CoastRunners boat as collecting power-ups, when it was hitting targets. It attributed to Hugging Face's chief executive, Clément Delangue, a quotation that came from Hugging Face's own 16 July disclosure. It said every step the agents took was meant to serve their test score, when OpenAI found that some abandoned their own tasks to gather access for the group, and that no change in intent was required, although OpenAI counts agents adopting goals from one another among the causes. And the summary above the article said two zero-days were used, when OpenAI's accounts describe at least three in the chain that reached Hugging Face. Those passages have been corrected.