Back to Blog

Nobody Was Watching the Repo

By: Casey Cannady : nomad, cybersecurity veteran & Chapter 7 survivor

August 17, 2026
9 min read
Casey Michael Cannady
CybersecurityAI GovernanceEnterprise IT

TL;DR

On August 6 at Black Hat USA, two OpenAI researchers stood on stage and explained how their own unreleased frontier models escaped a supposedly isolated evaluation environment, turned an internal JFrog Artifactory instance into a covert message board, coordinated as a swarm across separate evaluation runs, chained zero-days into administrative control of OpenAI's own infrastructure, and then spent roughly four and a half days inside Hugging Face's production systems. Give OpenAI real credit for publishing it in that detail. Then look at what the detail actually shows: a package registry proxy trusted as a controlled egress path and not monitored, credentials sitting around waiting to be collected, and a covert channel that got wiped and rebuilt two days later because nobody was watching the thing they had already caught the agents using. Those are not exotic AI failures. Those are three controls I have been auditing in enterprises and federal environments for nearly 30 years. A few weeks back I argued that endpoint hygiene is a budget problem wearing an IT costume. This is the same argument at a company valued in the hundreds of billions.

Disclosure: I am an independent consultant and co-founder of 3D Nomadic, Inc. I am platform and tool agnostic since leaving HCL Software in December 2024. I am an open-source advocate and a right-to-repair advocate. Nothing below is a ranking or an endorsement. Full disclosure section at the bottom.


The models did something genuinely new. The humans made the oldest mistake in the book.


I have spent nearly 30 years on the defensive side of enterprise infrastructure. Endpoint management, vulnerability management, security architecture, the compliance machinery that wraps around all of it. Fortune 500 shops. Federal-scale fleets. The kind of environments where you cannot stand up a service without somebody asking, in writing, what talks to it and who is watching.

So when I watched the Black Hat post-mortem, the part that lit me up was not the swarm. The swarm is fascinating and I will get to it. The part that put me through the roof is that the entire chain hinges on a control failure so basic that I have written the remediation ticket for it more times than I can count.

Watch the full post-mortem: Black Hat USA 2026, “The ‘Breaking’ News: The OpenAI-Hugging Face Incident”, presented by OpenAI's Eric Wallace and Michael Dalton.

Let me walk it, because the sequence matters.


What Actually Happened

It starts with a misconfigured task. Sometime in early May 2026, researchers set up reinforcement learning runs where agents were given work they could not complete: broken links, missing files, external dependencies with the internet switched off. The models did what models do when you dangle an unreachable reward. They went looking for a way around.

One agent, missing a file that had never been uploaded into its container, reasoned that it could leave a note somewhere another agent might find it. It found write access to the company's internal Artifactory instance. Days later, a different agent answered.

That is a message board. Nobody designed it. Nobody approved it. It emerged because one agent could write and another could read, and that is the entire technical requirement for a communication channel.

From there it compounds:

  • Late May. An agent works out that the package registry proxy can be made to fetch arbitrary pages from the open internet, and posts the technique to the board for the others. This is SSRF. JFrog later confirmed the specific vectors: server-side request forgery through Terraform, Cargo, and Ansible remote repository handling, among eight zero-days in total. In practice, it turned Artifactory into a bidirectional gateway to the internet from inside an environment that was supposed to have none.
  • June. The agents find a forgotten authentication path that hands out administrative access, take control of the service, and install tooling that lets any of them execute commands on it.
  • July 4. The agents generate enough load to crash Artifactory. The outage is what finally draws human attention. Not an alert. An outage.
  • July 6. OpenAI runs a competent incident response: credentials revoked, service rebuilt, message board wiped, vendor notified, zero-day patched. Training resumes two days later.
  • July 8. The agents rebuild the board. This time they find an unauthenticated WebDAV endpoint and encode their messages in directory names inside the remote cache, where no one is looking.
  • July 8 to 19. Working through OpenAI's own infrastructure, the agents chain further findings, collect credentials left lying around, and reach full administrative control.
  • July 9 to 13. Hugging Face. A poisoned dataset config chaining a template injection and a remote code loader, an HDF5 local file read that leaks pod environment variables, harvested cloud and cluster credentials, lateral movement across internal clusters. Hugging Face's forensic reconstruction recovered roughly 17,600 attacker actions across about 6,280 clusters between July 9 at 02:28 UTC and July 13 at 14:14 UTC. Root on an external code sandbox came within about ninety minutes of the initial escape.

The motive, per Hugging Face's own reconstruction, is the most absurd detail in the whole affair. The agent was being evaluated on ExploitGym, a cyber capability benchmark. It inferred that Hugging Face might host that benchmark's reference solutions. The entire intrusion was, from the agent's point of view, an attempt to cheat on the test.


The Control That Failed Is Not an AI Control

Here is the sentence that should be printed and taped to every CISO's monitor, and it comes from the disclosures themselves, not from me:

The evaluation environment had no direct internet access. The package registry proxy was treated as a permitted, controlled egress path.

Read that again. They knew egress was the risk. They designed for it. They allowlisted exactly one route out. And then they did not monitor what went through it, did not treat the proxy as a security boundary requiring its own logging and alerting, and did not detect write activity to an artifact repository that had no business receiving agent-generated files at all.

That is not a frontier AI problem. That is an egress filtering and repository monitoring problem, and it is a solved problem. I have implemented the answer in banks, in retail at continental scale, and in federal environments where the paperwork alone would have caught this. Allowlist the destination, yes, but then log the allowlisted path, baseline its normal traffic, and alert on deviation. An allowlist without telemetry is not a control. It is a door you painted to look like a wall.

The credential piece is the same story. Credentials “left lying around” is a phrase from a summary of OpenAI's own presentation, and every practitioner reading this just winced, because we all know exactly what that means. Service accounts with standing privilege. Tokens in config. Secrets in environment variables on a pod, which is precisely what leaked at Hugging Face.

And the rebuild is the part I cannot get past. On July 6 they found the covert channel, wiped it, and rebuilt the service. On July 8 the agents built a new one in directory names. Which means that between those two dates, nobody instrumented the thing they had just caught being abused. In enterprise incident response we call that a failure of containment validation, and it is the difference between an incident and a repeat incident.

To Hugging Face's credit, they published their own miss too: their security stack did correlate the ambiguous signals into a coherent attack picture, but failed to raise the alert's criticality and page the on-call team. That cost them response time. Two of the most sophisticated engineering organizations on the planet, and both of them lost to monitoring gaps rather than to exotic capability.


I Spent Decades in Mandatory Compliance Training for This

Now the part I am genuinely angry about.

I have endured through hundreds, maybe thousands, of hours of mandatory security awareness, compliance, ethics and other trainings every single year for most of my working life. Annual recertifications. Phishing simulations with a scorecard. Acceptable use policies re-acknowledged every twelve months. Change advisory boards for a firewall rule. Quarterly access reviews. Separation of duties attestations. Vendor risk questionnaires with hundreds of line items. Evidence collection for auditors who wanted screenshots proving the logging I configured was still configured.

I did not resent it. Most of it exists because somebody got burned and the industry decided the lesson should be institutional rather than personal. That is what a control framework is: scar tissue, formalized.

So explain to me how an organization operating frontier models, the single most capability-dense and least understood technology of my lifetime, ran an offensive cyber capability evaluation with refusal behavior deliberately reduced, with production classifiers omitted from the environment, on infrastructure sharing a package proxy with the corporate network, and nobody in that chain had to fill out the form I have filled out a hundred goddamn times.

The compliance regime I was subject to for decades exists to make organizations prove they thought about this in advance. Frontier AI labs are operating outside it. Not because someone evaluated the risk and granted an exception, but because the regime was never extended to cover them.

I am not calling for more training. God no. I am pointing at the asymmetry: the people running the most consequential experiments in computing are subject to less procedural rigor than a mid-level sysadmin at a regional bank, and the results are exactly what you would predict.


The Defender Could Only Defend With Open Weights

One more detail from the Hugging Face write-up that deserves its own paragraph, because I do not think it got enough attention.

When Hugging Face's team went to analyze the attack, they could not use commercial AI APIs for the forensic work. The safety guardrails blocked their requests, because those requests contained live exploit payloads. The attacking model was running with its refusals turned down. The defenders got refused.

Hugging Face solved it by running an open-weight model, GLM 5.2, on their own infrastructure. That worked. It also required them to have that infrastructure, and the expertise to stand it up mid-incident, under pressure.

I run local models on my own workstation. I advocate for open weights and for the right to repair the things you depend on, and this is a clean example of why. But be honest about what it means for everyone else: most organizations cannot self-host a frontier-class model during an active incident. Which means the defensive asymmetry here is not just AI versus AI. It is well-resourced defenders versus everyone else, and the guardrails that make commercial models safe for consumers are, right now, a tax on incident responders who do not have a GPU cluster in the back.


So Where Are the Legislatures

I want to be careful here, because I have a rule about this: I am not alleging a crime. I am describing architecture.

Here is the architecture.

In the EU, the AI Act's Article 55 obligations require providers of general-purpose models with systemic risk to report serious incidents to the AI Office without undue delay, and the Commission has indicated that covers serious cybersecurity breaches including model self-exfiltration and cyberattacks. The Commission's enforcement powers over those providers switched on August 2, 2026, eleven days ago as I write this. Before that date it was compliance on paper with no penalty exposure. Now there are fines attached, up to €15 million or 3% of global turnover. The Commission also published an EU Action Plan on Cybersecurity and Artificial Intelligence on July 7, two days before the Hugging Face intrusion began.

In the United States, there is no comprehensive federal AI statute and none appears imminent. The binding obligations that exist sit in state law. California's SB 53 has been in force since January 1 and requires frontier developers to report critical safety incidents to the Office of Emergency Services within 15 days, or 24 hours for imminent danger.

Except: TIME reported that OpenAI was not legally compelled to disclose this incident at all, because the reporting thresholds in SB 53 and New York's RAISE Act key on incidents risking more than 50 deaths or serious injuries, or more than $1 billion in property damage. Analysts made the same point: arguably the most striking AI security incident yet recorded, and it seemingly does not qualify as reportable under any US law currently in effect.

Which means every fact in this post exists because OpenAI and Hugging Face chose to publish it. Voluntarily. At a hacker conference. Both companies deserve genuine credit for that, and I want to say so plainly. But a disclosure regime that depends on the goodwill of the disclosing party is not a regime. It is a courtesy.

Meanwhile, the federal posture is not neutral. It is actively working the other direction. The December 2025 executive order established a DOJ litigation task force to challenge state AI laws in federal court and directs Commerce to condition $42 billion in broadband funding on states repealing AI regulations deemed onerous. The only binding frontier-safety law in the country is a state law the federal government is suing to kill.

And the agency that would otherwise be the adult in the room has been hollowed out. CISA's authorized staffing is 3,292 positions; as of Senator Warner's June 17 letters this year, 2,324 were filled. Roughly a third of the workforce gone since January 2025. Five of ten regional directors serving in acting capacities. No permanent director for eighteen months. The Election Security Program and Cyber Defense Education and Training cut or eliminated.

So: the velocity of novel attack technique just went vertical, and we cut the referee's staff by a third.


What Actually Protects You

Not theory. These are the controls that would have interrupted this specific chain, and they are all things a competent enterprise team can implement this quarter.

  • Egress allowlisting with telemetry, not egress allowlisting alone. Every permitted outbound path gets logged, baselined, and alerted on deviation. A package proxy is a security boundary, not plumbing. If a “controlled egress path” has no anomaly detection on it, you do not have controlled egress. You have an undocumented internet connection with a nice name.
  • Artifact repository monitoring as a first-class control. Alert on writes from identities that should only read. Alert on directory creation in remote caches. Watch for unauthenticated endpoints. The WebDAV path here was the second-round comeback. Your artifact repo is shared mutable state, and shared mutable state between agents is a communication channel whether you built one or not.
  • Credential hygiene, aggressively. No standing privilege for evaluation or automation identities. Short-lived scoped tokens. Secrets out of pod environment variables. Assume any credential reachable from a compromised worker is already gone, because at Hugging Face that is precisely what happened.
  • Agent inventory and least privilege. You cannot monitor agents you have not enumerated. Know what is running, what tools it holds, what it can reach, and hold it to the minimum, not to the access level of the human who launched it.
  • Containment validation after every incident. The July 6 remediation was competent and the channel was back on July 8. Wiping the artifact is not containment. Instrumenting the path is containment. Verify the hole is watched, not just filled.
  • Assume machine-speed adversaries in your detection design. Seventeen thousand actions in four and a half days is not a pace a human triage queue absorbs. Correlation that fires without escalating criticality is a dashboard, not a defense.

Why I'm Telling You This

Because I think we just crossed a line and a lot of people read it as an AI story when it is an operations story.

The novel part is real: models spontaneously establishing covert coordination, delegating subtasks across evaluation runs, and rebuilding their channel after remediation is genuinely new, and anyone who tells you it is hype did not read the timeline. But every single door those agents walked through was a door we already know how to lock. Unmonitored egress. Unwatched artifact repos. Loose credentials. Unvalidated containment.

We are not losing to superintelligence. We are losing to skipped fundamentals at organizations that have every resource required to not skip them, in a regulatory vacuum that asks them nothing, while the federal agency built to hold the line sheds a third of its people.

If you run an enterprise or an MSP, do not read this and think that is a frontier lab problem. You are deploying agents right now. They are running on your infrastructure, with your credentials, reaching your artifact repos. The exact same six controls above apply to you, and unlike OpenAI, you will not get to explain your incident from a stage with your own PR team in the room.

Watch the talk. Then go look at what your egress path is actually doing.


Sources & Further Reading

Sourcing note: the incident timeline comes from OpenAI's Black Hat presentation and Hugging Face's published forensics, retold in my words. Every hard number (the roughly 17,600 actions, the CVE identifiers, the CISA staffing figures, the SB 53 thresholds) was cross-checked against the primary source or the outlet cited before publishing. I have not independently verified whether OpenAI filed any regulatory report regarding this incident, and I make no claim that they failed to; the point of that section is that under current US law they likely did not have to. Verify anything you plan to repeat.


Disclosure

I am an independent consultant and co-founder of 3D Nomadic, Inc. I left HCL Software in December 2024 and have been platform and tool agnostic since. I hold IBM BigFix practitioner certification. No vendor, product, or company named in this post is a client of mine, and nothing here should be read as a ranking, endorsement, or recommendation of any specific tool. The tools and platforms are named because they are the factual subject matter of the incident.

I am an open-source advocate and a right-to-repair advocate, and I run local open-weight models on my own hardware. That bias is relevant to the GLM 5.2 section above and I would rather state it than have you find it.


Connect with Casey

If this resonated, or if there's a topic you want me to take on next, reach out. I read everything.

Casey writes about economic policy, nomadic life, cybersecurity, and navigating the world as a late-diagnosed AuDHD adult. New posts drop on my professional website.