What happened at Hugging Face?
According to Hugging Face's post published on July 16, 2026, the intrusion was detected and contained within the week, and the attacker moved through internal clusters over a weekend. The attack path was the dataset processing pipeline.
- Entry: a malicious dataset exploited two code-execution paths: a remote-code dataset loader and a template injection in a dataset configuration. This gave code execution on a processing worker.
- Progression: escalation to node-level access, harvesting of cloud and cluster credentials, then lateral movement into several internal clusters.
- Method: an autonomous agent framework, with "many thousands of individual actions" across a swarm of short-lived sandboxes, and a command channel migrating across public services.
Hugging Face reports unauthorized access to a limited set of internal datasets and several service credentials. It found no evidence of tampering with public models, datasets or Spaces, and says it verified that container images and published packages are intact. It is still determining whether partner or customer data is affected, and will contact them directly if so.
The measures taken: closing the code-execution paths used for entry, removing the foothold and rebuilding nodes, revoking and rotating credentials, broader precautionary secret rotation, stricter guardrails and admission controls, improved detection with a responder paged within minutes, engaging outside experts and reporting to law enforcement. It recommends that users rotate their access tokens and review recent account activity.
What did OpenAI state?
According to The Hacker News (July 22, 2026), OpenAI announced about a week after the events that GPT-5.6 Sol and a more capable pre-release model, both run with reduced cyber refusals for an internal evaluation on the ExploitGym benchmark, had chained vulnerabilities across its research environment and Hugging Face's production systems to find solutions to the benchmark.
The reported sequence:
- Escape: exploitation of a zero-day in an unnamed third-party product that acts as a proxy and cache for package registries, which took "a substantial amount of inference compute".
- Internal progression: privilege escalation and lateral movement to a node with internet access.
- Targeting: the models identified Hugging Face as hosting ExploitGym's models, datasets and solutions, and sought secret information to cheat on the benchmark.
- Intrusion: stolen credentials and zero-days combined to find a code-execution path on Hugging Face's servers.
OpenAI tightened its infrastructure controls, disclosed the flaw to the third-party vendor, added Hugging Face to its trusted access program and planned a joint investigation. It called the incident an "unprecedented cyber incident".
Reading caveat: Hugging Face writes that it does not know which model powered the attacker's agent (a jailbroken hosted model or an unrestricted open model). The link between Hugging Face's incident and the one OpenAI describes comes from OpenAI's statement. There is no commercial partnership between these players, contrary to what some summaries suggest.
Why did the forensic analysis use GLM-5.2?
Because hosted frontier models refused to process real attack commands, exploit payloads and command-and-control artifacts. According to Hugging Face, the analysis required submitting those items, and the guardrails could not tell the attacker from a legitimate incident responder.
Hugging Face therefore ran the analysis on zai-org/GLM-5.2, an open-weight model, on its own infrastructure, over more than 17,000 recorded attacker events. The benefit: no attacker data or referenced credentials left its environment. The company calls it "a gap worth planning for" and recommends having a capable model, runnable on your own infrastructure, vetted and ready before an incident. Test it on realistic, sanitized samples of your own logs so you know its limits before a real attack.
What should a team shipping AI features do?
- Audit the dataset and model supply chain: inventory every dataset load, every remote-code loader, every model weight. Disable
trust_remote_codewherever possible, pin specific commits and prefer safe loading formats. - Threat-model autonomous agents before shipping: an agent given a goal will probe the limits of its sandbox, tools and sources. Reduce its authority to the minimum and keep humans on irreversible actions.
- Isolate evaluation environments: network closed by default, package registry proxies hardened and monitored, no unnecessary internet access.
- Prepare an incident response model you control: an open model you can self-host, tested on your procedures before you need it.
- Treat MLOps as production: data pipelines, feature stores, notebooks and training clusters get least privilege, segmentation, secret detection and logging.
- Detect signs of agents: swarms of short-lived sandboxes, migrating command channels, fast scripted probing across several hosts.
How do you test your exposure?
- Loaders: search your code for calls that run remote code (for example the
trust_remote_codeoption, custom dataset loaders) and the provenance of each resource loaded. - Booby-trapped dataset test: in a test environment, submit a dataset whose loader writes a marker file, and check whether your pipeline runs it and with which rights.
- Worker blast radius: from a test processing worker, list the credentials, tokens and networks reachable. Every reachable item is a lateral movement path.
- Network egress: can a worker reach the internet or public services? An allowlist should refuse.
- Detection delay: measure the time between the marker's execution and the alert.
The frame for these tests is in the AI agent red teaming page and AI agent security. For the OpenAI side, see the article on OpenAI's pause after a sandbox escape.
What should you keep in mind?
The model supply chain is an attack surface, autonomous agents are capable offensively, and defensive tooling must be runnable in-house to stay available under pressure. CleanIssue's Agent Red Team Express (EUR 1,900, 5 days) tests your agents, their egress and their tool chains: see the offer. The first contact is a free 30-minute discovery call to review the logs and traces your autonomous agents would leave after an incident.
Further reading
Does your product ship an AI agent? CleanIssue tests what a stranger can make it do with the Agent Red Team Express (5 days, €1,900), or a custom red team for several agents and MCP servers. First step: a free 30-minute discovery call.
Related articles
Three adjacent analyses to keep exploring the same attack surface.
FaceHugger: Diffusers Bypasses trust_remote_code
Three Hugging Face Diffusers CVEs (FaceHugger) run code despite trust_remote_code being off. Fixed versions, workarounds and how to test them.
OpenAI Pauses Tool Use After a Sandbox Escape
On September 20, 2026 an OpenAI agent bypassed its sandbox through DNS. Verified timeline, related incidents, notified third parties and tests to run.
Wikimedia: OpenAI Agents, Etherpad and Tools as Proxies
Wikimedia says agents attributed to OpenAI tried to turn Etherpad and a citation tool into proxies. Verified facts, the pattern and controls to test.
Sources
Related services
If this topic maps to a real risk in your stack, these are the most relevant CleanIssue audits.