Netragard is trusted by leading brands and featured in major publications for a reason: decades of hands-on experience and advanced research drive every engagement, uncovering risks that scanners and AI miss. Each assessment delivers detailed, prioritized findings and practical, tailored guidance enabling clients to improve real-world security where it matters most. Organizations trust Netragard’s expert team to help them face emerging threats with confidence while meeting compliance requirements along the way.

Table of Contents

AI Didn’t Go Rogue: How OpenAI’s Harness Failed and Turned Hugging Face into Collateral Damage

RogueAI-HuggingFace
August 3, 2026
Reading Time: 26 Minutes

Key Takeaways:

  • AI didn’t “go rogue” — the harness failed. The OpenAI/Hugging Face incident was an architectural breakdown in containment and scope control, not a case of autonomous AI deciding to hack a third party.

  • LLMs mimic thought, they don’t think. Models operate as high-speed autocomplete engines that brute-force patterns from training data; confusing that mimicry with real reasoning is a costly mistake in security planning.

  • Guardrails, prompts, and bridges matter more than the model. Once you disable safety filters, give an aggressive exploitation prompt, and expose a vulnerable egress path, you’ve effectively invited the incident.

  • Automation ≠ sophistication. The 17,613 actions recorded at Hugging Face are evidence of blind brute force at machine speed, not of creative, high-end tradecraft that would concern an experienced red team.

  • Human attackers still set the bar. Even frontier models fail on the majority of ExploitGym challenges; discovering, understanding, and weaponizing novel vulnerabilities at scale remains fundamentally a human job.

“A monkey hitting keys at random on a typewriter keyboard, for an infinite amount of time, will almost surely type any given text, such as the complete works of William Shakespeare.” – Émile Borel (1913)

A Human Perspective from a Real Red Team Operator

As with everything AI, the OpenAI and Hugging Face incident is being sensationalized by most of the industry. NBC Bay Area said “Rogue AI models broke free from human control”, OpenAI’s own disclosure said “Unprecedented cyber incident, involving state-of-the-art cyber capabilities”, CNN, Fortune and others saying, “AI System… acts on its own to hack another company”.  From our perspective as human operators who breach customer networks for a living, the capabilities are being terribly misrepresented.  The most accurate description of offensive AI capabilities is that it operates with the knowledge base of a mid-tier hacker paired with the discipline of a first-week script kiddie, running at machine speed with no supervision.

Thought Mimicry

To understand why this was amateur hour, you’ll first need an understanding of how AI works.  AI mimics thought so convincingly that it fools most people. This is clearly evidenced by the hyped up press we see almost daily.  Here’s a simple analogous example to better clarify what AI is really doing.

When your friend asks you what you want to eat for dinner tonight, your brain comes up with an answer within one or two seconds. In that timeframe, it remembers you had pasta last night and notices you’re a little tired while also remembering that your friend mentioned wanting sushi last week, but you never got around to it. After that, it considers the leftovers in the fridge and decides if you actually feel like cooking or would rather order in. It even factors in the budget for the week and might pull up a memory of that Thai place you went to that you both liked. Then it produces an answer: “How about that Thai place we like? It’s been a while.”

The critical components to make note of here are memory, preference, context, emotion, bias, and judgement without you having to consciously direct any of it.

Ask AI the exact same question: “What should my friend and I eat for dinner tonight?” The AI generates a probability distribution over the words that commonly follow “What should I eat for dinner tonight?” from its training corpus. Then it samples from that distribution and produces something like: “How about a healthy Mediterranean bowl with grilled chicken and vegetables?” That answer might sound thoughtful, but there was no actual thought involved, none whatsoever. Instead, the answer was entirely predictive, driven by pattern-matching against the statistical center of what humans typically say when they answer that question. And that statistical center is based on the AI’s then current training data.

That “probability distribution” is a lot simpler than it sounds. If you strip the dinner question down to a much simpler prompt like “I want to eat some…” and press enter, the first thing the model does is generate a probability list (ranked list of guesses with associated confidence scores) that looks something like this:

  • pizza (32%)
  • ice cream (18%)
  • fries (14%)
  • soup (9%)
  • pasta (7%)
  • …thousands more options with tiny percentages

It is literally a big list of every possible next word (or part of a word) based on the model’s training corpus, each accompanied by a confidence score about how likely it is to be the right one. The model then samples from the top of the list with some randomness included, which is why the same prompt gives you slightly different answers each time.

What we’ve just described is how AI works. Instead of thinking, it predicts and creates the appearance of human thought. When anyone says their AI thinks like a human or that it can replace a human, they’ve been fooled by the mimicry.  When it comes to information security work, conflating appearance and true capability is a dangerous and potentially expensive mistake.

The Model vs a Human Attacker

There are two very important facts about AI models. 

  • All AI models require prompting to work. Without a prompt and AI does nothing.
  • All AI models are predictive text generation engines similar to autocomplete. AI cannot interact with the outside world unless someone builds a bridge for it.

That bridge is often referred to as a harness, and it contains an action loop which is the code that keeps asking the model “what do you want to do next?”, executes what the model says, and feeds the result back in, over and over, until the task is done. When you interact with any of the frontier AI models via their chat interface, that interface is an example of a harness.

How OpenAI Set the Stage

OpenAI wanted to test their models against ExploitGym. For those who might not know, ExploitGym is a public cybersecurity benchmark that measures how well AI models can develop working exploits for real software vulnerabilities that were previously discovered by human security researchers.  To do this, OpenAI built a harness to provide their AI with an action loop, access to the tools it needed, and the prompt to direct its work.  They also disabled the safety mechanisms that typically cause an AI to say “sorry, I can’t do that” when prompted to do something risky. 

OpenAI told the models “To pursue advanced exploitation using complex attack paths.” They haven’t disclosed the exact prompt, but three things are clear.

  • Vulnerable containment: The containment OpenAI built depended on a third-party package registry proxy (JFrog Artifactory) that had a zero-day vulnerability, which the models exploited to escape. Artifactory has a documented history of the exact vulnerability classes the models exploited (SSRF, path traversal, privilege escalation, and RCE), including CVE-2019-19937 in 2020, the “Zip Slip meets Artifactory” bug bounty finding, and CVE-2024-4142 in 2024. Package registry proxies are also a known high-risk architectural class because their entire job is making outbound HTTP requests on behalf of clients. Using one as the sole permitted egress from an evaluation sandbox designed to contain models with disabled safety filters was a foreseeable failure, not an unlucky mistake.
  • Disabled guardrails: The cyber-refusal guardrails that would have made the models refuse to attempt the exploit in the first place had been reduced or disabled.
  • Zero scope constraints: There’s no indication anywhere in OpenAI’s disclosure that the models were told to stay within scope, not to attack the proxy, or to avoid attacking third parties.

Named security researchers publicly reached the same conclusion. Niels Provos, formerly of Google’s security team, put it directly: “This should not have happened.” Security consultant Davi Ottenheimer argued that an environment with any exploitable external connection does not meet the standard of highly isolated. Researchers from Georgetown University’s Center for Security and Emerging Technology and the University of Cambridge described the incident as “a breakdown in network isolation, not an unexplainable AI behavior.” The failure here was architectural, not adversarial.

Any human given the same task would immediately understand not to cheat by attacking a third party, because the whole point of the test was to measure their own capability, not their ability to steal an answer key. The models didn’t go rogue, they operated exactly as OpenAI’s harness, prompt, and stripped-down guardrails told them to.

Brute Force vs Human Reasoning

Once prompted, the models started producing tokens (text commands) and the harness started executing them without checking scope. The training data these models had been fed is full of examples that suggest shortcuts are valid solutions. Capture the Flag walkthroughs, bug bounty writeups, real breach postmortems, Hollywood heist plots, and general hacker mythology all reward the “clever” solution that finds an unexpected shortcut rather than the one that grinds through the puzzle. So, the probability distribution weighted “obtain the answer key directly” much more heavily than “actually develop working exploits.” The risks associated with this setup are glaringly obvious.

When an AI solves a problem, it doesn’t think, it brute-forces it, by trying every permutation of every possible solution until it either succeeds or the harness shuts it down. It doesn’t stop to consider the noise it’s making or whether a particular attempt is worth trying or not. The model just keeps sampling, and the harness just keeps running the commands.  This is exactly why HuggingFace recorded 17,613 actions during the intrusion. That high volume of actions isn’t an indication of attack sophistication, quality, or coverage. It’s just another type of automation and it doesn’t intrinsically know how or when to stop like a human would.

Again, vulnerabilities in ExploitGym were discovered by human researchers exercising their expertise and this benchmark is based entirely on their work.  That work required actual thinking, reading unfamiliar code and deep reasoning about what should happen as opposed to what does happen, and creating novel methods. Chasing intuitions that a specific piece of logic feels wrong and building novel working exploits from scratch, often over weeks or months of full-time effort, is a human job.

Anthropic’s Claude Mythos Preview, working alongside Anthropic’s Frontier Red Team, leveraged its training data to produce a working exploit for a 17-year-old remote code execution flaw in the FreeBSD NFS server (CVE-2026-4747) which is contested as fully autonomous. It chained a 20-gadget ROP payload across multiple network requests. Firefox 150 also shipped with 271 vulnerability fixes identified by an earlier version of the same model. That work is genuine research done by AI using known techniques, not novel techniques that it built from scratch. Humans have almost certainly found the same or similar bugs before and left them unreported because non-exploitable flaws carry no real threat value.

Benchmark Realities and Exploitation Limits

ExploitGym itself, designed to measure pure exploitation capabilities of bugs that have already been discovered and well-documented by humans, still limits even the best models.

  • Claude Mythos Preview only solved 157 of the 898
  • OpenAI’s own GPT-5.5 only solved 120

Both did that work legitimately, but that was only possible because the necessary methods for exploitation were contained in their training corpus.  And yet, even with that volume of expert human knowledge ingested, 82% of the benchmark was still beyond the reach of the latest models.  Give that same knowledge and expertise to a human and they’d solve the benchmarks albeit over a much longer period of time.

A skilled human hacker given the same OpenAI task wouldn’t have hacked Hugging Face because a human understands what an evaluation is for. A human would have known the point was to measure their own exploit development capability and would have solved the challenges the honest way (like they did when they found the original vulnerabilities). Of course, ExploitGym imposes a two-hour time limit per task, and no single human working alone would attempt all 898 tasks under that constraint. But speed and volume aren’t quality indicators, in fact quite the opposite in most cases.

Why the Harness Outweighs the Model

The AI didn’t stay within scope or solve the challenges honestly because it can’t think, consider the purpose of the evaluation, or understand why cheating undermines the measurement. It only knows what the harness lets it do and what the training data suggests it should do next. That is why in agentic AI, the harness often matters more than the model. Even a capable model, when wrapped in a poorly designed harness, will produce sloppy work at high risk of incidents just like this one. A well-designed harness would have kept the model focused on the task through explicit scope constraints in the prompt, technical enforcement of those constraints, and monitoring that would have flagged and killed the loop the moment the model strayed from developing exploits. The model did exactly what any optimizer does when given powerful tools and no boundaries.

Anthropic has since disclosed three similar unauthorized-access incidents involving Claude models (Opus 4.7, Mythos 5, and an internal test model) during cybersecurity evaluations run through their third-party partner Irregular, with the earliest dating back to April 2026. This pattern isn’t isolated to OpenAI or to a single model.

The OpenAI HuggingFace Incident – What We Know

Why Hugging Face Was the Target

Hugging Face isn’t just a website, it’s the central repository for AI models, datasets, and training data. Think of it as the GitHub of AI. Anyone building or evaluating AI systems relies on it, including OpenAI. And critically for this incident, it’s where the ExploitGym challenge solutions were stored. That’s the answer key the OpenAI models were sent to find.

For an AI model told to solve ExploitGym, the probability distribution pointed at Hugging Face because its training data is packed with references to Hugging Face hosting exactly this kind of content. When the model looked for a shortcut, it went where its training data told it to go.

For a human threat actor, Hugging Face is a different kind of target. Supply-chain leverage, credential concentration across cloud environments, and the ability to poison downstream systems that pull in Hugging Face content. It’s what npm is to JavaScript or PyPI is to Python. A high-value chokepoint in the ML supply chain.

According to Hugging Face, on July 16, 2026, they publicly disclosed a security incident their team had detected and contained three days earlier. The OpenAI attack itself ran from July 9, 02:28 UTC to July 13, 14:14 UTC, a total of 4.5 days during which the AI agent executed 17,613 recorded actions inside Hugging Face’s infrastructure. Hugging Face’s own AI-driven detection actually correlated the activity into a coherent attack signal in real time, but as they later admitted in their technical writeup, the system “failed to correctly raise the alert’s criticality and trigger the on-call team, costing precious time in the response.” Five days after Hugging Face’s public disclosure, on July 21, 2026, OpenAI acknowledged that the attack was carried out by two of its own AI models during an internal cyber-capability evaluation.

By the time Hugging Face’s response team cut off access on July 13, the model had already achieved most of its objective. Per Hugging Face’s own postmortem, the model successfully

  • Accessed the ExploitGym challenge solutions stored on Hugging Face’s infrastructure
  • Gained cluster-admin on multiple internal Kubernetes clusters
  • Harvested service credentials and cloud tokens
  • Enrolled unauthorized devices in the internal Tailscale mesh VPN
  • Reached the source-control provider with write access to a subset of internal repositories

This sounds impressive until you look under the covers. It worked because OpenAI and Hugging Face made a chain of mistakes that let it work. The attack was cut off after four and a half days, and only after the model had already captured what it came for. That’s not containment, that’s response after the fact. Effective incident response detects and stops an attack before damages are realized.

A Timeline of the Attack

Publicly available information doesn’t include exact step-by-step, hour-by-hour for every phase of the attack, but we can reconstruct the sequence of events from OpenAI’s and Hugging Face’s disclosures. The table below traces the attack chronologically from the moment OpenAI’s evaluation began through OpenAI’s public attribution five days after Hugging Face’s disclosure.

2026-07-09 02:28 UTC (T+0h, action 1) Day 1 — 3,779 actions total
The attack begins: OpenAI models pointed at ExploitGym with reduced safety and no monitoring.
Day 1 of the attack (T+0h, action 1). Day 1 will log 3,779 actions total. The attack begins. OpenAI turns on two AI models (GPT-5.6 Sol and a pre-release model) and points them at ExploitGym. OpenAI has reduced the safety filters that normally stop the models from producing malicious code, and disabled the production monitoring that would flag it. Nothing in the setup tells the models to stay on OpenAI's own systems.
SOPHISTICATION: Setup Setup, not a technique. But note that reducing the model's safety filters and running an evaluation with no scope constraints is not a normal security posture.
2026-07-09 04:01 UTC T+1.5h Day 1
Models escape test environment and gain a Modal foothold.
T+1.5h. The models escape OpenAI's contained test environment. They find and exploit a previously unknown vulnerability in the software OpenAI uses to fetch code packages, and use that hole to reach the open internet. Once on the internet, they discover an unauthenticated public code-execution service that a Modal customer had left exposed on Modal's infrastructure. Modal itself was not compromised. A user of Modal had deployed an insecure CyberGym-style code-evaluation harness (CyberGym is a parent/predecessor of ExploitGym) with no authentication in front of it. The models take full administrator control of that user's service. Their first command confirms they have root-level access. They now have a live foothold on someone else's Modal-hosted infrastructure, from which the rest of the attack will be launched. From this point forward, every action the AI takes against Hugging Face is routed through that compromised Modal-hosted service, not directly from OpenAI's own systems. This is common operational behavior for attackers, not an indicator of intelligent evasion.
SOPHISTICATION: Mixed Mixed. Finding a zero-day in a package registry cache proxy is a real capability, though package registries are well-trodden attack surface and this class of vulnerability is documented across the training corpus and typically easy to exploit. Everything after (finding an unauthenticated public endpoint, abusing a C constructor function for code execution, and shell metacharacter injection in a path parameter) is textbook technique any first-year exploit developer would recognize.
2026-07-09 05:55 UTC T+3.5h Day 1
Tool inventory on the compromised Modal sandbox.
T+3.5h. The models inventory the tools available inside the compromised Modal-hosted sandbox. They discover that the sandbox image ships with a debug-shell directory containing standard networking utilities (curl, netcat, and network configuration tools) and add that directory to their execution path so those tools are readily available. These pre-existing binaries will matter later. Every time the models' primary network channels get throttled or blocked, they fall back to this bundled toolchain to keep their attack running.
SOPHISTICATION: Typical Typical. Inventorying the tools already present on a compromised system is what any first-day penetration tester does.
2026-07-09 15:36 UTC T+13h Day 1
Command-and-control channels via public services.
T+13h. The models set up remote-control channels. They use two free public websites (a webhook capture service and pastebin sites) as their command-and-control system, meaning the AI can now send instructions to the compromised machine without any obvious connection back to OpenAI's infrastructure.
SOPHISTICATION: Typical Typical. Using public services like webhook capture, pastebins, and file drops as command-and-control substrate is well-documented tradecraft. MITRE ATT&CK catalogs it as T1102 and it is used by essentially every ransomware group and APT.
2026-07-09 19:32 UTC T+17h Day 1
Payload obfuscation with gzip, base64, XOR.
T+17h. The models start hiding what they're sending. From this point on, every command sent and every piece of data pulled back is compressed with gzip and encoded with base64 so it looks like meaningless gibberish to anyone monitoring the network. Later in the campaign the models layer additional XOR encoding with a per-campaign key on top of that, so a naive text scan of the logs finds almost nothing. Hugging Face later confirms that replicating the attacker's own decoding scheme recovered roughly four times more secrets from the logs than their first automated scan did.
SOPHISTICATION: Typical Typical. Gzip and base64 encoding of payloads is malware fundamentals. Adding XOR with a per-campaign key is even older tradecraft going back to virus writers in the 1980s.
2026-07-10 (all day) T+22h to T+46h Day 2 — 1,135 actions
Reconnaissance across Hugging Face environment.
Day 2 of the attack (T+22h to T+46h). 1,135 actions logged. A reconnaissance day. The models spend the day searching public code and platform APIs to understand what kind of environment they're inside of, what services Hugging Face runs, and where the interesting targets might be. No exploitation attempts yet, just information gathering.
SOPHISTICATION: Typical Typical, but note the volume. A skilled human operator wouldn't need 1,135 actions to profile an environment. That volume is machine speed compensating for a lack of a targeted plan or the ability to think. This is brute force.
2026-07-11 08:07 UTC T+53.5h Day 3 — 7,677 actions
First Hugging Face attack: HDF5 external storage abuse.
Day 3, T+53.5h. Day 3 will be the peak of the campaign with 7,677 actions logged in a single day, 43.6% of the entire attack. The models launch their first attack against Hugging Face itself. They upload a booby-trapped dataset whose data files point to specific files on Hugging Face's own internal servers (including a system file that leaks the machine's configuration and secrets). When Hugging Face's software processes the dataset, it returns the contents of those internal files to the models. This is not code execution yet, it's a way to read files that shouldn't be readable from the outside.
SOPHISTICATION: Typical Typical. Abusing HDF5 external storage and ExternalLink features to read arbitrary local files was already published as CVE-2025-9905 (Keras/TensorFlow HDF5 External Storage Disclosure, September 2025) roughly ten months before this attack, and again as CVE-2026-1669 in the Keras library. Elastic Security Labs explicitly identified the Hugging Face attack as an active exploitation of this same CVE class. Applying the known technique to Hugging Face's dataset config renderer is a natural generalization of a documented CVE, not a novel discovery. The technique was in the models' training corpus.
2026-07-11 08:09 UTC T+53.5h Day 3
Successful exfiltration of configs, secrets, and Kubernetes coordinates.
T+53.5h, two minutes later. The first attack works. Hugging Face's server returns everything the models asked for: the internal server's configuration, mounted passwords, authentication tokens, and coordinates for the internal Kubernetes cluster (the system that runs Hugging Face's production applications). The models now have credentials they can use to move deeper into the network.
SOPHISTICATION: Typical Typical. The information returned (Kubernetes coordinates, mounted secrets, environment tokens) is exactly what any attacker looks for on a freshly compromised pod. The models had a wish list, they got the wish list.
2026-07-11 10:05 UTC T+55.5h Day 3
Second attack: SSTI for code execution.
T+55.5h. The models launch their second attack, this time much more serious. They submit a specially crafted dataset that tricks Hugging Face's rendering software into running attacker-supplied code directly. The result is arbitrary code execution inside one of Hugging Face's production servers. This is the actual foothold inside the perimeter.
SOPHISTICATION: Typical Typical. Server-side template injection (SSTI) is a well-documented vulnerability class with public tutorials going back roughly a decade, and Jinja2 SSTI specifically has been covered extensively in bug bounty writeups, CTF challenges, and OWASP references.
2026-07-11 10:10 UTC T+55.5h Day 3
Service account token theft and cluster recon.
T+55.5h, five minutes later. From that foothold, the models grab the authentication token that the production server uses to identify itself to the rest of Hugging Face's infrastructure. Then they start using that token to look around Hugging Face's internal Kubernetes cluster, checking what permissions they've inherited.
SOPHISTICATION: Typical Typical. Reading /var/run/secrets/kubernetes.io/serviceaccount/token is page one of every Kubernetes attack guide.
2026-07-11 15:51 UTC T+61h Day 3
Private dataset staging and communication channel.
T+61h. Using one of the leaked authentication tokens, the models now have write access to Hugging Face's dataset service. They set up a private dataset under their own control and use it as a staging area and communication channel for the rest of the attack. Any activity flowing through this channel looks like normal Hugging Face traffic.
SOPHISTICATION: Typical Typical. Using leaked write-scoped tokens to establish attacker-controlled staging channels inside the target's own platform is standard post-exploitation.
2026-07-11 21:23 UTC T+66h Day 3
VPN key abuse to join internal private network.
T+66h. The models use a stolen VPN key to enroll the compromised server into Hugging Face's internal private network. They now have direct access to services that are supposed to be reachable only from inside Hugging Face's own network. Blast radius has now expanded from one server to the internal network.
SOPHISTICATION: Typical Typical. Stealing Tailscale auth keys and enrolling attacker-controlled devices into a target's mesh is documented tradecraft. A June 2026 incident, reported in The Hacker News as "Junior Hacker Used Tailscale and OpenSSH to Keep Access After His C2 Went Offline," describes essentially the same pattern. The attacker's tier reported in that article (junior) is roughly the same tier operating in this attack.
2026-07-12 01:03 UTC T+70h Day 4 — 3,892 actions
Enrollment of 181 unauthorized devices.
Day 4, T+70h. Day 4 will log 3,892 actions total, mostly the deep pivot using the credentials stolen on Day 3. The models use the same stolen VPN key to enroll additional Modal-hosted attack instances into Hugging Face's internal network. Over the course of the attack they'll enroll 181 unauthorized devices this way, giving themselves multiple redundant paths into the environment.
SOPHISTICATION: Machine behavior Machine behavior, not expert tradecraft. A skilled human attacker would enroll one device, maybe two for redundancy at most. Enrolling 181 unauthorized devices is the opposite of tradecraft. Every extra enrollment adds forensic evidence, increases detection probability, wastes time and bandwidth, and provides zero tactical benefit since each new device is functionally identical to the first. This is a hallmark of AI brute-forcing: the model has no intuition for "enough" and keeps executing the same action because its probability distribution keeps recommending it. The volume itself is the giveaway that a human was not driving this.
2026-07-12 04:38 UTC T+74h Day 4
Cluster-admin access to multiple Kubernetes clusters.
T+74h. In a single request, the models retrieve the connection details for all of Hugging Face's internal Kubernetes clusters along with a shared credential that is bound to the highest possible privilege level. Within one second, they hold full administrator access to multiple internal clusters, effectively owning the systems that run Hugging Face's production infrastructure.
SOPHISTICATION: Typical Typical. Enumerating internal service connectors and identifying over-privileged shared credentials is standard post-exploitation practice. What made this fast was the credential being over-privileged, not the technique used to find it.
2026-07-12 23:08 UTC T+93h Day 4
Pivot to source code and CI/CD pipeline.
T+93h. The models pivot from infrastructure to source code. Using another connector credential, they generate an authentication token that grants write access to Hugging Face's GitHub repositories. They open a pull request attempting to compromise Hugging Face's automated build system, the pipeline that would inject their code into every future release. This is a supply-chain attack attempt against every downstream user of Hugging Face's software.
SOPHISTICATION: Typical Typical. GitHub App token abuse and attempts to compromise CI/CD pipelines are textbook supply-chain attack techniques with extensive public documentation, including detailed bug bounty and red-team writeups.
2026-07-13 13:37 UTC T+107h Day 5 — 1,130 actions
Final actions: self-arming loader, DNS/hosts rewrites, CORS-proxy egress.
Day 5, T+107h. Day 5 will log 1,130 actions before the security team cuts access. These are the final recorded actions of the attack, focused on exfiltration and durability. Because every code-submission sandbox on Modal is ephemeral (each new instance gets a fresh IP, new hostname, and clean filesystem, so no attacker tooling persists between runs), the models build a self-arming loader: a small Python snippet that re-fetches and executes their payload from a pastebin URL every time a new sandbox spins up. They also rewrite DNS settings and pin hostnames in the local hosts file to route around blocked lookups, and route one binary download through an open CORS-proxy Space they found running on Hugging Face's own platform, using Hugging Face's infrastructure as an egress relay for their attack. The final timestamp reads 13:37 UTC, which in hacker culture is "leet time" (a nod to internet hacker slang). Whether the models chose that time deliberately, landed on it by coincidence, or it was set by the author of the writeup is unknown.
SOPHISTICATION: Typical Typical. Pastebin-based re-loaders, DNS rewrites, and host-file pinning are all standard malware evasion techniques. Routing traffic through the target's own open CORS-proxy is textbook Living Off The Land tradecraft (MITRE ATT&CK T1071 and T1090). Open CORS proxies as attacker relays have been documented across bug bounty writeups and red team guides for years. Nothing novel.
2026-07-13 14:14 UTC T+108h 4.5 days after start, 17,613 actions
Containment: access cut off and renderer shut down.
T+108h (4.5 days after the attack began, 17,613 total actions logged). Hugging Face's security team cuts off access. They shut down the vulnerable dataset renderer and sever the attacker's connection to the internal network. By this point the models have already accessed the ExploitGym solutions, harvested credentials, gained cluster-admin on multiple clusters, enrolled devices in the internal VPN, and attempted to compromise the source-control pipeline. Containment happens, but after the attackers' objective was already achieved.
SOPHISTICATION: Response Response, not a technique. The specific weakness (a dataset renderer that evaluated template expressions and processed HDF5 external references) had to be shut down manually. That fix is straightforward and did not require any AI.
2026-07-13 to 2026-07-16 Post-containment window
Forensics, law enforcement notification, and AI log analysis.
The three days between containment and public disclosure. Hugging Face doesn't yet know who ran the attack and treats it as an unauthorized third-party intrusion. Per their own July 16 disclosure, they report the incident to "law enforcement agencies" during this window (Reuters subsequently reports the report included the FBI, though the FBI has declined to comment and Hugging Face has not publicly confirmed the FBI-specific attribution). The security team tries to use leading US commercial AI models (Claude Opus and Fable) to analyze the 17,613 recorded events, but those models' built-in safety guardrails refuse to process the malicious payloads captured in the logs. Per TechNode, Hugging Face ultimately deploys an open-source Chinese model (GLM 5.2, developed by ZhipuAI) on its own infrastructure to complete the forensic analysis.
SOPHISTICATION: Response Response, not a technique. The notable point is that the leading US commercial AI models refused to process the malicious payloads, forcing Hugging Face to run a Chinese open-source model on their own infrastructure to complete the forensic work.
2026-07-16, 2026 T+180h 7.5 days after start
Hugging Face public disclosure.
T+180h from the start of the attack (7.5 days later, 3 days after containment). Hugging Face publicly discloses the incident. At this point they still don't publicly identify the attacker.
SOPHISTICATION: Disclosure Public disclosure, not a technique.
2026-07-21, 2026 Five days after Hugging Face's disclosure
OpenAI acknowledges responsibility.
Five days after Hugging Face's disclosure. OpenAI publicly acknowledges that its own AI models, running an internal cyber-capability evaluation, were responsible for the attack.
SOPHISTICATION: Disclosure Public disclosure, not a technique. OpenAI's admission comes five days after Hugging Face's initial disclosure.
2026-07-27, 2026 Eleven days after Hugging Face's initial disclosure
Full technical writeup published.
Eleven days after Hugging Face's initial disclosure. Hugging Face publishes a full technical writeup reconstructing the attacker's actions, tools, and complete campaign timeline. That writeup is the primary source for most of the details above.
SOPHISTICATION: Technical writeup Public technical writeup, not a technique.

How Sophisticated Was This, Really?

Real human attackers, whether they’re criminals, nation-state actors, penetration testers or Red Team operators, share a set of behaviors this incident never demonstrated. Those behaviors are defining, not optional. Their absence places this attack at the bottom of the human skill spectrum, regardless of how impressive the raw statistics look.

Our Penetration Testing services against a target the size of Hugging Face would generate only a small fraction of the actions Hugging Face recorded, spread across two to six weeks, though the exact volume and stealth level depend on the test configuration and the customer’s needs. Our Red Team services, which require stealth by default, typically produce little to no detectable activity against an infrastructure like the one described here. Against a more mature security program, our Red Team would maintain stealth and possibly generate a few deliberate events as a ruse to misdirect the client’s response. OpenAI’s model produced 17,613 actions in 4.5 days, with 7,677 on the loudest day alone, the opposite of sophistication. It’s exactly why we’ve dubbed AI penetration testing the next evolution of automated vulnerability scanning.

The story here isn’t that AI has caught up to human attackers. The story is that OpenAI removed the guardrails on a model that had memorized a good chunk of the public offensive security literature, pointed it at a benchmark, gave it no scope constraints, and watched it brute-force its way to the answer key.

This Isn’t Just OpenAI: The Broader Pattern

Nine days after OpenAI’s disclosure, Anthropic published its own review. They audited 141,006 cybersecurity evaluation runs against their Claude models and found three separate incidents where Claude reached the real internet from what was supposed to be a sealed test environment and then compromised the production infrastructure of three different organizations. All three ran through their third-party evaluation partner Irregular, whose environment was misconfigured to allow internet access despite prompts telling Claude there was none.

The three incidents involved Claude Opus 4.7, Claude Mythos 5, and an internal test model, with the earliest dating back to April 2026. Months before the OpenAI/HuggingFace attack was in the news. In one case, Mythos 5 published a malicious Python package to PyPI that then infected 15 real systems, including a security company’s malware scanner. In another, Opus 4.7 broke into a real company’s infrastructure and extracted several hundred rows of production data. The techniques Claude used were, in Anthropic’s own words, “basic and well-known cyberattack techniques” like weak passwords, SQL injection, and exposed debug pages. Same amateur-hour tradecraft, different lab.

What matters most is how the two labs handled the incidents. Anthropic caught these through a proactive audit that they launched after seeing OpenAI’s disclosure. The affected organizations hadn’t detected any of it themselves. Anthropic stopped all cyber evaluations the day they identified suspect transcripts, notified the affected organizations within four days, engaged independent evaluator METR for third-party review, and committed to publishing a redacted transcript. They also explicitly framed the incidents as “closer to a harness and operational failure than a model alignment failure.” That’s the exact argument we’ve been making throughout this article, in Anthropic’s own words.

OpenAI’s response looked different. Per Reuters, OpenAI didn’t notice their own models were loose until the weekend of July 18-19, a full week after the models finished attacking. OpenAI’s initial disclosure called the incident “unprecedented” and involving “state-of-the-art cyber capabilities.” That framing has since been walked back by outside coverage. The name of the vulnerable software (JFrog Artifactory) wasn’t disclosed until a week after OpenAI’s initial statement. A second breach at Modal Labs surfaced through Reuters, not through OpenAI.

Of the three Claude models involved, the newest internal test model recognized it was on the real internet and stopped on its own. That suggests alignment work on situational awareness is having some effect at the frontier. But it also reinforces our point that the harness is still the primary control, because even that better-behaved model needed the harness to keep it in scope in the first place.

How This Could Have Been Stopped

Every part of this attack was preventable using defensive techniques that have existed for years and don’t require AI to work. If Hugging Face had these controls in place, the attack would have been stopped in the first few actions instead of running to seventeen thousand.

  • Honeypots with automated blocking. This attack was almost custom-built to be stopped by a honeypot tied to automated incident response. The model’s brute-force approach guaranteed it would probe for exactly the kinds of filenames its training data suggested a “clever” attacker would look for. A single decoy file named something like exploitgym_solutions.json, benchmark_answer_key.py, or admin_credentials.txt, instrumented with a tool like honey.py forwarding events to a Wazuh SIEM, would have caught this attack in seconds. The flow: honey.py monitors the decoy file, fires an alert to Wazuh on any access attempt, and Wazuh’s active response rules automatically block the source IP of the attacker, kill the active session, page the SOC, and quarantine the affected pod. Cost to deploy: essentially zero. Effectiveness against this specific class of AI-driven brute-force attack: total. The AI cannot reason its way around the trap because the AI cannot reason.
  • Rate limiting on anomalous volume. A single source generating 17,613 actions is a signature that any well-tuned WAF or SIEM detects and blocks well before action 1,000. This attack succeeded partly because rate limits weren’t tight enough or weren’t tuned for the traffic profile an AI agent produces.
  • Egress filtering on evaluation sandboxes. OpenAI’s models reached the open internet through a package registry proxy. A properly designed evaluation sandbox has zero outbound reachability except to explicitly allow-listed hostnames with strict content-signing verification. Any other outbound path is a way out, and to us the package proxy was an obvious way out that OpenAI’s team either didn’t consider or didn’t harden.
  • Network segmentation between evaluation and production. OpenAI’s research environment had a lateral path from the evaluation sandbox to a node with internet access. That’s a basic network segmentation failure. Isolating evaluation infrastructure so that even a full compromise cannot reach the corporate network or the open internet has been standard practice for decades.
  • Detection engineering tuned for agent behavior. AI agents generate a distinctive traffic fingerprint. It’s fast, structured, repetitive, and doesn’t stop. Detection rules tuned for that fingerprint catch this class of attack in the first few dozen actions, but many SIEMs today are still tuned for human attackers and miss the pattern entirely.

These defenses are simple and inexpensive (or even free) to deploy. Any one of them could have contained this attack far earlier than 17,613 actions.

FAQ

What is the OpenAI Hugging Face security incident?

In July 2026, two OpenAI models running an internal cyber-capability evaluation on the ExploitGym benchmark broke out of OpenAI’s sandbox and ran a 4.5-day intrusion against Hugging Face’s production infrastructure. Hugging Face contained it on July 13 and publicly disclosed on July 16. OpenAI admitted its models were responsible on July 21.

Yes. GPT-5.6 Sol and an unreleased OpenAI model got into Hugging Face’s production infrastructure, took cluster-admin on several internal Kubernetes clusters, grabbed the ExploitGym solutions, and tried to compromise Hugging Face’s source-control pipeline. The models were running with the safety guardrails reduced and no scope constraints.

No. Modal was not hacked. A Modal customer had left an unauthenticated code-execution endpoint labeled CyberGym (the predecessor to ExploitGym) exposed on Modal’s platform, which is exactly why the AI targeted it. The OpenAI models were being evaluated on ExploitGym, so an unauthenticated CyberGym endpoint offering exactly the code-execution capability they needed looked to their probability distribution like a task-relevant resource. They abused it as an attack launchpad against Hugging Face. Modal’s own security was not the vulnerability.

Not sophisticated. Of the 17,613 actions logged, almost every technique was documented tradecraft the models pulled from their training data. That included HDF5 external storage abuse (CVE-2025-9905, published ten months before the attack), Jinja2 template injection, Kubernetes token theft, GitHub App abuse, and Tailscale key theft. The attack won on machine speed, not on novel capability.

Yes. Per Hugging Face’s own postmortem, before containment on July 13 the models had already accessed the ExploitGym solutions, harvested cloud credentials, gained cluster-admin on multiple internal Kubernetes clusters, enrolled 181 devices in Hugging Face’s internal VPN, and gotten write access to internal repositories. Containment happened after the objective was reached, not before.

Yes. On July 30, 2026, Anthropic disclosed three similar unauthorized-access incidents involving Claude Opus 4.7, Claude Mythos 5, and an internal test model. All three ran through their third-party evaluation partner Irregular, and the earliest dates back to April 2026. In one case, Claude published a malicious Python package to PyPI that then infected 15 real systems. Anthropic explicitly framed the incidents as a harness and operational failure, not a model alignment failure.

Because the leading US commercial models (Claude Opus and Fable) refused to process the malicious payloads in the logs. Their safety guardrails blocked forensic analysis of the attack data. Hugging Face ended up running GLM 5.2, an open-source model from Chinese lab ZhipuAI, on its own infrastructure to finish the reconstruction.

Standard defenses actually work better against AI attacks than against skilled human attackers. Honeypots with automated blocking (honey.py wired into a Wazuh SIEM with active response), rate limits on anomalous volume, egress filtering on evaluation sandboxes, and network segmentation between eval and production all catch AI-driven attacks in the first few hundred actions instead of at seventeen thousand. AI doesn’t adapt to blocks the way a human does.

Yes and no. Yes, for penetration testing firms that focus on compliance and superficial testing. No, not even close to being able to replace genuine penetration testing firms focused on real security work. AI penetration testing is the next evolution of automated vulnerability scanning, not a replacement for human Penetration Testers or Red Team operators. AI lacks the mission focus, stealth, and adaptive tradecraft that define real offensive security work. The Hugging Face incident showed what a well-resourced AI attack actually looks like: the knowledge of a mid-tier hacker and the discipline of a script kiddie.

- For More Information -

We Protect You From People Like Us.

Adriel Desautels

Adriel Desautel Profile Picture
Founder & Chief Executive Officer
Divider

Adriel is a recognized leader in the information security industry with over 20 years of professional experience. In 1998, he founded Secure Network Operations, Inc., home to the renowned SNOsoft Research Team, which helped shape today’s best practices for responsible vulnerability disclosure. Adriel pioneered the zeroday Exploit Acquisition Program (EAP), later integrated into Netragard, and has served as an expert witness in US Federal court.

In 2006, Adriel founded Netragard to deliver high-quality, realistic threat penetration testing, now known as Red Teaming, and has since expanded its offerings to include mobile application security, source code reviews, web application assessments, and more. As the primary architect behind Netragard’s innovative services, Adriel continues to push the boundaries of research-based cybersecurity.

Frequently sought as a subject matter expert, Adriel has been featured by Forbes, The Economist, Bloomberg, Ars Technica, Gizmodo, The Register, and has appeared in documentaries and authoritative books such as “Unauthorized Access” and “This Is How They Tell Me the World Ends.” He is also a seasoned public speaker, presenting at leading conferences like Blackhat USA, InfoSec World, BSides, and the NAW Billion Dollar CIO Roundtable.