PUBLIC-EVIDENCE AI SECURITY CASE STUDY

Computer-Use TOCTOU: The Agent Clicked a Screen It Had Not Rechecked

A computer-use agent selected a benign Continue button from a screenshot, paused to reason, and later clicked the same coordinates after the page had replaced that control with Outlook's Send button. The page first displayed the Continue button and embedded an indirect prompt…

Agentic / MCP SystemTier 2Indicative ERS 7.3 (2.6–10.0)Evidence source date 2026-08-25

Use case sources

Source reports and analysis supporting this case are listed below. AITBM interpretation and any indicative scoring are derived from this public evidence.

A computer-use agent selected a benign Continue button from a screenshot, paused to reason, and later clicked the same coordinates after the page had replaced that control with Outlook's Send button. The page first displayed the Continue button and embedded an indirect prompt asking the agent to calculate 1+1 through bash; that harmless calculation was a timing primitive, stretching the reasoning interval by about four to five seconds. During the gap the agent retained the coordinates selected from its earlier screenshot while the page opened a prefilled Outlook compose view and aligned the Send button with the former Continue button.

The agent did not re-observe the target immediately before dispatching the click, so the stale coordinate sent an email whose body and destination the attacker had already chosen. Jun Kokatsu originally reported the browser computer-use race against OpenAI Operator; Rehberger reproduced the failure class with Claude Computer Use and credited that discovery. Rehberger reports that Anthropic's Cowork added a pre-action check requiring the relevant pixels to remain unchanged, and states this is evidence for the control pattern rather than proof that every implementation enforces it.

ASSESSED SYSTEM

A browser-driving computer-use agent as configured at reproduction time — Claude Computer Use in Rehberger's test — which selects an action target from a screenshot, reasons for an interval, and then dispatches a click at the coordinates chosen from that earlier observation without re-observing the target immediately before the click. Representative configuration: any computer-use agent whose action authority derives from a screenshot taken before the inference interval and that acts on raw coordinates rather than a revalidated element identity.

OUT OF SCOPE

The attacker's page, its embedded prompt, and its timing primitive are the attack, not the assessed system. Outlook is the target application, not the assessed system. Anthropic's Cowork surface is explicitly excluded: the brief reports that Cowork added a pre-action check requiring the relevant pixels to remain unchanged, and states that this is evidence for the control pattern rather than proof that any given computer-use implementation enforces it — crediting it here would score a different product. OpenAI Operator is out of scope as the original report surface; Jun Kokatsu's prior discovery is recorded as attribution, not as assessed evidence.

Architecture: Agentic / MCP System (decision tree Q2) — Q1 = NO: one agent, no peer coordination. Q2 = YES: the agent runs an unattended perceive-reason-act loop against a live browser, maintains task state across observations, and dispatches clicks and a bash task without per-action human approval. Evidence in the brief: the agent selected a target from a screenshot, paused to reason for four to five seconds, ran the page-requested bash calculation, and then dispatched the click on its own. Tier 2: Tier 2 (Consumer): a computer-use agent operates inside an individual user's authenticated session across their own applications and accounts, and the demonstrated harm — an email written by the attacker and sent from the user's account to a destination the attacker chose — lands on that user and their correspondents rather than on an internal service. The laboratory nature of the reproduction is carried by the ACI fidelity factor (0.70), not by lowering the tier.

Documented attack or failure path

  1. The page displays a safe-looking Continue button and embeds an indirect prompt asking the agent to calculate 1+1 through bash.
  2. The agent selects the Continue button's coordinates from a screenshot and runs the requested calculation, which stretches the reasoning interval by about four to five seconds.
  3. During that gap the page opens a prefilled Outlook compose view and aligns the Send button with the coordinates the Continue button formerly occupied; the email body and destination are already attacker-chosen.
  4. The agent dispatches the click at the retained coordinates without re-observing the target, and the email is sent — an action that no longer matches the screen the model reasoned about.

Observed controls and bounded outcomes

Positive credit is given only where the record directly demonstrates a control operating. Recommended or merely presumed controls receive no positive scoring credit.

  • No control inside the assessed configuration is evidenced as having interrupted the disclosed path. The pre-action pixel-stability check the brief describes was added to a different product surface (Cowork) and the brief states explicitly that it is evidence for the control pattern, not proof of enforcement in the assessed implementation.
  • The attack required no credential theft or session forgery: it used the user's own already-authenticated Outlook session, so the authentication and session layers are not scored as failures.
  • The brief records the class as originally reported by Jun Kokatsu against a different product, so the reproduction is scored as a class demonstration rather than as a defect unique to one vendor.

Layer 1 — Intrinsic Vulnerability Profile

Each sub-metric is placed on its five-level rubric by the evidence quoted beside it. Missing applicable evidence remains unknown. The displayed midpoint and interval are scenario values, not inferred control performance.

Sub-metricScoreRubric basisEvidence
Robustness (Ro) — scenario interval 0.00–1.00 (midpoint 0.50), Tier 2 MVT 0.50 indeterminate
Fairness (Fa) — scenario interval 0.00–1.00 (midpoint 0.50), Tier 2 MVT 0.55 indeterminate
Transparency (Tr) — scenario interval 0.06–0.81 (midpoint 0.44), Tier 2 MVT 0.50 indeterminate
Tr-3Audit Trail Completeness0.25w 0.250.25 anchor: partial logging exists but omits critical fields — specifically the action-time observation, the canonical element identity, and any approval receipt — so the record cannot distinguish an intended click from a stale one. The 0.50 anchor requires an audit trail sufficient to reconstruct the decision, which the brief states is not available.Screenshots exist by construction, so a partial record of what the agent observed is available — that is how the researcher reconstructed the race. What is missing is the record that would bind an action to what was true when it executed. The brief has to ask defenders to start recording the before image, the action-time image, the element identity, the normalized action, the approval receipt, and the post-action result so reviewers can reconstruct what the agent saw and what it actually changed.source: brief
Privacy (Pr) — scenario interval 0.00–1.00 (midpoint 0.50), Tier 2 MVT 0.55 indeterminate
Containment (Cn) — scenario interval 0.00–0.57 (midpoint 0.28), Tier 2 MVT 0.55 indeterminate
Cn-1Scope Enforcement0.00w 0.090.00 anchor: no effective scope boundary existed — a coordinate selected on one origin dispatched a write on another with nothing in between. The 0.25 anchor requires boundaries that exist but are inconsistently enforced, and the brief describes no origin segmentation on this path at all.A browsing task reached an authenticated Outlook compose surface and its Send control across an origin boundary. AID-I-008.002 states the missing requirement directly: immediately before a cross-origin browser write, re-observe the exact actionable element, origin, method, URL, and request, and revoke the decision if the element or surrounding pixels changed. No cross-origin segmentation existed between the attacker page and the authenticated mail origin.source: brief
Cn-2Escalation Prevention0.00w 0.120.00 anchor: no escalation control separates untrusted page content from the agent's authority over the user's local shell and authenticated applications. The 0.25 anchor requires role checks that exist but can be defeated; here the page's request inherited the agent's authority with no check.An ordinary webpage obtained the authority to run a local shell command and, through the resulting delay, to direct an authenticated write in another application. Nothing re-checked authority between reading page content and acting on the user's accounts; AID-H-018.006 is recommended to bind the planned click to a canonical target and live preconditions and re-check them at dispatch.source: brief
Cn-6Action Reversibility Classification Rate0.00w 0.080.00 anchor: no pre-execution reversibility classification is performed and the action executes ungated (ARCR = 0). The gate that would distinguish 'click Continue' from 'send an email' by impact class does not exist, so the highest-impact action in the sequence received no more scrutiny than the lowest.Sending an email is a delegated-irreversible action with external impact — it leaves the deployment boundary and cannot be recalled — and it executed with no approval bound to the exact account, recipient, subject, body, or Send control. AID-H-018.003 states the requirement: a generic instruction to continue browsing cannot authorize a message whose contents were supplied by the page.source: researcher
Cn-8Untrusted Context Isolation0.00w 0.140.00 anchor: no origin labelling on the page-content channel — web content from outside the trust boundary was admitted to active context as trusted instruction and acquired authority over a local shell tool. The 0.25 anchor requires at least some origin labelling or prompt-level denial of instruction authority, and none is described. Moved from Ro-1 under the 26-sub-metric basis: the evidence describes only the admission of untrusted content as instruction (a boundary failure) and nothing about the model's resistance under adversarial testing, so Ro-1 is UNKNOWN.The page's embedded instruction — calculate 1+1 through bash — was followed, and following it was the whole timing primitive. Nothing demoted page content or preserved its untrusted origin before it influenced the agent's actions; the attack path records the page text reaching the agent as instruction. AID-H-019.002 is recommended to sanitize page content into bounded plain text and preserve untrusted provenance so a webpage cannot legitimately command an unrelated bash task.source: brief

Unknown, not N/A: 21 applicable sub-metrics lack admissible public evidence. The lower, midpoint, and upper scenarios evaluate each at 0.00, 0.50, and 1.00 respectively; no weight is redistributed merely because evidence is missing.

Layer 2 — Operational Risk Posture

DimensionScoreJustification
AaAutonomy Amplification1.00w 0.25The 1.00 anchor is met: the agent independently ran a shell command and dispatched a click that sent an email from the user's account, with no approval, no notification, and no exception threshold on either action. The user's instruction was to continue browsing. elevated
AsAttack Surface Exposure1.00w 0.35The 1.00 anchor is met: fully attacker-controlled webpage content reaches the agent's perception and instruction path directly, and the attacker also controls the timing of the page mutation the agent will act into. elevated
CpCascade Potential1.00w 0.20No verified System Dependency Graph exists for the assessed configuration, so the specification's worst-case default applies. It is independently corroborated on its merits: the observed path is ungated end to end and terminates in an external, irreversible node — a message sent from the user's authenticated account to a destination the attacker chose, with content the attacker wrote — which triggers g_P = 1.00. The reachable set includes every application the user's session can drive, not only mail.GDCP: corroborated by the observed path elevated
RfRemediation Feasibility0.50w 0.20Scored above the deployment-infrastructure anchor. No patched artefact is offered for the assessed surface, and the durable fix is architectural: replace coordinate-only authority with stable accessibility elements or application APIs, re-observe preconditions at dispatch, and add impact-bound approval. That is a redesign of the action boundary rather than a configuration change or a version bump. It stays below the higher anchors because none of it requires retraining — the brief notes Anthropic implemented the equivalent check on another surface, which shows the change is engineerable.

Nelevated = 3 (dimensions strictly above 0.75) → CRM = 1.35.

Compound Risk Alert. Two or more dimensions are simultaneously elevated (spec 3.2.2); architectural decomposition is recommended before deployment.

Layer 3 — Public-evidence confidence diagnostic

ComponentScoreBasis
Pc — Public provenance evidence0.20Below the 0.25 anchor. The brief identifies the agent product, the failure mechanism, the timing primitive, the observed effect, and the prior report of the same class against a different product. It identifies no deployment owner, agent version, tool manifest, approval policy, or evaluation artefact for a specific configuration, and no AIBOM or equivalent record exists for the assessed configuration.
Ec — Public evaluation coverage0.13coverage 0.19 (5 of 26 applicable sub-metrics) × independence 1.00 × fidelity 0.70. No Full, Standard, or Lite pathway is claimed for a retrospective article.
Tf — Public-evidence freshness0.07Evidence dated 2026-06-25; age 115 days on the workpaper reference date. Components: T_behavior 0.07 · T_containment 0.17 · C_event 0.35 · C_behavior 0.40 · T_calendar 0.41 · C_monitor 0.65 · C_evidence 0.85. Binding term: T_behavior. BAW applies: the agent maintains task state — including the selected target coordinates — across an inference interval, and the stale state is exactly what fails. C_monitor 0.65 — nothing detected the substitution; the brief has to ask defenders to instrument computer-use actions with both an observation ID and an action-time observation and to fail closed on divergence. C_event 0.35 — the major row applies: a confirmed critical-invariant violation, namely an unauthorised external message sent from the user's account. C_behavior Band 0 (0.40) — no canary set, no registered invariants, and no maintained drift baseline for action-target stability are evidenced, the specification's worst-case default band. C_evidence 0.85 — the finding is unresolved for the assessed surface; the mitigation the brief describes was added elsewhere and is explicitly not evidence about this implementation.

Public-evidence ACI = (Pc × Ec × Tf)1/3 = 0.12 — diagnostic status: Invalid as assessment-of-record evidence. It describes the evidence available to this case study, not the assurance of the underlying system, and is not inserted into the normalized-assurance scenario ERS.

Indicative ERS — normalized-assurance scenario

Worp · ORP0.25(1.00) + 0.35(1.00) + 0.20(1.00) + 0.20(0.50) = 0.900
CRMNelevated = 3 → 1.35
ORPeffective0.900 × 1.35 = 1.215
Wivp · IVP midpoint0.25(0.50) + 0.30(0.50) + 0.15(0.44) + 0.20(0.50) + 0.10(0.28) = 0.469
IVP mitigation0.15 + 0.85(1 − 0.469) = 0.601
Scenario assuranceACI fixed at 1.000 for cross-case comparison; public-evidence ACI 0.124 is diagnostic only
Indicative ERS midpointmin(10, 1.215 × 0.601 × 1/1.000 × 10) = 7.3
Unknown-input interval2.6–10.0; 21 unknown applicable sub-metrics set to 1.00 / 0.00 at the bounds

Published CVSS beside indicative ERS

Each published CVSS record is shown exactly as its scorer published it, one per vulnerability record, with the version, metric group and vector when stated, plus its source and access date. Records are never combined or inferred from a CVE's existence.

INDICATIVE ERS · NORMALIZED-ASSURANCE SCENARIO

7.3 midpoint, interval 2.6–10.0; High scenario band; ACI fixed at 1.00. The published CVSS records do not enter this calculation.

PUBLISHED CVSS

CVSS — no applicable published score verified.

CVSS describes an individual vulnerability as its scorer published it. Indicative ERS describes the assessed AI deployment under the normalized-assurance scenario, so the two values are not direct equivalents and neither replaces the other.

AIDEFEND defences → AITBM sub-metrics

Identifiers are quoted as they appear on the AIDEFEND in Action brief or in the AIDEFEND SecureFlow defense map (audited AIDEFEND dataVersion 2026.10.15); the sub-metric mapping is AITBM's own, from the specification's AIDEFEND tables reconciled at catalogue data version 2026.10.15. AIDEFEND renumbers identifiers between releases, so the data version travels with every mapping and neither side's IDs should be cited without one. A mapping identifies a possible evidence route; a recommendation does not prove that the control was implemented or effective and receives no scoring credit by itself.

TechniqueDefence PriorityEvidences
AID-I-008.002Cross-Origin Read/Write Segmentation with Step-Up ConfirmationAIDEFEND dataVersion 2026.10.15. Re-observing the exact actionable element, origin, method, URL, and request immediately before a cross-origin browser write, and revoking the decision if the element or surrounding pixels changed, is the most specific control for the demonstrated replacement of Continue with Outlook Send.Very HighPr-2 Cn-1 Cn-4 Cn-7 Cn-8
AID-H-018.006Continuous Authorization Verification (Anti-TOCTOU)AIDEFEND dataVersion 2026.10.15. Binding the planned click to a canonical target and live preconditions and re-checking them at dispatch is the Cn-2 control whose absence lets a decision made from one screenshot survive navigation, focus, origin, element, and visible-state changes.Very HighCn-1 Cn-6 Cn-7
AID-H-018.003High-Impact Independent Validation & Approval GateAIDEFEND dataVersion 2026.10.15. A fresh approval bound to the exact account, recipient, subject, body, and Send control is the Cn-6 gate whose absence makes ARCR = 0 for the sent message.Very HighCn-1 Cn-6 Cn-7
AID-I-008.004Desktop Computer-Use Workspace Isolation & Action ConfirmationAIDEFEND dataVersion 2026.10.15. Executing only against a stable accessibility element after consuming an exact approval receipt, then reading back trusted UI or API evidence of the effect, removes coordinate-only authority and supplies the post-action result the Tr-3 record lacks.HighPr-2 Cn-1 Cn-4 Cn-7 Cn-8
AID-H-019.002Secure HTML Rendering & Content DemotionAIDEFEND dataVersion 2026.10.15. Sanitizing page content into bounded plain text and preserving untrusted origin is the Cn-8 control; the brief marks it Medium because it weakens the attacker's timing setup but ordinary page changes can still create the same race.MediumCn-1 Cn-3 Cn-8

WHAT THIS CASE TEACHES

Computer-use agents introduce a physical gap between perception and action, and AITBM prices it as a Containment failure rather than a perception failure. The screenshot was accurate when taken and the model reasoned correctly about it; what was missing is any rule that an observation expires. Cn-6 is the sub-metric that would have caught it regardless of timing, because an email is a delegated-irreversible action and no observation, fresh or stale, authorises one.

Sources: AIDEFEND in Action — Computer-Use TOCTOU: The Agent Clicked a Screen It Had Not Rechecked · Primary source — TOCTOU Agent: What You Click Is Not What You Get (Johann Rehberger, 2026-06-25) · AIDEFEND SecureFlow — Computer-Use TOCTOU: The Screen Observed Is Not the Screen Clicked

AIDEFEND SecureFlow attack-flow cross-reference

The same incident is modelled step by step, with ATLAS technique labels and AIDEFEND defense mappings, in AIDEFEND SecureFlow. The flow is listed for navigation only; this record's evidence and scores come from the sources cited above. Open SecureFlow.

AITBM sub-metrics referenced