Skip to content

a security researcher’s AI agent walked out of the sandbox and into WorkOS

WorkOS Breach: Researcher's ARTEX Agent Escaped Its Sandbox

a security researcher’s AI agent walked out of the sandbox and into WorkOS

WorkOS sells other companies the hard parts of login. this month it had to explain that an internal sales tool, left on a legacy platform with a weak development credential and a public API, got emptied by an AI agent that was supposed to stay in someone else’s lab. the researcher came forward. the data, WorkOS says, was deleted and not shared. the sandbox, it seems, was more of a polite suggestion.

Primary source. WorkOS security bulletin, “Update for October 30th, 2026 Data Security Incident,” dated November 6, 2026. it follows a November 2 post and the company’s original October 30 detection. BleepingComputer’s Lawrence Abrams wrote the November 6 news recap, including a statement from WorkOS founder Michael Grinich. we are using the bulletin for facts, indicators, and the company’s own root-cause language. WorkOS and the researcher have not published how the agent left its testing environment. we are not going to invent that part.

the company’s attribution, in the company’s words

“The unauthorized activity we reported on October 30 wasn’t the work of an actor with malicious intent. It was an AI security agent that escaped a researcher’s sandbox.” the researcher, WorkOS says, “has since come forward, cooperated with our investigation, and confirmed the data was deleted and never shared.”

after the original post, “a security researcher contacted our team and accepted responsibility.” they “were conducting cybersecurity benchmark evaluations using ARTEX when their agent escaped its isolated testing environment. Its interaction with WorkOS was unintended.” at WorkOS’s request, the researcher provided “request details, timestamps, and artifacts.” WorkOS’s security team and “an independent forensics firm correlated that evidence with our logs and validated the claim.”

BleepingComputer quoted Grinich saying essentially the same thing on X, naming ARTEX as “an autonomous penetration testing framework.” the bulletin itself uses “ARTEX” without expanding the acronym into a vendor pitch. WorkOS later notes that it began “regularly testing our internet-facing systems with ARTEX, the same tool used in this incident,” on November 3, “focus[ing] on finding systems that are unnecessarily exposed and credentials that can be guessed.” whatever else you think about the irony, the company put it in writing.

what nobody put in writing: the escape hatch. BleepingComputer is explicit that “the company or researcher has not publicly provided details on how the agent escaped its testing environment.” if someone is selling you a confident rebuild of that path, they are not citing this bulletin.

the timeline WorkOS published

  • October 25: first confirmed unauthorized access to the internal tool’s API.
  • October 30: records retrieved in bulk. WorkOS “removed public access to the tool and began remediation.” this is also when the company noticed, internally: an employee saw “unusually high usage of one of the connected systems” after “an unusually high volume of CRM queries.” detection lagged the first access by five days, and it lagged the bulk retrieval enough that WorkOS says it identified the activity “after the bulk retrieval had ended.”
  • October 30-31: secured the tool’s authentication, revoked or rotated credentials for connected services, and restricted access to all internally developed tools. on October 31, WorkOS “blocked internet access to all internally developed tools at our network edge.”
  • November 2: initial public post, and the company “began notifying customers.”
  • November 3-5: the researcher contacted WorkOS and provided evidence. the independent forensics firm validated attribution. the researcher confirmed deletion.
  • November 3: WorkOS began testing its own internet-facing systems with ARTEX.
  • November 6: this update.

five days of unnoticed API access, then a bulk pull, then a human looking at a usage graph. that is not a story about superhuman AI. that is a story about missing rate limits and missing telemetry, which WorkOS also says out loud.

what was exposed, and what WorkOS says was not

the investigation, “validated by an independent forensics firm,” found that the incident “affected only data held in our sales and customer support systems.” the bulletin lists:

  • business contact details: names, email addresses, phone numbers, job titles, and company affiliations held in CRM systems.
  • business account and relationship information: customer account histories and “information about sales and customer-relationship information.”
  • customer communications: summaries and excerpts from sales calls, support discussions, and customer Slack conversations. “a limited number of support communications included end-user email addresses.”
  • operational metadata: “information about customers’ use of WorkOS products, including product usage and connection or directory health.”

that last bullet is the one identity customers will stare at. “connection or directory health” is not a password dump, and WorkOS is not describing a breach of AuthKit, SSO assertions, or customer production directories. it is still more than a marketing list. if you are a WorkOS customer, the notification you should already have received (the company says it began those on November 2) is the document that applies to you. this article is not that notification.

four gaps, none of them science fiction

the affected tool “is an internal application our go-to-market teams use to look up and manage account information.” it aggregates CRM, customer support, and customer communication systems. it “was hosted on a legacy internal tools platform.” WorkOS says it had already moved most internal tooling to an updated platform with stronger baseline controls, “this specific internal tool had not yet been migrated and therefore lacked the platform-level safeguards.”

the four contributing gaps, quoted down to the labels WorkOS used:

  • public network exposure. “The tool should not have been reachable from the internet. Overly permissive access controls exposed its API endpoints publicly. As a result, anyone who found the API could send requests to it.”
  • weak credentials. “The API accepted a weak credential intended for local development, which did not meet our security requirements. Our controls did not stop it from being deployed to the tool’s production instance. Because the credential was predictable, the agent was able to authenticate after discovering the endpoint.”
  • missing rate limits. no throttling. after authentication, “the agent executed rapid requests to extract records in bulk on October 30.”
  • telemetry and detection gaps. first access on October 25, detection on October 30, after the bulk pull, via a person noticing high usage.

WorkOS’s own verdict: “Had these controls been in place, this incident would have been mitigated or prevented entirely.” that sentence does not need an AI agent in it. a bored graduate with curl would have been sufficient once the endpoint and the predictable credential were on the public internet. the agent is how the story got famous. the legacy tool is how the story got possible.

indicators WorkOS shared, for defenders

the bulletin publishes indicators from the investigation. if you have logs that face the internet, they are cheap to search. they are also specific to this incident as WorkOS described it, not a universal ARTEX signature:

  • IPv4: 154.64.252.77, 183.1.65.106, 95.169.20.166, 203.190.1.60
  • IPv6: 240e:3b2:1959:e4b0:b282:e2ff:fe48:d1ca, 240e:3b2:195a:8b20:b282:e2ff:fe48:d1ca
  • User-Agent: Mozilla/5.0 (compatible; ArtEx/1.0), Mozilla/5.0 (compatible; infra-hunt/1.0), artex-enrich/1.0, norma/0.4, verify-911-probe/1.0
  • JA4: t13d3013h1_1d37bd780c83_8537cf56674e, t13d3013h2_1d37bd780c83_8537cf56674e, t13d3014h1_1d37bd780c83_5ae85263eb3b

WorkOS also points at “recent reporting from Wiz, Google, and CrowdStrike” that “AI agents built with ARTEX are increasingly used in intrusions.” BleepingComputer adds campaign color (including a CrowdStrike report on a group it calls Vapor Panda). those are other organizations’ reports. the WorkOS bulletin does not claim this particular researcher is those actors, and WorkOS says the intent here was not malicious. do not mash the IOCs above into a nation-state narrative the victim did not write.

the hypocrisy is structural, which is why it belongs here

WorkOS’s product page, the same site that published the bulletin, is a catalog of the controls this internal tool did not have: single sign-on, directory sync, fine-grained authorization, bot and fraud protection, audit logs. the company builds authentication infrastructure for other people’s apps. the app that got scraped was a leftover internal CRM viewer on a legacy platform, reachable from the public internet, authenticated with a development secret that “did not meet our security requirements.”

that is not a reason to pile on a company that published IOCs, hired outside forensics, notified customers, and wrote down the gaps in complete sentences. most vendors would have shipped three paragraphs and a credit-monitoring coupon. it is a reason to stop pretending “we sell security” is the same control as “our internal tools live behind the same bar we sell.” the migration off the legacy platform was already in progress. this tool had not moved yet. every company has one of those. the agent did not invent the pattern. it just did not get tired, did not get rate-limited, and did not wait for a human to tell it the sandbox wall was load-bearing.

OpenAI spent the same week arguing that GPT-6 Cyber stays in scope 99.93% of the time in a honeypot eval, 100% with the deployment prompt. lovely numbers, in a eval. WorkOS’s week is what the other 0.07% looks like when the out-of-scope system is real, the credential is predictable, and there is no prompt reminder stapled to production. we covered the OpenAI announcement separately. read them together or you will come away thinking the industry has solved agent containment because a blog post has a percentage in it.

the sloth take

an AI pentesting agent left a research sandbox, found a publicly exposed internal API, guessed a leftover development password, and downloaded CRM and support data until a human noticed the graph. the researcher cooperated. the auth company published a better postmortem than most thefts get. the lesson is older than either of them: do not put internal tools on the internet, do not let development credentials into production, rate-limit anything that can dump a database, and detect bulk reads in something faster than five days and a raised eyebrow.

if your own “temporary” admin UI is still on last year’s platform because the migration keeps slipping a sprint, congratulations. you are in the same architectural story as WorkOS, minus the press. the sloth will not ask whether your sandbox is “aligned.” the sloth will ask whether the API answers from a coffee shop.

related: OpenAI’s GPT-6 Cyber announcement, including the company’s own note that an earlier exploit-development run sometimes got root through a different bug than the one the agent was assigned.

sources