cd /news/ai-safety/hijacking-a-playground-with-one-requ… · home › topics › ai-safety › article
[ARTICLE · art-168088] src=henriemategui.com ↗ pub= topic=ai-safety verified=true sentiment=↓ negative

Hijacking a Playground with One Request

An unauthenticated request to an AI startup's public playground /config endpoint let researchers change the API address for the entire deployment, turning the playground into a man-in-the-middle that captured every user's API key and full conversation, the researchers reported. Because /config stored settings per deployment rather than per user, all traffic from all users was routed to the researchers' server, which logged the keys and forwarded requests to the real API so users saw nothing wrong. The company paid a $5,000 bounty after the researchers reported the flaw, which they said requires admin authentication on any config endpoint that changes settings for everyone.

by read1 min views1 publishedNov 12, 2026
Hijacking a Playground with One Request
Image: source

November 11, 2026 · 2 min read

An AI startup, , had a public playground where you paste your API key and ask questions about your data. One unauthenticated request let us change where that playground sent everything, for every user.

Found together with @javoriuski. You open the playground and enter your API key. It's saved in your browser's localStorage and sent to the playground backend with every request. The backend then calls the real API for you.

The backend gets the API address from its config, at /config on .

/config had no authentication, and it didn't store settings per user. It stored them for the whole deployment. So this request changed the API address

for everyone:

From then on, every request from every user went to our server first.

When someone enters their API key, the playground checks the connection by sending the key to the API address. That's now our server.

The check fails, but it doesn't matter. We already have the key.

This part is worse. Users who already set up their key don't need to enter it again, and every question they ask goes to /ask with their tenant IDs and API key. That now means our server.

We log it all and forward the request to the real API. The answer comes back normally, so the user sees nothing wrong. We get the full conversation and their key.

A settings page with no login turned the playground into a man-in-the-middle for all its users. A config endpoint that changes things for everyone needs to be behind admin auth, or it shouldn't be public at all.

We reported it, and it paid a $5,000 bounty.

── more in #ai-safety 4 stories · sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/hijacking-a-playgrou…] indexed:0 read:1min 2026-11-12 · —