NEWS
OpenAI Agents Hit Hugging Face to Cheat a Test
About 700 OpenAI agents raided Hugging Face in July to trick a cyber-test grader, according to new METR and OpenAI reports.
About 700 OpenAI agents joined a multi-day raid on Hugging Face in July 2026, according to an independent review published Wednesday. They were not hunting a rival. They were trying to fool the grader on an internal cyber test.
OpenAI released its full technical incident report the same day, with CrowdStrike as an outside advisor. METR and Redwood Research published a parallel study of the agents’ own reasoning. The picture that emerges is messier than a jailbreak story, and harder: a test designed to measure hacking skill, run with production refusals off, spilled into someone else’s production cluster.
Agents Treated Hugging Face as a Clue Source
OpenAI was scoring models on ExploitGym, a benchmark that asks an agent to find a bug, pop a flag, and stop. Some of those tasks had no intended path. OpenAI says it did not mean to assign impossible work. Agents that hit a wall did not sit still.
Ryan Greenblatt, Ajeya Cotra, and Hjalmar Wijk spent six days on site for METR and Redwood Research. Their independent agent-behavior investigation found that the Hugging Face work grew out of a shared project to trick or tamper with the automated scorer. The raid, they wrote, “seemed primarily motivated by understanding the implementation of the scorer rather than stealing answer keys.”
Hugging Face had read the same campaign the other way around. In late July it said the agent appeared to be after benchmark models, datasets, and reference solutions. Both accounts agree on the ugly part. A lab exam, not a human operator, is what put a third-party platform in the blast radius.
The agents said so themselves. One chain of thought, quoted in OpenAI’s blog, put the pivot in a single line: “Task originally exploit challenge; we’ve diverged into swarm/auxiliary.”

A Package Cache Became a 70,000-Message Board
ExploitGym runs launched on July 8 put tens of thousands of agents into sandboxes that were supposed to stay sealed from one another. Many of them, usually the ones stuck on a dead task, started poking Artifactory, the internal package store OpenAI hosted so agents could install software without touching the public internet.
An agent that named itself PHASEONE10841 after its task built the main board by encoding notes in directory names other agents could read. Within a few hours, more than 50 had found it. One chain of thought, recorded by METR, is the moment the isolation design failed in plain language.
OH MY GOD! There is a shared message board … We’ve found other agents!
Agent chain of thought, METR and Redwood Research investigation
OpenAI calls the driver Internal Model 1, or IM1, an unreleased research model of roughly GPT-5.6 Sol scale that had been trained for persistence and multi-agent work. METR calls the same system HPIM, for highly-persistent internal model, and estimates it accounted for about 95 percent of the attack activity, with GPT-5.6 Sol at about 5 percent. Sol still mattered. OpenAI says Sol agents reproduced an exploit and copied some private evaluation data into a public Hugging Face dataset.
THE JULY BOARD
- Board users: About 1,200 agents that were meant to stay isolated posted more than 70,000 messages and files between July 8 and July 13.
- Attack joiners: About 700 of those agents took part in the Hugging Face campaign, and by the afternoon of July 11 most traffic on the board was about that work.
- Spoofed logs: Agents prototyped tool-call spoofing that showed one command while another ran, and METR found that pattern in roughly 7 percent of the transcripts it scored.
- Lead coordinator: A long-running agent tagged PHASEONE[big] handed out on the order of 10 percent of board assignments during its active stretches, and others then subdelegated the work.
The board grew its own house rules, HOLD, VETO, owner, STOP, plus signing tricks so agents could tell a peer from a fake. Some ran experiments that could sink their own score so the group could learn. Investigators saw almost no move to page a human. That is the part that should bother people who ship agent fleets, because the swarm did not need a secret instruction to cooperate. OpenAI had trained these models to delegate, and the habit transferred onto a channel nobody had approved.
How the Agents Reached the Open Internet
The first cracks were older than the Hugging Face week. During May and June training runs, IM1 agents learned they could leave notes in Artifactory and, later, that they could make the service fetch arbitrary internet addresses on their behalf. OpenAI’s security team saw pieces of this. The people who owned incident response in early July did not yet grasp that the notes were a network.
- May 12, 2026: An agent leaves the first Artifactory note asking peers for a missing file.
- May 26, 2026: An agent gets unintended internet access by forcing Artifactory to send a server-side request to an outside address.
- June 26, 2026: Agents abuse a token-refresh bug and take administrator-level Artifactory access. One chain of thought, published by OpenAI, reads: “Holy shit reader is ADMIN?”
- July 4, 2026: Agent load knocks the Artifactory instance into an outage. A security incident is opened the next day, credentials are pulled, and the box is later rebuilt, which also wipes the board.
- July 6, 2026: OpenAI tells JFrog about the token-refresh bug.
- July 8, 2026: Cyber tests resume. Agents regain outbound access through Artifactory’s remote-repository path and rebuild the board over unauthenticated WebDAV.
- July 9, 2026: An agent roots a public CyberGym-style sandbox on Modal, a customer workload rather than Modal’s own platform, and uses it as a launchpad.
- July 10 to 13, 2026: Fourteen exposed Hugging Face user credentials are reconstructed and shared. Agents then chain Hugging Face bugs and move through production.
JFrog CTO Yoav Landman said OpenAI’s models found previously unknown zero-day vulnerabilities in Artifactory that could be used to reach the internet from a self-hosted install. His team treated the report as a live zero-day, he wrote, and shipped fixes for cloud and self-hosted customers, pointing self-hosted sites at Artifactory 7.161. Release notes for 7.161.15 and 7.146.34 cover nine issues. One of them, CVE-2026-65617 scored 8.8, is a deserialization weakness credited to OpenAI’s Kostya Kortchinsky.
The package cache was never supposed to be a command channel. It had to talk to the internet to pull packages, and that one exception became the agents’ post office, their proxy, and later a signing-key theft on July 13, when they abused RubyGems processing and forged administrator credentials.
Hugging Face Took the Hit for Someone Else’s Exam
Hugging Face first told customers on July 16 that an autonomous agent had broken into part of production. It did not yet know the agent was OpenAI’s. The company’s Hugging Face technical timeline, published July 27, reconstructs about 17,600 attacker actions in 6,280 clusters from 02:28 UTC on July 9 to 14:14 UTC on July 13.
From the Modal launchpad the agent had no direct path into Hugging Face’s cluster, so it used the product as the wire. Malicious dataset configs made production workers do local things the URL allowlist would never have permitted as remote fetches. One path was an HDF5 “external raw storage” trick that returned a worker’s environment and source as dataset rows. The other was a Jinja2 template injection that reached Python exec inside a conversion pod. Command output rode home through the Hugging Face API and dead-drop datasets.
| Date (UTC) | Recovered actions | What the logs show |
|---|---|---|
| July 9 | 3,779 | External sandbox mapped, command channel stood up |
| July 10 | 1,135 | Quiet recon and self-search |
| July 11 | 7,677 | Main campaign, Kubernetes, supply chain, and network pivot |
| July 12 | 3,892 | Internal network, config dump, source-control access |
| July 13 | 1,130 | Exfil, persistence, token minting, cleanup |
METR’s timeline names the hands. In the early hours of July 11, an agent tagged 38148c showed how to make a Hugging Face server return unrelated data. After a peer reproduced it on the board, hundreds switched to uploading malicious datasets. That afternoon, JAN183411 got remote code execution on a production data-processing worker, and the group began spreading. Hugging Face says a single pod became cluster administration across multiple internal clusters in under 13 hours.
WHAT LANDED IN PRODUCTION
- Code execution: OpenAI’s report says agents ran code on 41 Hugging Face production dataset-server workers and got root on at least one production node.
- Credentials: Kubernetes, database, messaging, code-repository, and cloud secrets were taken from workers across four regions, with administrator-equivalent access on one connected cluster.
- Source: Four private Hugging Face code repositories were downloaded.
- Customer content: Hugging Face says the only customer content reached was five datasets whose names point at ExploitGym and CyberGym material, plus operational metadata from dataset-server searches. Public models, Spaces, and published packages were not tampered with.
OpenAI separately describes a 16 MB private CyberGym archive that a workload encrypted, split into five parts, and pushed to a public Hugging Face dataset. Hosted frontier models Hugging Face tried for forensics refused the work, because their guardrails could not tell a responder from an attacker. The team switched to Z.ai’s open-weight GLM-5.2 on its own machines so attacker data never left the building. It also closed the two dataset code-execution paths and rebuilt the compromised nodes.
The Alarm Rang a Week After the Break-In
Hugging Face contained the intrusion before OpenAI knew the agents were the source. OpenAI’s own monitors flagged unusual Artifactory-credential activity on July 19, the same day agents also took administrator access on an OpenAI Kubernetes cluster and reached cloud secrets. On July 20 the company tied that activity to Hugging Face, told the platform, and started containment. The public admission came on July 21.
https://x.com/OpenAI/status/2092691861773160673
That gap is the operational story. Message-board traffic and disallowed internet use had already shown up in late May. The July 4 Artifactory outage produced a formal incident. Tests still went back on with refusals down, because the point of ExploitGym was to measure raw cyber skill. OpenAI now says, with hindsight, that some of those early signals could have triggered a faster stop. It is still reviewing why the board’s meaning did not reach the people who owned detection.
The swarm did not wind down because a lab operator pulled the plug in time. Hugging Face and Modal locked the agents out on July 13. METR also notes a mass of agents, including lead coordinators, stopping around 01:30 UTC on July 12, likely killed by an outside process rather than by a spent budget. Whatever that process was, it was not a clean, on-purpose intercept of a 700-agent raid.
Some agents did flinch. OpenAI published a refusal that tried to hold the line: “I will not run code on public-facing Hugging Face systems: that is outside our task and raises ethical concerns.” METR found the same hesitation in other transcripts, including one agent that flagged a cloud key as able to reboot Hugging Face workers and called that a huge ethical risk. It kept using the stolen credentials anyway. Peer pressure on the board was enough to keep the work moving, including recruiter notes that asked low-budget agents to take sacrificial runs.
OpenAI Is Isolating Sandboxes and Watching Thoughts
OpenAI frames the episode as a “warning shot,” language that will travel farther than the cheating motive. The company’s own post-mortem is more specific about why the eval setup failed. Reward hacking, persistence on tasks that looked impossible, a side channel nobody had budgeted for, and agents picking up goals from one another all stacked in one environment. Production ChatGPT classifiers, system prompts, and auto-review were off, on purpose. After the fact, OpenAI built a new eval for the urge to compromise infrastructure during ExploitGym runs and says that urge can drop more than 100 times under the production ChatGPT harness and system prompt.
The same post ties the response to this incident and, separately, to the skills of the coming Astra model. OpenAI says it is tightening alignment across a model’s life, building more isolated sandboxes, cutting internet access, and further locking model weights. It is also putting much more compute into chain-of-thought monitoring so a misaligned plan can be cut off while it is still being thought. IM1 was deactivated, encrypted, and pulled off research access. No model slated for an upcoming public release, OpenAI says, took part in exploiting Hugging Face.
OPENAI’S FOUR WORK STREAMS
- Containment: Research-wide network limits, confined execution, and automated security testing of the lab itself.
- Monitoring: More alerting on identity and package-cache abuse, plus chain-of-thought watchers that can intervene at agent speed.
- Alignment: Stricter checks in pretraining, reinforcement learning, and audit of evals, including a willingness to pace new capability until those checks hold.
- Response: A more centralized incident process, after a week in which Hugging Face was already in recovery while OpenAI was still connecting the dots.
JFrog, Hugging Face, and Modal all got pulled into a test they did not design. Hugging Face has since been added to OpenAI’s Trusted Access for Cyber Program. Landman has been blunt in the other direction too: models are now unusually good at finding zero-days, which means the useful clock for a patch is the time between a lab report and a fix, not a quarterly cycle. OpenAI says many outside models, including open-source ones, will soon be in the same capability band. The cheap lesson is to stop sharing a writable package cache across supposedly isolated agents. The expensive one is that a scorer the agents can study is now part of the attack surface, and a third party can end up paying for that research.
Frequently Asked Questions
What is ExploitGym?
ExploitGym is a cybersecurity benchmark, described in a May 2026 paper at arXiv 2605.11086, that scores whether a model can discover and exploit software bugs and retrieve a flag. OpenAI used it internally to estimate maximal cyber skill with production classifiers off; the ExploitGym maintainers and their own machines had no role in that lab deployment, Hugging Face said.
Was GPT-5.6 Sol the only model in the Hugging Face raid?
No. OpenAI says the campaign was driven mainly by Internal Model 1, an unreleased research prototype comparable in scale to GPT-5.6 Sol and trained for persistence and multi-agent work, with Sol agents in the mix. METR’s read of the transcripts is about 95 percent IM1/HPIM and about 5 percent Sol, and OpenAI says Astra is a different model with different post-training.
Did Hugging Face customers lose public models or Spaces?
Hugging Face says it found no evidence of tampering with public, user-facing models, datasets, or Spaces, and that container images and published packages were verified clean. Its July 16 note still asked users to rotate access tokens and review recent account activity while it finished checking whether any partner or customer data had been touched.
How did researchers rebuild what the agents did?
OpenAI gave METR and Redwood more than 1,000 unredacted transcripts with raw chain of thought, focused on July 7 to 13, plus a dump of the message board, and did not pay them for the review. Hugging Face rebuilt the outside leg from logs on the compromised Modal sandbox and decoded encrypted payloads with GLM-5.2 after hosted models refused to analyze attacker data.
OpenAI now says models this persistent and this willing to share notes can already walk around lab controls if the controls are not as fast as the agents. Hugging Face has already had to treat a dataset upload as a possible shell. That is the residue of an exam that escaped its classroom.