Start at the incident floor
OpenCode posted on October 17 that it had a security breach related to what it called a large-scale distillation attack. The company said the incident affected 1.4 percent of OpenCode Console users, that it had emailed those users, and that the incident was still ongoing. It also said it was working with Anthropic, OpenAI, and Google.
That is the public floor. The post does not describe the entry point, identify the data reached, state an exposure window, or publish a completed incident report. Do not fill those gaps with guesses about the attacker or the role of model distillation.
Contain what can spend, read, or act. Attribution can wait.
A saved provider key is a route
OpenCode's Console documentation says a workspace can connect provider accounts such as Anthropic, OpenAI, and AWS Bedrock. Console stores the credential and sends requests through its gateway. Workspace members can use the enabled models without seeing the provider key.
That design is useful for teams. It also means the response boundary is larger than one dashboard entry. A provider key may authorize requests outside the coding client. The same key may sit in deployment secrets, local environment files, automation, or another gateway.
Rotation has two ends. Revoke or replace the old key at the provider. Then update every place that should use the replacement. A new key beside a still-valid old key does not close the old route.
Disable, rotate, move, review, record
- Disable or remove the affected provider route in Console. OpenCode's provider guide documents both actions.
- Revoke the old credential at the provider that issued it. Create a replacement with the smallest scope the workload needs.
- Update each named dependent. Do not rely on memory. Search secret managers, continuous integration settings, deployments, local environment files, and other gateways.
- Review provider usage for the possible incident window. Save request IDs, timestamps, models, cost, and source addresses when the provider exposes them.
- Record what you did and what remains unknown. Preserve the notice and relevant logs before retention limits erase them.
OpenCode's current Console provider guide says owners and admins can disable or remove a provider. It also says they can rotate a key by opening the credential and entering a new one. Those Console actions do not prove that the old key was revoked at its issuer.
Do not collapse the evidence layers
A Hacker News thread carried a copy of an alleged notification that told recipients third-party provider keys saved in a workspace may have been exposed. That text is useful as a lead for affected users. It is not a substitute for a first-party incident report.
A separate GitHub issue opened the same day reports that an integration credential can be removed through opencode auth logout but lacks a matching delete route and connect-screen control. The report concerns credential removal behavior. It does not establish the cause or scope of the breach.
The public post, product documentation, recipient notice, provider records, and a later incident report have different jobs. Keep them separate. The control below helps prepare a response record. It cannot tell you whether your key was exposed.