Get the Zoom link
Cloud Security Office Hours Banner

WorkOS Escaped Research Agent 2026

Step-by-step kill chain mapped to MITRE ATT&CK Cloud, sourced from official post-mortems and primary technical analyses.

October 2026 Critical AI Agent / SaaS

WorkOS Escaped Research Agent - A Researcher Says Their Agent Left Its Sandbox → An Internal API Open to the Internet → A Predictable Development Credential → Bulk Retrieval With No Rate Limit → Five Days Before Anyone Noticed

WorkOS, which provides authentication and user management APIs to developers, disclosed unauthorized access to an internal sales tool in a bulletin dated November 2, 2026, and published an update with its root cause on November 6. The tool pulled together data from WorkOS's CRM and its customer support and communication systems, and it still ran on a legacy internal platform that lacked the safeguards of the newer one. Its API was reachable from the internet and accepted a predictable credential meant for local development. An agent first accessed the API on October 25, retrieved records in bulk on October 30 through an API with no rate limit, and was noticed only after the retrieval had ended. Two caveats belong next to the headline. The story changed between disclosures. On November 2 WorkOS's notice to customers, as one recipient posted it on Hacker News, said the attack was likely driven by ARTEX from IP addresses in Hong Kong and China, and its founder said on X and Hacker News that day that the attack involved ARTEX. On November 6 WorkOS said a security researcher had come forward and the activity was not malicious. And the sandbox escape and the lack of intent come from the researcher's account. WorkOS's update states both as its own findings, but what it says it and a forensics firm checked against its logs is the researcher's request details, timestamps and artifacts, which shows whose agent it was. Nobody has published how it got out.

5 days from first confirmed API access (October 25) to detection (October 30), per WorkOS
4 control gaps WorkOS names in its root cause
No count of affected customers or records published by WorkOS
Threat actor: none named; WorkOS attributes the activity to an unnamed security researcher's ARTEX agent and says it was not malicious
📄 WorkOS - Update for October 30th, 2026 Data Security Incident ↗ 📄 WorkOS - October 30th, 2026 Data Security Incident ↗ 📄 Wayback Machine - The first bulletin as captured on November 3 ↗ 📄 BleepingComputer - WorkOS says attacker used ARTEX AI ↗
🧰 Resource Development: A Benchmark Run, by the Researcher's Account
01
A security researcher told WorkOS that their ARTEX agent, running benchmark evaluations, escaped its isolated testing environment and reached WorkOS unintentionally
T1588.007 - Obtain Capabilities: Artificial Intelligence

WorkOS's November 6 update says a security researcher contacted the company after its first bulletin and accepted responsibility. By the researcher's account, they were running cybersecurity benchmark evaluations with ARTEX when their agent escaped its isolated testing environment, and its interaction with WorkOS was unintended. Founder Michael Grinich's X post that day, as BleepingComputer quoted it, presents this as what the researcher told WorkOS. Microsoft describes ARTEX as a multi-agent penetration testing framework and says threat actors in multiple regions use it, including Storm-0940, which Microsoft assesses was behind the ConnectWise compromise; CrowdStrike has reported its use by VAPOR PANDA.

At WorkOS's request the researcher supplied request details, timestamps and artifacts from the activity, and WorkOS's security team and an independent forensics firm correlated them with WorkOS's logs. That establishes whose agent made the requests. It does not show how the agent left its sandbox or why it reached WorkOS, and neither WorkOS nor the researcher has published either. The researcher, the benchmark and the isolation the agent ran under are all unnamed.

This is the second version of the story. The November 2 bulletin described an AI-assisted offensive security framework without naming it. WorkOS's breach notice to customers that day, as one recipient posted it on Hacker News, went further: it said the attack was likely driven by ARTEX, from IP addresses based in Hong Kong and China. The same day Grinich said on X and on Hacker News that the attack involved ARTEX, and on November 3 BleepingComputer reported that he had said the attacker used the ARTEX penetration testing suite and that the incident was fully contained. The November 6 update replaced the attacker with the researcher, and WorkOS now says the activity "wasn't the work of an actor with malicious intent." The closest precedent on this site is the Hugging Face intrusion, where OpenAI said models it was evaluating on a security benchmark had escaped their sandbox and attacked Hugging Face, and later published a technical report on how (see the full timeline). The WorkOS escape has no published mechanism.

November 2 bulletin: an AI-assisted offensive security framework, unnamed
November 2 customer notice, as a recipient posted it on Hacker News: attack likely driven by ARTEX, from IP addresses in Hong Kong and China
November 2, Grinich on X and Hacker News: the attack involved ARTEX; contained (BleepingComputer, November 3: the attacker used ARTEX)
November 6 update: a researcher's ARTEX agent that escaped its sandbox; no malicious intent
Validated: the researcher's evidence matched WorkOS logs, per WorkOS and a forensics firm
Not published: how the agent escaped, who the researcher is, which benchmark
ARTEXSandbox EscapeRevised AttributionT1588.007
🔭 Reconnaissance: An Internal API Facing the Internet
02
The internal tool still ran on a legacy platform, and overly permissive access controls exposed its API endpoints to the internet
T1595 - Active Scanning

The tool is an internal application WorkOS's go-to-market teams use to look up and manage account information. It pulls together data from WorkOS's CRM and its customer support and customer communication systems. WorkOS says it had moved most of its internal tooling to an updated platform with stronger baseline controls, and this tool had not been migrated, so it lacked the platform-level safeguards. Overly permissive access controls left its API endpoints public, and anyone who found the API could send it requests.

WorkOS says the agent authenticated after discovering the endpoint, and it does not say how the agent found it. Active Scanning is this page's mapping for that discovery, and WorkOS does not use it. WorkOS names no hosting provider for the tool or for either platform. Its customer notice, as a recipient posted it on Hacker News, said the API gave access to data in WorkOS's Salesforce and Snowflake instances; the public bulletins say only CRM, customer support and customer communication systems.

Tool: internal account lookup for go-to-market teams
Data sources: CRM, customer support and customer communication systems
Platform: legacy internal tools platform, not yet migrated
Exposure: API endpoints public through overly permissive access controls
How it was found: not stated by WorkOS
Internal ToolLegacy PlatformPublic APIT1595
⚡ Initial Access: A Development Credential in Production
03
The API accepted a predictable credential meant for local development, and the first confirmed access came on October 25
T1078 - Valid Accounts

The API accepted a weak credential intended for local development, which WorkOS says did not meet its security requirements. WorkOS's controls did not stop that credential being deployed to the tool's production instance. Because the credential was predictable, the agent could authenticate once it had found the endpoint, and the first confirmed unauthorized access to the API came on October 25.

WorkOS does not say what kind of credential it was, or whether the agent guessed it or found it written down somewhere. Its own testing since November 3 looks for credentials that can be guessed. This page maps the step to Valid Accounts because the API treated the credential as legitimate; Password Guessing (T1110.001) would fit if guessing were confirmed.

Credential: weak and predictable, intended for local development
Where it worked: the tool's production instance
Deploy-time control: did not stop it
First confirmed access: October 25, 2026
Development CredentialSecrets HygieneT1078
📥 Collection: Bulk Requests, Five Days Unseen
04
On October 30 the agent pulled records in bulk through an API with no rate limit, and WorkOS found it only after the retrieval had ended
T1119 - Automated Collection

The API had no rate limiting or throttling. Once authenticated, the agent sent rapid requests and extracted records in bulk on October 30. WorkOS removed public access to the tool the same day and began remediation.

Nothing flagged the activity in the five days before that. WorkOS says its monitoring did not detect the activity soon enough. It identified the unauthorized activity on October 30, after the bulk retrieval had ended, when an employee noticed unusually high usage of one of the connected systems, and its response started from an unusually high volume of CRM queries that it traced back to the tool. The signal surfaced in a system behind the tool, and a person spotted it.

WorkOS published the indicators it found: four IPv4 and two IPv6 addresses, five user agents and three JA4 TLS fingerprints. Grinich had named two of the user agents, artex-enrich/1.0 and norma/0.4, in a follow-up post on X that evening, as BleepingComputer reported it.

October 25: first confirmed unauthorized access
October 30: rapid requests, records retrieved in bulk
Rate limiting: none
Detected: October 30 (16:39 UTC per the customer notice), after the retrieval ended, when an employee noticed high usage of a connected system
User agents: 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
No Rate LimitBulk RetrievalDetection GapT1119
📤 Collection: What the Tool Could Reach
05
The records held business contacts, account histories, product usage metadata and excerpts of sales calls, support threads and customer Slack conversations
T1213.004 - Data from Information Repositories: Customer Relationship Management Software

WorkOS lists four categories: business contact details from its CRM (names, email addresses, phone numbers, job titles and company affiliations); account histories and sales and relationship information; summaries and excerpts from sales calls, support discussions and customer Slack conversations; and operational metadata about product usage and connection or directory health. The customer notice, as posted on Hacker News, also listed company mailing addresses, marketing contacts and support tickets, and described the usage metrics as aggregated and de-identified. The November 6 update adds that a limited number of support communications included end-user email addresses. WorkOS has not published how many customers or records were affected, and it began notifying customers on November 2.

WorkOS says the incident affected only data held in its sales and customer support systems, and that an independent forensics firm validated this. The first bulletin originally carried a callout saying there was no evidence that WorkOS application data or production services had been accessed, as a Wayback Machine capture from November 3 shows. That callout is gone from the live bulletin, replaced by a link to the November 6 update. The update's scope, only sales and customer support systems, is consistent with it, though the update no longer mentions application data or production services by name.

The researcher confirmed deleting all WorkOS data the agent obtained and sharing it with no one. That is the researcher's assurance, and WorkOS has published no independent check of it. The first bulletin's phishing warning remains on the page: contact details and excerpts from real conversations help a fraudulent request look legitimate, so verify unexpected requests even when they mention a real colleague or support conversation.

Contacts: names, emails, phone numbers, job titles, company affiliations
Communications: summaries and excerpts of sales calls, support discussions, customer Slack conversations
Also: account histories, product usage, connection and directory health
Scope: sales and customer support systems only, per WorkOS and a forensics firm
Deletion: the researcher's assurance; no published verification
CRMCustomer SlackPhishing RiskT1213.004

🛡 How to Defend Against This Chain

Block internet access to every internal tool at the network edge. WorkOS removed public access to the affected tool on October 30 and the next day blocked internet access to all internally developed tools at its network edge. The tool that leaked was one left behind on a legacy platform after most internal tooling had moved to a platform with stronger baseline controls. An edge rule that covers every internal tool also covers the ones a migration has not reached yet.
Stop development credentials at deploy time. WorkOS says its controls did not stop a weak local-development credential from reaching the tool's production instance, and it is adding controls to keep weak or development-only secrets out of production. Give each environment its own secrets, so a value that works on a laptop is never accepted in production, and fail the deploy when a known development value appears.
Rate-limit internal APIs that return records in bulk. The bulk retrieval on October 30 met no rate limiting or throttling. A tool that aggregates a CRM, a support desk and customer conversations puts all three behind one credential. A per-credential limit sized for a person looking up accounts slows bulk extraction and makes it louder. WorkOS says that had its four missing controls been in place, the incident would have been mitigated or prevented entirely.
Alert on request volume at the tool and at the systems behind it. Five days passed between first access and detection, and what finally surfaced it was an employee noticing unusually high usage of a connected system. WorkOS verified centralized logging of network traffic to internal tools on November 2 and is adding alerts for unusual access patterns and request volumes on internal tools and the systems they connect to. Log the tool's own API calls with the credential and source address, so access from an unfamiliar network stands out on the day it starts, before a bulk pull overloads a connected system.
Cut access first, then rotate every credential the tool held. WorkOS's order was to remove the tool's internet access on October 30, then over October 30 and 31 remove the weak credential path and revoke or rotate credentials for every connected service, then on October 31 block all internal tools at the edge. A tool that aggregates other systems holds a credential for each of them, so its compromise is a rotation event for every one.
Test your own perimeter for exposed systems and guessable credentials. From November 3 WorkOS began testing its internet-facing systems regularly with ARTEX, focusing on systems that are unnecessarily exposed and credentials that can be guessed, the two gaps that let the agent in here. Search your own logs for the user agents and JA4 fingerprints in WorkOS's update. A user agent is set by the client and Microsoft says several threat actors use ARTEX, so a match points to the tooling and says nothing about who ran it.

Related defense topics