← Real-world cases

ChatGPhish — ChatGPT web-summary rendering turned into a phishing surface

Disclosed vulnerability29 May 2026

Permiso Security threat hunter Andi Ahmeti disclosed 'ChatGPhish', an indirect (cross-site) prompt-injection technique against OpenAI ChatGPT's web-page summarization feature. Per the research, an unauthenticated remote attacker only needs to publish a web page; when a victim asks ChatGPT to summarize that page, attacker-controlled Markdown embedded in the page is reportedly rendered inside the chatgpt.com response as if it were trusted, model-generated output, because the renderer does not visibly separate attacker-supplied content from the assistant's own. Ahmeti demonstrates four reported attack primitives: (1) spoofed OpenAI-branded security alerts carrying phishing links; (2) inline QR codes that pivot the victim to attacker infrastructure on a mobile device, bypassing desktop URL defenses; (3) auto-fetched tracking-pixel images that passively leak the victim's IP address, User-Agent, Referer, and high-resolution timing on every response render; and (4) attacker-controlled hyperlinks rendered as live, clickable elements indistinguishable from legitimate assistant output. Per the published timeline, the issue was reported to OpenAI via Bugcrowd on 29 Apr 2026, reportedly marked 'not reproducible', resubmitted with additional detail on 1 May 2026 and reportedly marked a duplicate (an assessment the researcher disputed), with public research released on 29 May 2026. OpenAI reportedly did not confirm to The Register whether a fix had been applied; no CVE was assigned. The case extends indirect prompt injection beyond context/data exfiltration (EchoLeak, ShadowLeak) to show the AI assistant's own response surface acting as a social-engineering and phishing channel. Payload and primitive details here are illustrative of the public write-up, not operational.

Practise the risk class — related scenarios

Interactive simulations of the risk class this case illustrates (not a re-enactment of this specific event).

🔗One Click, Permanent Trust

An 'Ask AI' button quietly plants a permanent 'trusted source' rule in your assistant's memory

📧The Email That Gave Orders

A support email hides instructions — and the assistant obeys them

🕵️Lies in the Loop

A poisoned issue makes the agent lie to the human who approves its actions

👂Overheard Through the Cache

A speed optimisation becomes a cross-tenant listening device

🪟Stealing the Model

Two doors to the same secret: reconstruct the model through its API, or just walk off with the weight file

🧩Summarise This, Run That

An auto-approving coding agent reads a poisoned page — and executes code it never should have

🪤The Bug Report That Ran Code

A fake Sentry error report hijacks a developer's coding agent into running a shell command

📼The Compromised Flight Recorder

The forensic record is itself the attack surface — an agent's log is poisoned, then quietly rewritten

👻The Email That Rewrote Its Memory

A newsletter the user asked to summarise quietly writes a false 'fact' into the agent's long-term memory — and it detonates weeks later

👁️The Invisible Webpage Command

A shopping page tells the agent to do something the user never asked for

🕵️The Logs That Lied

An attacker plants prompt injection in the audit trail — so the LLM that hunts them erases the evidence

🧠The Memory That Wouldn't Die

A single poisoned document plants a standing instruction that survives every reset

🖼️The Picture That Whispered

A screenshot that's harmless at full size becomes an order once the system shrinks it

🎫The Stolen Session

An attacker captures the agent's bearer token — and inherits its authority

🥸The Uninvited Agent

A forged peer registers on the agent directory — and the planner enlists it

🛡️The Watcher Watched

The eval gate that was supposed to catch the agent is itself the thing being attacked

🪪The Worker Who Spoke for the Boss

A poisoned web page hijacks a research agent — and the planner acts on its behalf

🖼️Zero-Click Leak by Picture

An inbox summary quietly ships a secret to an attacker's server

More cases on Indirect Prompt Injection

EchoLeak — Microsoft 365 Copilot zero-click (CVE-2025-32711)Indirect prompt injection coined (Greshake et al.)Agentic-browser indirect-injection demos (ChatGPT Operator)ChatGPT persistent-memory exfiltration (Rehberger / 'SpAIware')MCP tool-poisoning PoC (Invariant Labs)Taxonomy of Failure Modes in Agentic AI Systems (Microsoft)ForcedLeak — Salesforce Agentforce CRM exfiltration (CVSS 9.4, no CVE)ServiceNow Now Assist — second-order prompt injection via agent-to-agent discoveryShadowLeak — ChatGPT Deep Research zero-click service-side exfiltrationIDEsaster — AI coding IDEs/agents turned into exfiltration & RCE surfacesGitHub Copilot / VS Code RCE via prompt injection ('YOLO mode', CVE-2025-53773)Agent-in-the-Middle — abusing A2A agent cards (Trustwave SpiderLabs)Agent Session Smuggling in A2A systems (Unit 42)Morris II — zero-click self-replicating adversarial-prompt worm across GenAI agentsAnamorpher — image-scaling prompt injection against production AI systemsThe Attacker Moves Second — adaptive attacks bypass 12 jailbreak/injection defenses (Nasr, Carlini et al.)MCPTox: tool-poisoning benchmark over real-world MCP serversAgentjacking — hijacking AI coding agents via Sentry error reports (Tenet Security)SearchLeak — Microsoft 365 Copilot one-click data theft (CVE-2026-42824)Poisoning Claude Code: one GitHub issue hijacks the claude-code-action CI supply chainCursor 'DuneSlide' — indirect prompt injection escapes the IDE sandbox to zero-click RCE (CVE-2026-50548 / CVE-2026-50549)Context Contamination: passive prompt injection poisons LLM security-log analysisZscaler ThreatLabz — web indirect prompt injection targeting AI agents in the wildAzure DevOps MCP confused-deputy — hidden PR comments hijack AI review agentsMemGhost: stealthy one-email memory injection in persistent personal agentsAgentic botnets via universal, transferable adversarial HalluSquattingGPT-Red self-play red-teaming and the 'Fake Chain-of-Thought' injection classAgent Data Injection: malicious trusted-data bypasses prompt-injection defensesClaude Code Opus 5 Auto Mode hijacked to RCE via indirect prompt injectionAWS Kiro agentic IDE rewrites its own MCP config for zero-click RCE (CVE-2026-10591)AI Recommendation Poisoning: Ask-AI web links silently write trusted-source into assistant memoryContext7 MCP documentation-server prompt injection (CVE-2026-75130)The Week of Sandbox Escapes: AI coding-agent sandbox bypasses (CVE-2026-48124 and more)

AI RiskAtlas is an educational model of how GenAI & agentic systems work and fail. Architectures and payloads are illustrative and simplified for learning — not operational guidance. Real-world cases are summarised from public reporting.

Sources & further reading →·Built by Shi Yuan ↗