All briefings
Optimus Labs · CivilizationsHIGH · LIVE INCIDENT · VENDOR BREACH

Live incident, as of Oct 21, 2026. This page will be updated as OpenCode shares more.

OpenCode Console Breach: Your Provider Keys, Their Custody

An intruder reached a legacy OpenCode Console system and may have exposed provider API keys that teams saved there, for 1.4% of Console users. OpenCode has not said how.

CredentialInferenceAgent

Full advisory deck

Organizations in this briefing

OpenCodeOpenCode
Anomaly, the company behind OpenCodeAnomaly
AnthropicAnthropic
OpenAIOpenAI
GoogleGoogle

Key takeaways

3 min read
  • Live incident as of Oct 21, 2026. OpenCode says a breach of its hosted Console, tied to a large scale distillation attack, may have exposed Anthropic, OpenAI and Google API keys for 1.4% of Console users. Revoke any key ever saved in Console at the provider. No root cause, entry point or key count has been published.
  • Blast radius: Teams that saved their own provider keys in an OpenCode Console workspace. Keys used only in the local OpenCode app never reach OpenCode's servers, per co-founder Dax Raad. Some exposed keys were used to run up charges before the providers cut them off. User-reported charges run from about $200 to $1,700 on a single account, none verified by OpenCode.
  • HIGH · LIVE INCIDENT · VENDOR BREACH

Timeline

  1. Earliest possible exposure of stored keys

    Per OpenCode's follow-up email (BleepingComputer).

  2. OpenCode posts on X

    Breach "related to a large scale distillation attack", 1.4% of Console users.

  3. OpenCode emails affected users

    "Action Required: Potential provider key breach".

  4. Anthropic revokes keys

    Lydia Hallie says Anthropic revoked Claude API keys it believes were affected.

  5. Google blocks keys

    Evan Otero says Google blocked exposed Gemini keys; some users report project suspensions for "abusive activity consistent with hijacked resources".

  6. Dax Raad scopes the breach

    "this is the OpenCode Console, not OpenCode itself, those keys never come to us".

  7. Attacks continue; refunds underway

    Dax Raad says attackers had been "non stop trying to attack our systems for the past 48 hours".

  8. OpenAI refunds credits

    Tibo Sottiaux says affected API customers are "back in business" and credits drawn in the attack are being refunded.

  9. Oct 21: No root cause, entry point, dwell time or key count published; incident described as ongoing

Blast radius
Teams that saved their own provider keys in an OpenCode Console workspace. Keys used only in the local OpenCode app never reach OpenCode's servers, per co-founder Dax Raad. Some exposed keys were used to run up charges before the providers cut them off. User-reported charges run from about $200 to $1,700 on a single account, none verified by OpenCode.

Summary

Live incident, as of Oct 21, 2026. On the night of Oct 16, an intruder reached a legacy OpenCode Console system that the team was shutting down. Console is OpenCode's hosted gateway: teams save their own Anthropic, OpenAI and Google API keys there so members can use the models without seeing the keys. OpenCode describes the breach as related to a large scale distillation attack and says 1.4% of Console users may have had keys exposed. Anthropic revoked affected Claude keys, Google blocked affected Gemini keys, and OpenAI says it is refunding credits drawn in the attack. As of Oct 21, OpenCode has not published a root cause, entry point, dwell time or key count.

Am I affected?

Any single yes means treat this as an incident.

  • Did anyone on your team save an Anthropic, OpenAI, Google or other provider key in an OpenCode Console workspace?
  • Did you receive OpenCode's email 'Action Required: Potential provider key breach' or the follow-up listing keys by last four characters?
  • Does provider billing from Oct 16 on show models, volumes or regions you do not recognise?

Not affected if

Console only logs requests that pass through its own gateway, so a copied key used directly with the provider never shows up there. Empty Console logs do not clear you. The provider's billing page is the record that counts.

Console holds your keys, not the app

Console is OpenCode's hosted gateway. A team saves its own provider keys in a workspace, and members use the models through Console without ever seeing the keys.

That makes Console a third-party service in the path between a coding agent and the model, and it held live credentials for three labs at once. Keys used only in the local app never reach OpenCode, per Dax Raad.

Why a coding tool got pulled into the distillation fight

Distillation means pulling a strong model's answers at scale to train a cheaper copy. Anthropic says distillers mostly work through proxy networks of fake accounts and "will often use stolen API credentials belonging to legitimate companies or individuals" (Anthropic threat report, Sep 2026).

On Oct 12 Anthropic said new defences cut the data distillers harvest by 90 to 99%, often ban distillation accounts within two hours, and stop API accounts created on or after Aug 31, 2026 from editing earlier context on its newest models.

Our read, not OpenCode's: every one of those controls makes an established, paying customer's key worth more, because it comes with real billing, a normal usage history and, at Anthropic, an account older than Aug 31. A hosted gateway that holds such keys for three labs is the obvious place to look. OpenCode has not said how the breach and the distillation activity connect.

Update, Oct 21: three more companies that hold customers' AI keys or environment variables have since reported incidents: Fireworks, LiteLLM and Railway. See briefing #14, AI provider key custodians breached in October.

Scale: why OpenCode is infrastructure now

By its own count OpenCode moves more open-model tokens than anyone: back-to-back 26 trillion-token days at the end of September (Dax Raad). That is up from about 300 billion a day in January and 7 trillion in July by co-founder Jay V's figures (YC Root Access), roughly 85 times in nine months.

16 million developers a month and about 215,000 GitHub stars (The Latent). 160,000 paying subscribers as of July (YC Root Access). More than 75 model providers behind one interface.

Those totals are not all bring-your-own-key traffic of the kind that leaked; OpenCode also sells its own hosted models through Zen and Go, and it has not published how the volume splits. Still, a tool used this widely should be secured like infrastructure.

OpenCode's own advisories include two January flaws that let a website run commands on a developer's machine (CVE-2026-22812, high; CVE-2026-22813, critical) and a high-severity advisory in September (GHSA-632h-h47v-g4x4). The researcher who reported the first says their November email got no response; the advisory went public in January.

How it maps to OWASP

Two lists from the OWASP GenAI Security Project cover this from different sides.

Top 10 for Agentic Applications 2026 covers the credentials agents run on: ASI03 Identity & Privilege Abuse (OWASP counts any authentication material, such as API keys, OAuth tokens and delegated sessions, as part of an agent's identity) and ASI04 Agentic Supply Chain Vulnerabilities (Console is a third-party service in the agents' path to the model, and it was compromised).

Top 10 for LLM Applications 2026 covers what was done with them: LLM02:2026 Sensitive Information Disclosure (credentials and API keys are named as protected information) and LLM06:2026 Unbounded Consumption (includes "Model Extraction and Distillation Theft" and stolen credentials used to run expensive computation).

Neither list explains the break-in itself; if the entry point turns out to be an ordinary web or infrastructure flaw, it sits outside both.

The two lists agree on the fix: short-lived, narrowly scoped credentials per agent (ASI03) and a hard per-key spending limit that stops inference rather than an alert after the bill (LLM06).

The OWASP GenAI Security Project does not endorse any product, service or tool, including Optimus Labs. We cite its lists to classify this incident.

What we still don't know

As of Oct 21, 2026:

How the intruder reached the legacy system and when that access ended.

How many users and keys the 1.4% represents.

Whether stored keys were encrypted, and with what.

How the key exposure connects to the distillation OpenCode described.

Who is behind it. No one has been publicly named.

Whether Anthropic and Google will refund charges the way OpenAI says it will, and on what terms.

Remediation

Contain now · 0-24h
  • Revoke every key ever saved in a Console workspace at the provider (Anthropic, OpenAI, Google and any others) and confirm the old key no longer works.
  • Check provider usage and billing from Oct 16 on for models, volumes or regions you do not recognise. Keep records for refund claims.
  • For charges you did not make on Google, contact Google Cloud Billing support from your account, as Google advises.
Investigate · 24-72h
  • In the Console workspace, check Logs (every inference request, kept 30 days), Audit (every configuration change; look for changes nobody on your team made) and Controls (with no policies set, every member can use all enabled models with no spend limit).
  • Treat empty logs as inconclusive, and compare them against provider billing.
Harden the agent surface
  • Keep provider keys in a secrets manager you control (HashiCorp Vault, AWS Secrets Manager, GCP Secret Manager), not in a vendor's workspace.
  • Route model calls through a gateway you run that pulls keys at runtime.
  • Give each tool its own key, rotate on a schedule, and set a hard spending cap that stops traffic. Watch spend per key and alert on spikes.
  • Ask any vendor that holds your keys how stored keys are encrypted and who holds the encryption keys, when stored credentials are deleted after a system is retired, whether you can see per key when it was last used and from where, and how fast and through which channel they will tell you about a breach.
For vendors that store customer credentials

Indicators

  • Email subject: Action Required: Potential provider key breach
  • Provider-side signal: Google project suspension for abusive activity consistent with hijacked resources
  • Exposure window start: Oct 17 2026 00:30 UTC per OpenCode's follow-up email
  • No CVE assigned to this incident

Sources

Sourcing & confidence

Confirmed by the vendor

Assessed by Civilizations

  • The link between exposed keys and distillation is OpenCode's description and our read, not a disclosed finding.
  • User-reported charges are unverified.
  • The 1.4% is OpenCode's figure; no key count has been published.

Vendor perspective · Optimus Labs

How Optimus Labs finds OpenCode exposure in your tenant

The Optimus Labs sensor shows where OpenCode is installed: the CLI, the desktop app and IDE extensions, per device and per owner.

It shows which devices have OpenCode's hosted providers linked (Console, Zen or Go). Those are the people most likely to have saved provider keys in a Console workspace.

It shows which provider keys OpenCode holds on each device, as metadata only. We never read or store key values.

Limit: keys pasted into the Console website live on OpenCode's servers, not on the device, so Optimus Labs cannot see them. Optimus Labs finds the people likely to be in scope, and they confirm against OpenCode's email and their Console workspace.

OpenCode Desktop providers settings page listing OpenCode Zen and OpenCode Go at the top, both marked Recommended, above Anthropic, GitHub Copilot and OpenAI.
OpenCode Desktop v1.19.0: OpenCode (Zen) and OpenCode Go sit at the top of the providers list, both marked Recommended, above Anthropic, GitHub Copilot and OpenAI.
OpenCode Desktop Connect Zen dialog asking for a single API key from opencode.ai/zen.
Connecting Zen: one API key from opencode.ai/zen gives access to Claude, GPT, Gemini, GLM and more. Once a device has that link, it shows up in Optimus Labs.
Optimus Labs Agent Inventory filtered to opencode, showing the OpenCode CLI and desktop app, both active and both marked Shadow.
Inventory, Agents, searched for 'opencode': the CLI and the desktop app, both active and both marked Shadow. Demo tenant.
Optimus Labs OpenCode agent page showing version, owners, sessions, token use, most used model and related agent assets.
The OpenCode agent page: version, owners, sessions, token use, most used model and the 34 agent assets around it. Demo tenant; numbers are illustrative.
Optimus Labs model page for space-bunny-free tracing the model back to OpenCode and a single user, with the user's name greyed out.
The model view traces space-bunny-free back to OpenCode and the one person running it. It is a free model served through OpenCode Zen, so seeing it means that device is talking to OpenCode's hosted gateway. Demo tenant; name greyed out.
See it on your own stack

Related briefings

CRITICAL · LIVE INCIDENTS · KEY CUSTODIANS

AI Provider Key Custodians Breached One After Another in October

Fireworks, OpenCode, LiteLLM and Railway hold customers' AI provider keys or environment variables, and each has been breached or backdoored. Warp lost agent trace and telemetry data. Wiz counts at least nine such platforms hit in October, including Andromeda, Zeabur, Lightning AI, CommandCode and Northflank, and has watched stolen keys resold within days. Attribution is unconfirmed.

Read

Full advisory

Download the briefing PDF

The complete advisory deck for this incident, with the attack chain diagram, indicators, and remediation bands in one file.

Optimus Labs · Civilizations

Get the next briefing first

Threat research, disclosures, and practical tips on enterprise Agentic AI attack surface management, directly in you or your agent's inbox.

Subscribe