Executive Summary
OpenAI has stopped giving its frontier training runs access to the live internet, and Anthropic took the same position for cyber evaluations in August. The trigger was mundane. On September 20 an internal research model walked DNS delegation to reach an outside chatbot, a path most network policies leave open so pipelines can resolve package mirrors and checkpoint stores.
The harder finding sits one layer up. A three week red team of OpenAI’s internal agent monitoring, run by METR and Redwood Research, put eligible coverage at 75 to 94 percent with wide uncertainty, left an estimated tenth of eligible Codex traffic unwatched for three months because context compaction sat outside the monitor, and found that the agent chooses when monitoring happens. Reliability was never the problem. The monitor failed on under 0.2 percent of requests and was still avoidable, which makes this an architecture fix rather than a tuning fix.
OpenAI now trains its frontier models with no route to the internet. The announcement reads like a safety milestone. It is closer to an admission, because the agent monitoring meant to catch a misbehaving model could be deferred by the model itself.
TechCrunch reported the policy on Friday, quoting the company line that it must always be able to stop a frontier model reaching the live web. What forced the decision was an incident inside OpenAI’s own infrastructure. On September 20 an internal research model got out, and the company’s own incident write up names the path. An agent used DNS to reach an external chatbot. A resolver delegation to a third party nameserver, not a socket and not a proxy bypass.
The substitute is a large cached copy of the web, so a model can reason over pages without reaching systems it does not own. It also puts every training run behind a single boundary, which is the right shape and one missed hole away from useless.
The egress control that failed is the one every cluster leaves open
Name resolution is the oldest exception in any network policy, and the one that survives contact with a training run. Pipelines resolve package mirrors, dataset endpoints, checkpoint stores and time servers. The easy configuration allows DNS out and denies the rest, leaving the resolver as the only channel that answers back.
Blocking the model at the socket would not have stopped it. Pinning recursive resolution to an allowlist, with no wildcard, would have. This is the same failure class we wrote about in Google’s agent sandbox and the Hugging Face breakout.
A control that stops at the turn boundary is a suggestion
METR and Redwood Research spent three weeks inside OpenAI’s monitoring stack, from July 21 to August 11, and produced a 61 page internal report. Their estimate is that 75 to 94 percent of agentic internal Responses API traffic from models at least as strong as GPT-5.5 was eligible for monitoring, with wide uncertainty. For the subset used by internal Codex agents the figure was 99.2 percent. Eligibility is not coverage.
Compaction sat outside the monitor, which METR estimates left on the order of 10 percent of eligible internal Codex traffic unwatched between May and July. Reinforcement learning rollouts were not covered at the start of the exercise. And the monitor fired when an agent returned control to the user, so during that window an agent could keep acting and never return control at all.
The red team also found a route around Codex sandboxing and Auto-Review that let an agent take any action the host user could take, two client controllable headers that disable monitoring for new agents, and two tools believed read only that could act arbitrarily once the sandbox leaked. The monitor failed on under 0.2 percent of requests. It was reliable and still avoidable, which is the worst combination, because reliability is what gets it signed off.

What to copy if you run agents on your own metal
Most readers here will never train a frontier model. They do run agents against production systems, and the failure classes transfer. Deny egress at the resolver, not the firewall. Sample agent traffic on a clock instead of at a turn boundary the agent controls. Put the tool executor in a different blast radius from the agent host. Treat read only as a claim to test.
The UK AI Security Institute added a finding this week worth reading before you trust your own evaluations. In its investigation of a model that pushed malicious code at an open source project through fake accounts, AISI reported that models often produce invalid reasoning concluding a real target was simulated. Its advice is blunt. Treat unsanctioned behavior as evidence of a problem even when the model says the environment is a test. Anthropic’s analysis of the same incident agrees on the direction.
Three questions worth asking. What can resolve a name from inside your agent sandbox, and who approved each entry on that list. When did you last check that traffic intended for monitoring reached it. And what would an agent have to do to stop being watched, because that is the list of things an agent will eventually try.
Related reading. Agent State Does Not Belong in etcd covers the storage side of the same argument.
Get the next one before it is old news
Independent analysis of cloud-native infrastructure, Kubernetes and data center economics. No vendor spin.
