P.K. SHARMA

Cyber security intelligence, AI governance, practitioner analysis

OpenAI connected ChatGPT to Epic patient records. Every control it names governs which humans see what, not what the model does.

Private data, untrusted content and an outward route, in one workspace. The 99.1% safe rating comes from the physician network OpenAI partners with to improve the model.

By Parminder Kumar Sharma · · 8 min read

A worn wooden medical clipboard holding a stack of completely blank paper, propped on a dark surface and lit by a cold cyan rim light, with the surface falling away to the left into near black.

OpenAI announced on 1 September that healthcare organisations can connect Epic environments to ChatGPT, bringing "authorized patient context from Epic into ChatGPT for Healthcare" alongside a plugin for public healthcare datasets including PubMed, DailyMed and CMS Coverage.

The announcement lists the controls that come with it: role-based access, single sign-on, audit logs, and a Business Associate Agreement supporting HIPAA-compliant workflows. Those are the right controls and they are the ones a hospital procurement function will ask about.

Every one of them governs which humans may see what. None of them governs which instructions the model will follow.

Three conditions, assembled inside the patient chart

THREE CONDITIONS, ASSEMBLED INSIDE THE PATIENT CHARTAny two of these is ordinary. All three together is the shape that produces exfiltration.1Private dataAuthorised patient context fromEpic, inside ChatGPTGoverned by role-based access, SSO and a BAA2Untrusted contentNine external data sources, plusSharePoint, Drive, Salesforce, SlackNo prompt-injection mitigation is described3A way to send it outThe same plugin surface thecontext arrives throughGoverned by the same permission modelthe middle one is the one with nothing named against itAND THE MECHANISM GOT A NAME THE SAME WEEKA preprint submitted on 1 September names two attack classes against real agent harnesses.M-CPE: attacker-controlled content from a low-privileged context is incorporated into a higher-privileged message role.X-CPE: attacker-controlled content persists beyond the context in which it was introduced.Every control the announcement names governs which humans may see what.None of them governs which instructions the model will follow.Sources: OpenAI, “ChatGPT connects health records and healthcare sources”, 1 September 2026. Controls listed there are role-based access,single sign-on, audit logs and a business associate agreement. Attack classes from arXiv:2609.01222, submitted 1 September 2026, whichassessed 12 agent harnesses including Claude Code and Codex. That paper is a preprint and has not been peer reviewed.The trifecta framing is Simon Willison’s. It is a model of when the risk exists, not a claim that any specific product has been exploited.No exploitation of the Epic integration has been reported, and none is alleged here.
The absence of a described mitigation is not proof that none exists. OpenAI may well have controls it did not put in a launch post, and a launch post is not a threat model. The reason to draw it is that a healthcare buyer reading that announcement has been given a complete answer on access control and no answer at all on the failure mode that access control cannot reach.
The trifecta framing is Simon Willison's and it describes when a risk exists rather than asserting that any product has been exploited. No exploitation of the Epic integration has been reported and none is alleged here.

The condition with nothing named against it

The lethal trifecta is the most useful available model for agent risk, and it is deliberately simple. An agent is dangerous when three things coincide: it can reach private data, it is exposed to content an attacker can influence, and it has a route to send something outward. Any two are ordinary. All three together is the shape behind every serious agent exfiltration to date.

This deployment assembles all three, openly and by design.

Private data is the point of the product: authorised patient context, inside the chat.

The outward route is the same plugin surface the context arrives through. The announcement notes that plugins for "Microsoft SharePoint, Google Drive, Salesforce, Slack, and other enterprise systems expand the approved business context available in ChatGPT while preserving existing permissions".

Untrusted content is the middle condition, and it is the one the announcement does not address. A clinical record contains text written by many people. A public dataset contains text written by anyone. A SharePoint site contains whatever was uploaded to it. The model reads all of it, and nothing in the announcement describes a control on what happens when some of that text is written to be read as an instruction.

That is not an accusation of negligence. OpenAI may well have mitigations it did not put in a launch post, and a launch post is not a threat model. It is an observation about what a healthcare buyer has been told: a complete answer on access control, and no answer on the failure mode that access control cannot reach.

The mechanism acquired a name the same week

On the day of that announcement, a preprint was submitted to arXiv describing exactly this class of failure in agent systems, with a vocabulary for it.

"What's in Your Agent's Context? Context Privilege Escalation Attacks against AI Agent Harness", arXiv:2609.01222, names two categories. The first is MessageRole Context Privilege Escalation, which "occurs when attacker-controlled content originating from a low-privileged context is incorporated into a higher-privileged message role". The second is Cross-Scope Context Privilege Escalation, which "occurs when attacker-controlled content persists beyond the context in which it was introduced".

The authors report assessing these against "12 real-world agent harnesses, including Claude Code and Codex", with consequences including "full agent compromise, remote code execution, denial of service, and manipulated tool or skill invocations".

Three caveats, because this is a preprint and should be handled as one. It has not been peer reviewed. No vendor response is attached and no CVE has been assigned. And nobody should write this up as "Claude Code has a remote code execution flaw", because that is not what a paper describing an architectural class of weakness across twelve harnesses is saying.

What makes it worth reading next to the healthcare announcement is the reframing. Prompt injection is usually discussed as a content problem, which invites content solutions: filters, classifiers, instructions telling the model to ignore instructions. This paper recasts it as a privilege problem in how a harness assembles context. Content from a low-trust source ends up in a high-trust position, and the trust boundary between message roles is not enforced.

If that framing holds, then a filter is the wrong shape of answer, and the right question for any agent deployment is which context sources can write into which message roles.

The 99.1% figure, and who produced it

The announcement carries an evaluation: "physicians evaluated responses across 27 clinical use cases, including pre-visit review, clinical timelines, medication review, and handoff summaries. Across 4,363 ratings, physicians rated 99.1% of responses safe across all use cases."

That is a precise-sounding number and it deserves its context, which is on the same page a few lines earlier.

What the evaluation figures are, and are not

The figureHow the announcement describes itWhat it does not establish
99.1% of responses rated safeAcross 4,363 ratings by physicians, over 27 clinical use casesIndependence. The same physician network is one OpenAI “partners with… to help us define, measure, and improve health responses”
More than 93% rated “good” or better accuracyA separate two-round evaluation across five connected data sourcesA defined scale. “Good or better” is an ordinal label with no error taxonomy and no inter-rater reliability reported
More than 700,000 model responses reviewedBy hundreds of partnered physicians across 60 countries, 49 languages and 26 specialtiesThat the reviewing population is separate from the improving population. The announcement says the same network does both
Enterprise controlsRole-based access, single sign-on, audit logs, and a Business Associate AgreementAny control on model behaviour. These govern human access, not model instruction-following
All rows quoted or closely paraphrased from OpenAI's announcement of 1 September 2026. None of this suggests the figures are wrong. It sets out what they measure, which is different from what a reader scanning the number will assume.

The circularity is the part worth naming, and it should be named fairly. OpenAI states that it partners with these physicians "to help us define, measure, and improve health responses in ChatGPT". Define, measure and improve. The same network that shapes the model's behaviour is the network that then grades it.

That is not fraud and it is not unusual. It is how most vendor evaluation works, and having any physician review at all puts OpenAI ahead of most products that reach a clinical setting. But it is the difference between a vendor's internal quality process and an independent trial, and "99.1% rated safe" reads like the second when it is the first.

What this is not

It is not a claim that the Epic integration has been attacked. Nothing has been reported and nothing is alleged here.

It is not a claim that OpenAI has no prompt-injection defences. It is a claim that the announcement describes none, which is a fact about the announcement.

And it is not an argument against putting AI near clinical records. The use cases named, pre-visit review, clinical timelines, medication review, handoff summaries, are exactly the administrative burden that makes clinicians miserable, and a tool that does them well is worth having.

Take this with you

If your organisation is evaluating this

  • Ask specifically about prompt injection, not about access control. The four controls in the announcement all govern human access. Ask what happens when text inside a record or a connected document is written to be read as an instruction.
  • Ask which context sources can write into which message roles. That is the framing the arXiv preprint proposes, and it is a sharper question than asking whether the vendor has a filter.
  • Treat the 99.1% as a vendor quality metric, not a trial result. The physicians who produced it belong to the network OpenAI partners with to define, measure and improve the same responses.
  • Ask for the error taxonomy behind “good or better” accuracy. An ordinal label with no defined scale, no inter-rater reliability and no breakdown of the residual 7% is not yet a clinical safety figure.
  • Scope the outward route explicitly. The plugin surface that brings context in is the same surface that can carry something out, and the announcement says plugins preserve existing permissions, which is a statement about human permissions.
  • Note that the EHR integration is not available for individual accounts. If clinicians in your organisation are using ChatGPT for Clinicians individually, that is a different product with a different data path.

The position

The security question raised by this deployment is not whether OpenAI has built it carefully. On the evidence of the announcement they have built the access-control half carefully, and the partner list suggests serious institutions have looked at it.

The question is that the industry keeps shipping the trifecta and describing the controls for two legs of it. Private data, untrusted content and an outward route, with an answer for the first and third and silence on the second, is now a recognisable pattern rather than an oversight, and it has appeared on this site three times in a fortnight in three different products.

A preprint gave the mechanism a name this week. The useful thing a buyer can do is stop asking whether a vendor has thought about prompt injection, and start asking which of their context sources can write into a privileged position.

Sources

  1. PrimaryChatGPT connects health records and healthcare sources, 1 September 2026. The Epic integration, the named controls and the physician evaluation figuresOpenAIaccessed 2026-09-02
  2. PrimaryWhat’s in Your Agent’s Context? Context Privilege Escalation Attacks against AI Agent Harness, submitted 1 September 2026. Preprint, not peer reviewedarXivaccessed 2026-09-02
  3. Reported byThe lethal trifecta framing, applied to ChatGPT Work, 30 August 2026Simon Willisonaccessed 2026-09-02

Share this briefing

Know someone who owns this problem? Send it to them.

Related briefings

The briefing, in your inbox

Practitioner analysis of cyber and AI security news. No vendor noise.

One email per briefing. Unsubscribe any time.