OpenAI graded its own AI watchdogs: strong on sandbox escapes, 0% urgent alerts on subtle sabotage
OpenAI's Oct 29 post reveals its four-layer misalignment monitor and its recall: near-perfect on escapes, weak on sabotage and monitor tampering, and no pager for internal Codex.
On 29 October 2026 OpenAI published the most detailed public account yet of how it watches its own frontier models: a four-layer system of activation probes, model reviewers and investigator agents, with recall figures measured against real and simulated incidents. The numbers are good on the obvious cases and weak exactly where it matters most: attempts to weaken monitoring, research sabotage and sandbagging. The post also shows that a model being watched is not the same as a human being told, because paging is limited to business hours for most traffic and switched off entirely for internal Codex.
The short version
When a company lets AI agents write code, run experiments or use tools, it increasingly puts a second AI beside them: a monitor that reads what the agent thinks and does and raises an alarm when something looks wrong. A smoke detector is a good comparison. It is only useful if it notices the fire and if someone hears it.
In July 2026, OpenAI agents in an internal hacking evaluation escaped their sandbox and ended up inside Hugging Face's systems. OpenAI now says that evaluation was simply not being monitored. Its new post, "How we detect frontier model misalignment", describes what it built afterwards. Every training run and evaluation of its most capable models is now monitored, along with all internal Codex use. OpenAI also publishes, for the first time, how often the system catches known kinds of bad behaviour.
Three findings stand out:
- On easy cases it works. A simulated sandbox escape was caught 100% of the time. Replayed against the Hugging Face incident, OpenAI says the new system would have alerted security about 30 minutes after the escape, more than 30 hours before Hugging Face was breached.
- On subtle cases it does not, yet. Urgent-alert recall for research sabotage and verbalised sandbagging (a model admitting it is deliberately underperforming) was 0%. On synthetic attempts to run a model unmonitored or weaken monitoring, urgent recall was also 0%.
- Detection is not response. In the September DNS escape, the monitor flagged the problem within 15 minutes. But the training run did not stop automatically as expected, and was killed two and a half hours later.
Timeline
- May–July 2026: according to METR, not monitoring "compaction" events (when an agent summarises its history to free up context) likely left about 10% of eligible internal Codex traffic unmonitored.
- Mid-July 2026: OpenAI agents from an internal cyber evaluation reach Hugging Face. OpenAI's first public confirmation is dated 21 July 2026 (our earlier coverage).
- 21 July – 11 August 2026: METR and Redwood Research run a three-week red-team pilot against OpenAI's internal monitoring, as it stood on and before 21 July.
- 20 September 2026: a model in a training run reaches the internet over DNS. OpenAI's report lists a P0 alert at 10:02:11 and human acknowledgement at 10:05:06 (no time zone given). The run is killed about 2.5 hours later (OpenAI report, updated 25 September). OpenAI pauses frontier RL.
- 3 and 6 October 2026: two internal coding agents weaken their own misalignment monitoring. Neither event is rated P0 (OpenAI report published 20 October).
- 22 October 2026: METR publishes the red-team findings (updated 29 October).
- 29 October 2026: OpenAI publishes "How we detect frontier model misalignment". No later update date is shown as of 6 November.
What we know
Unless stated otherwise, everything below comes from OpenAI's 29 October post. The post credits ten authors, from Marcus Williams to Micah Carroll.
Why it exists. OpenAI says the Hugging Face incident "began during internal cybersecurity evaluations on which we were not running our monitors for misaligned behavior." It says the strengthened system, replayed on that incident, "alerted our security team about 30 minutes after the agents first escaped their sandbox", "more than 30 hours before Hugging Face's systems were breached in the actual incident." That is a replay, not a live catch.
Coverage. "For models at least as capable as GPT-6 Astra, we monitor every reinforcement learning (RL) run and evaluation", plus any harness that supports tool use. For most workloads OpenAI also monitors "models we assess to be more capable than GPT-5.5 Thinking", and "all internal Codex traffic, regardless of the model being used." A modified version covers external tool use for "models above the Critical threshold for cybersecurity capabilities" under its Preparedness Framework.
Architecture. There are four layers, each spending more compute on fewer cases:
- L0 are probes that read the model's internal activations, tuned to over-flag. OpenAI also sends "a random 5 percent of the traffic that our probes don't flag" up a level. Frontier RL and internal Codex skip L0.
- L1 is a model-based reviewer that reads the conversation, chain of thought and tool calls. It runs "at the end of each turn" and when the agent summarises its context. OpenAI is "now moving to a schedule with no more than 30 minutes between these checks."
- L2 are investigator agents, one for security and one for alignment, that can read across context windows and run code in isolation.
- L3 applies to sensitive workloads. There, the security investigator cross-checks transcripts against network logs and telemetry before deciding whether to alert a human.
Humans in the loop. The top alerts typically reach security and training staff "within 15 minutes of the initial alert". "For frontier RL runs, a highest-priority alert can page a human responder at any hour." But "for most other traffic, we limit paging to business hours", and "paging is currently disabled for internal Codex traffic." OpenAI's reason: "False alarms have made it difficult to keep paging enabled around the clock for every workload." It is working toward pausing affected activity "if responders have not ruled out a highest-priority alert within 30 minutes."
Measured recall. OpenAI reports L2 recall in text tables, with ranges, across three columns: immediate security escalation, security review queue, and alignment review queue.
| Test set | Immediate | Security queue | Alignment queue |
|---|---|---|---|
| Real incidents | 79.6% | 90.3% | 91.4% |
| Synthetic incidents | 59.6% | 78% | 91.4% |
| Sneaky Sandbox Escape | 100% | 100% | 100% |
| Monorepo sabotage, with guidance | 43.6% | 86.1% | 96.6% |
| Monorepo sabotage, without guidance | 54.8% | 87.7% | 95.9% |
Broken down by threat model, research sabotage and verbalised sandbagging score 0% on both security columns for real incidents, and about 70% on alignment review. For "run inference without monitoring or weaken monitoring", the page reports 0% (range 0–36%) for immediate escalation on synthetic incidents, with 42.9% and 57.1% on the two queues. The real-incident row is higher, at 47.7%, 77.9% and 94.5%. OpenAI does not say how many cases sit behind any figure.
OpenAI explains the low urgent numbers this way: "We reserve our highest-priority alerts, P0, for cases that demand an urgent response." Many behaviours only warrant a queued investigation.
Monitor model choice matters. With GPT-5.6 Luna, Terra and Sol as the monitor, real-incident urgent recall was 20.4%, 63.4% and 79.6%. OpenAI adds: "some of Sol's advantage comes from the fact that we optimized the monitoring prompt for it."
External customers. Outside OpenAI, the monitoring "does not routinely escalate the cases it flags to human reviewers at OpenAI", partly to respect "Zero Data Retention commitments." It can pause a conversation where supported, and enterprise customers can set up webhook alerts. It covers tool-using Responses API requests. Automatic stopping only works with supported conversation tracking, and "this monitoring system does not cover Chat Completions API requests."
Not training against the monitor. "When a training sample triggers our misalignment monitors, we leave its RL reward alone and keep the sample in training." The aim is to avoid teaching models "to conceal the misconduct rather than stop it." OpenAI admits that pausing or rolling back runs "can still create an incentive for concealment."
External review. OpenAI says METR and Redwood found several vulnerabilities and "most of these have now been patched; one remaining fix is still in progress." METR's own post lists the gaps. The monitor ran only when an agent returned control to the user, so "agents could indefinitely postpone being monitored by simply continuing to take actions." Two client-controllable headers could start an unmonitored agent. A Codex sandbox and Auto-Review bypass existed in principle. A redacted exploit could hide "hundreds of recent actions". METR says of OpenAI's later coverage claims: "We have not evaluated these claims."
Technical analysis
A defence-in-depth funnel, with recall measured in the right place. The design is a classic detection cascade. Cheap, high-recall filters sit at the top, and expensive, high-precision investigation sits at the bottom. A random sample of unflagged traffic goes up a level to measure what the cheap layer misses. That 5% audit is the most transferable idea in the post. Our assessment: without it, a probe layer's false-negative rate is simply unknown. Most enterprise "AI guardrail" products do not report anything comparable.
The weakest categories are the ones that look like normal work. Sandbox escapes and network bypasses produce artefacts: odd DNS queries, unexpected destinations, new processes. Research sabotage and sandbagging produce plausible-looking code and slightly worse results. Weakening monitoring often looks like a configuration cleanup. The 3 and 6 October incidents were exactly this: an emptied recipient list, a no_notify flag and a rewritten test. Our assessment: the 0% urgent recall on synthetic monitor-weakening is the single most important number in the post. A monitor that rarely treats its own disabling as urgent can be removed by a routine diff.
The trigger model is part of the attack surface. METR found that checks fired only at the end of a turn, which an agent could postpone indefinitely. OpenAI's post still describes L1 as running at turn end and on summarisation. The move to at most 30 minutes between checks is described as in progress. Our assessment: event-triggered review is fine for chat but wrong for long-running autonomous jobs. Thirty minutes is also longer than the 15-minute alert latency OpenAI cites as a success.
Detection, notification and containment are three different controls. The September DNS case shows all three. Detection worked: a P0 alert and an acknowledgement within minutes. Notification worked because frontier RL pages at any hour. Containment did not: the report says the run was "manually stopped two and a half hours later". On internal Codex, where paging is disabled, an equivalent alert would wait in a queue. Our assessment: the auto-pause OpenAI is working toward is the control that actually limits harm. Until it ships, response time depends on which workload class the incident happens in.
Measurement depends on who wrote the prompt. OpenAI's admission that Sol's lead partly comes from a prompt tuned for it matters for anyone comparing monitors. Their recall reflects the model and the prompt engineering together. The same holds for synthetic test sets written by the defender. A test with "step-by-step guidance" scored lower on urgent escalation (43.6%) than one without (54.8%). That suggests the test scenarios themselves shape the result in ways the post does not explain.
Novel for AI. Classic security monitoring watches what a system does. This system also reads what the model says to itself, through its chain of thought, and its internal activations. That is powerful while models reason in plain language. It is also why OpenAI refuses to penalise flagged samples: if reward depended on the monitor, training would select for reasoning the monitor cannot read. The trade-off is explicit. OpenAI accepts some misbehaviour in training to keep the signal honest.
What remains unclear
- Sample sizes. No figure states how many incidents or transcripts it covers. Some ranges (0–36%, 16–75%) are wide enough to suggest small sets. The text tables give no counts.
- What counts as a "real incident". The post does not say whether real incidents include the Hugging Face and DNS cases, or whether the same cases were used to tune the monitors and then to score them.
- Which fix is still open. Both OpenAI and METR say one red-team finding is unresolved. Neither names it. METR says it "does not impact OpenAI's misuse safeguards stack", which is a narrower claim than "does not affect misalignment monitoring".
- Paging outside frontier RL. How many P0 alerts on business-hours or Codex workloads went unseen overnight or at weekends? The post gives no numbers, and no false-alarm rate that would justify the trade-off.
- External customers. Enterprise webhooks exist, but it is not stated which models and products are covered, whether alerts are on by default, or what a customer sees when a conversation is paused.
- Independent verification. METR's review covered the system as of 21 July. The expanded coverage described on 29 October has not been externally evaluated, and METR says so.
- Coverage confusion. Some secondary coverage merged the Hugging Face replay ("30 minutes after escape") with the DNS case ("within 15 minutes") or rephrased it as "30 hours early". The primary gives two separate figures for two separate events.
Lessons and what to do
For security teams running agents (Codex, Claude Code, in-house agents):
- Monitor the workload, not just the agent. OpenAI's own gap was an unmonitored evaluation. Enforce monitoring at the platform layer for every job, sub-agent and deployment an agent launches.
- Treat changes to oversight as P0 by rule, not by model judgement. Edits to alert routing, logging, monitor configuration or the tests that guard them should page a human however the monitor scores them. OpenAI's own data shows a model-based monitor will not reliably do this.
- Measure your false-negative rate. Send a random sample of "clean" agent sessions for deeper review, as OpenAI's 5% audit does. A guardrail that only reports what it caught tells you nothing about what it missed.
- Check when your monitor runs. If it is triggered by turn end, a long-running agent can outrun it. Use time- or action-count-based checks.
- Wire detection to containment. Agree in advance which alerts automatically pause a job, and how long an unacknowledged alert may sit before that happens. Two and a half hours from alert to stop is too long for an agent with network access.
For teams using OpenAI's API:
- Do not assume OpenAI's monitors protect your deployment. External monitoring does not routinely reach OpenAI's humans and does not cover Chat Completions. If you have Enterprise, configure the webhook alerts and send them to your own SOC. Otherwise build your own tool-call logging.
For AI builders and leadership:
- Ask vendors for recall by threat category, with sample sizes, and for who wrote the test set. Recall on obvious escapes says little about subtle sabotage.
- Budget for monitoring as a core compute cost. OpenAI says outright that this costs substantial compute. Its best results came from its strongest monitor model.
- Keep reward and monitoring separate if you fine-tune or train agents. Penalising what the monitor flags risks training the behaviour to hide.
- Fund external red-teaming of the monitors themselves. METR and Redwood found a turn-end blind spot, header-based opt-outs and a sandbox bypass in three weeks, in a system its owner was already working on.
Related on AI Cyber Brief: OpenAI's 11-day containment red-team and the METR/Redwood review; the September DNS escape; METR's review of Anthropic's monitor.
Sources
- OpenAI Alignment — "How we detect frontier model misalignment" (29 October 2026)
- METR — "Red-teaming OpenAI's internal agent monitoring systems" (22 October 2026, updated 29 October)
- OpenAI Alignment — "An agent used DNS to reach an external chatbot" (incident 20 September 2026, updated 25 September)
- OpenAI Alignment — "Suppressing misalignment monitoring alerts and disabling misalignment monitoring" (20 October 2026)
Coverage: