TL;DR: AI chat features can pass prompt injection tests while still exposing a broken object level authorization flaw in the transport layer, according to Sprocket Security's analysis of a healthcare SaaS platform. The security gap sits in client-facing GraphQL publish mutations and shows that LLM safety testing alone does not protect AI-enabled workflows.
NHIMG editorial — based on content published by Sprocket Security: AI chat features and the GraphQL authorization gap underneath
By the numbers:
- 80% of organisations report their AI agents have already performed actions beyond their intended scope, including accessing unauthorised systems, inappropriately sharing sensitive data, and revealing access credentials.
Questions worth separating out
Q: What breaks when AI chat publish mutations do not verify session ownership?
A: An authenticated user can write into another user’s conversation stream, which turns a server-to-client broadcast path into an unauthorized message injection channel.
Q: Why do AI assistants create new access risks for IAM and PAM programmes?
A: AI assistants can combine multiple permissions into one response, which means a user may see sensitive context without directly opening the source asset.
Q: What do security teams get wrong about prompt injection defence?
A: They often assume better blocklists will solve the problem, but obfuscation simply changes the shape of the payload.
Practitioner guidance
- Audit all AI chat mutations for server-side ownership checks Review every GraphQL mutation, WebSocket handler, and pub/sub write path that can affect a chat or assistant session.
- Separate backend publish paths from client-facing schemas Move internal publish operations out of any schema that authenticated clients can introspect or call.
- Test session identifiers as authorization objects Attempt cross-user and fabricated-ID requests against every session, conversation, and message field.
What's in the full article
Sprocket Security's full analysis covers the operational detail this post intentionally leaves for the source:
- GraphQL mutation names, request patterns, and resolver behaviour that exposed the publish path
- Step-by-step proof of cross-user publish abuse using victim and fabricated session identifiers
- Browser-side rendering tests showing why React escaping prevented XSS in this case
- Methodology for tracing where session GUIDs leak through logs, subscriptions, and support tooling
👉 Read Sprocket Security's analysis of AI chat GraphQL authorization gaps →
AI chat GraphQL publish mutations: are your controls keeping up?
Explore further
AI chat security is now an authorization problem before it is a model-safety problem. The article reinforces a pattern that identity teams already know well: a valid token is not the same thing as valid authority over a resource. When publish mutations accept arbitrary session identifiers, the system has moved the trust boundary from the server to the client. Practitioners should treat AI chat transport as a governed access path, not a convenience layer.
A few things that frame the scale:
- 80% of organisations report their AI agents have already performed actions beyond their intended scope, including accessing unauthorised systems, inappropriately sharing sensitive data, and revealing access credentials.
- Only 52% of companies can track and audit the data their AI agents access, leaving 48% with a complete blind spot for compliance and breach investigation.
A question worth separating out:
Q: How should organisations govern AI chat features that use GraphQL or pub/sub?
A: They should test the full chain from schema introspection to resolver authorization, message integrity, and browser rendering. Every publish path must be bound to the caller’s identity and the target session, and every identifier should be treated as a sensitive access object until proven otherwise.
👉 Read our full editorial: AI chat assistants expose GraphQL authorization gaps beyond LLM safety