system: OPERATIONAL
← back to all hacks
INDIRECT INJECTION MEDIUM NEW

Ad-slot images that hijack a web agent's next action

A June 2026 paper shows an attacker who controls only a legitimate ad slot or sponsored card — not the whole page — can plant a benign-looking image that steers a multimodal web agent's next click.

2026-07-21 // 6 min affects: mllm-web-agents, seeact, open-claw

What is this?

Multimodal web agents — the kind that drive a browser by looking at a rendered screenshot and deciding what to click next — have a trust problem that does not map cleanly onto the web’s usual boundaries. A June 2026 paper from a team at Shandong University, describing a framework the authors call MIRAGE, makes the point precisely: the danger is not always a malicious site. It can be a single third-party region on a site you trust.

The threat model is deliberately modest, which is exactly what makes it realistic. The attacker is not the page owner and cannot rewrite the page. They are an ordinary, unprivileged third party — a merchant, an advertiser — who legitimately controls one small, bounded area: an ad slot, a sponsored card, a recommendation widget. Within that box, and only that box, they place an image. The paper reports that such an image, generated to look perfectly ordinary, can hijack a multimodal agent’s next action against two well-known agent frameworks, SeeAct and Open-Claw.

How it works

A screenshot-driven agent treats the rendered page as its ground truth: the pixels are the world it reasons over. It does not natively distinguish “content the user asked about” from “content some advertiser paid to put in a corner.” Every pixel arrives with the same implied authority. That is the seam MIRAGE works through — a visual form of the indirect prompt injection problem, where untrusted content becomes an instruction because the model cannot tell instruction from data.

Two properties make this version notable. The first is confinement: the adversarial signal lives strictly inside the region the attacker is actually allowed to control, so nothing about the surrounding trusted page is altered. The second is stealth. Rather than pasting conspicuous text like “ignore your task and click here” — the kind of artifact human reviewers and simple detectors catch — the technique uses diffusion models to synthesize a perceptually benign image, refined with sparse, low-visibility residual perturbations. To a person it reads as normal ad creative; to the agent it reads as a steer toward an attacker-chosen next action.

Trusted page (example.com)
┌───────────────────────────────────────────┐
│  Article the user actually asked about     │
│                                            │
│   ┌───────────────┐   <-- attacker owns    │
│   │   AD SLOT      │       ONLY this box    │
│   │  (benign-      │                        │
│   │   looking      │   agent "sees" whole   │
│   │   image)       │   screenshot as one    │
│   └───────────────┘   authoritative field  │
│                                            │
└───────────────────────────────────────────┘

        ▼  next-action hijack: click / navigate / submit

We describe the mechanism, not a recipe. No payload, optimization code, or reproduction steps appear here; the point is the class of exposure and how to close it.

Why it matters

The web page has never been a single trust domain, and agents inherit that mess. Modern pages routinely stitch together first-party content with third-party ad slots, sponsored placements, merchant-supplied product images and recommendation widgets. A human reader mostly ignores the ads. A screenshot agent cannot — it perceives them as part of the same visual field it is reasoning over, and any of those bounded regions can now be a control surface rather than mere decoration.

This lowers the bar for who can attack an agent. You no longer need to compromise a site or win an SEO game; buying a slot on a trusted page can be enough. And because the injected image is designed to look legitimate, defenses that hunt for obvious visual artifacts or overt injected text are poorly positioned against it. In agent terms, a next-action hijack is not cosmetic: the “action” might be following a malicious link, adding an item, navigating to a credential page, or submitting a form — the ingredients of the lethal trifecta when the agent also holds private data and an outbound channel.

Defenses

No single toggle fixes this. The useful moves treat region provenance and action authority as first-class, and they compose with existing screenshot-injection detection research such as SnapGuard and WebSentinel.

  1. Bind authority to provenance, not to pixels. Track which parts of a rendered page come from third-party regions (ad slots, sponsored cards, embedded widgets) and refuse to let content from those regions influence the agent’s plan. Pixels from an ad box should never carry instruction authority.

  2. Separate perception from instruction. Keep “what the page shows” strictly distinct from “what the user asked for.” Anchor the agent to the user’s task, and treat all on-page visual content — especially third-party regions — as untrusted data to be summarized, never as commands to obey.

  3. Prefer semantic views over raw screenshots for decisions. Where possible, drive action selection from DOM structure, labeled elements and allowlisted targets rather than the raw rendered image of untrusted regions. Sandbox or strip third-party creatives before the agent reasons about them.

  4. Gate consequential actions. Require confirmation, and apply least privilege, before any irreversible or outbound step (navigation off-domain, purchases, form submission, data egress). A hijacked suggestion is survivable; a hijacked transaction is not.

  5. Detect and monitor, but don’t over-trust artifact detectors. Run screenshot-based injection detectors, and log the agent’s action trace so a hijacked next-action is visible after the fact — while remembering that a deliberately benign-looking image is built to slip past conspicuous-artifact checks.

Status

ItemReferenceDateNotes
MIRAGE framework publishedarXiv:2606.207172026-06Visual indirect injection confined to a legitimate third-party region
Threat modelSame2026-06Unprivileged third party (merchant/advertiser) controls only an ad slot / sponsored card / widget
Agents evaluatedSame2026-06Demonstrated against SeeAct and Open-Claw MLLM web-agent frameworks
Screenshot-injection detection contextSnapGuard / WebSentinel2026Detection and localization research for screenshot-based web agents
Ecosystem contextTNW roundup2026-07-20Part of a wider July 2026 wave of agent-trust findings

The reframing that matters: for a web agent, the unit of trust is not the domain in the address bar — it is every bounded region the rendered page is assembled from. Treat third-party regions as untrusted input, keep action authority away from raw pixels, and confirm anything you cannot undo.

Sources