У ніч на 16 жовтня зловмисник отримав доступ до застарілої системи компанії OpenCode, що, за заявою компанії, могло призвести до розкриття API-ключів сторонніх AI-провайдерів — OpenAI, Anthropic і Google, — збережених користувачами в сервісі OpenCode Console. Компанія повідомила, що зачеплено 1,4 % користувачів Console, у яких були підключені зовнішні провайдери. Усі затронуті отримали сповіщення з вимогою негайно відкликати скомпрометовані ключі на боці провайдера та замінити їх. Абсолютну кількість постраждалих не розкрито.
Хронологія та межі інциденту
За даними OpenCode, несанкціонований доступ стався в ніч на 16 жовтня. Вранці 17 жовтня компанія розіслала затронутим користувачам лист із темою «Action Required: Potential provider key breach». Того ж дня в публікації на X компанія уточнила: ті, хто не отримав листа, не зачеплені.
Співзасновник OpenCode Дакс Раад підкреслив, що інцидент стосується саме OpenCode Console, а не самого застосунку OpenCode. Згідно з документацією, локальні версії — CLI та настільний застосунок — зберігають API-ключі провайдерів у локальній базі даних SQLite на машині користувача, і ці ключі «ніколи не передаються» на сервери OpenCode.
Console, навпаки, працює як розміщений сервіс: користувач вставляє ключ провайдера в робочий простір, а шлюз Console додає цей ключ до запитів під час пересилання провайдеру, тож учасники команди використовують моделі, не бачачи самого ключа. Саме ці ключі, що зберігаються на боці Console, опинилися в зоні ризику.
Важливе застереження: OpenCode використовує формулювання «ключі могли бути розкриті» і не підтвердила, що будь-який ключ був скопійований або використаний зловмисником. Компанія також не розкрила, що саме являла собою «застаріла система», яким способом був отриманий доступ і скільки ключів вона містила.
Незакриті питання щодо охоплення
Цифра 1,4 % — це заява самої OpenCode, і абсолютна кількість користувачів залишається невідомою. Заявлена межа інциденту охоплює тільки користувачів Console із підключеним зовнішнім провайдером. Однак в обговоренні на GitHub один із користувачів стверджує, що його ключ був відкликаний, хоча в його робочому просторі не було підключено жодного стороннього провайдера. Це поодиноке неперевірене повідомлення, яке може не бути пов’язаним із цим інцидентом, але воно залишає питання про точні межі компрометації відкритим.
Зв’язок із дистиляцією та триваючі атаки
У публікації від 17 жовтня OpenCode охарактеризувала інцидент як «пов’язаний із масштабною атакою дистиляції». Дистиляція — термін, яким AI-провайдери позначають кампанії з масового вилучення відповідей моделі для навчання конкуруючих систем. Anthropic раніше вказувала, що подібні кампанії використовують мережі підроблених акаунтів, викрадені платіжні дані та вкрадені API-ключі.
Однак OpenCode не назвала конкретного зловмисника і не пояснила технічний зв’язок між зламом Console і ймовірною кампанією дистиляції. Цю характеристику слід розглядати як версію компанії, а не як установлену атрибуцію.
18 жовтня Раад повідомив, що атакувальники «безперервно намагаються проникнути в системи протягом останніх 48 годин», додавши, що «побічний ефект — усе стає більш захищеним».
Повідомлення про несанкціоновані витрати
Ряд вторинних джерел передає заяви користувачів про фінансові втрати. За даними Dealroom, один користувач повідомив про $281 несанкціонованого використання OpenAI і $168 — Anthropic, інший оцінив втрати у $1 700. Notebookcheck передає заяви користувачів Reddit про $400 витрат на Anthropic і близько €200 на Google. Ці суми не підтверджені провайдерами й залишаються користувацькими заявами.
Практичні рекомендації
API-ключ — це пред’явницькі облікові дані (bearer credential): будь-хто, хто володіє копією, може виконувати тарифіковані запити від імені власника доти, доки провайдер не відкличе ключ. Видалення ключа з Console не є рівнозначним його відкликанню в провайдера. Ліміти бюджету Console також не захистять, оскільки Console контролює тільки запити, що проходять через власний шлюз.
Для користувачів, чиї ключі були збережені в Console:
- Відкличте ключ у панелі керування провайдера і створіть новий. Інструкції доступні в OpenAI, Anthropic і Google.
- Оновіть усі застосунки та скрипти, які використовували старий ключ.
- Перевірте історію використання та білінг у провайдера на предмет запитів, які ви не здійснювали, щонайменше, починаючи з 16 жовтня. OpenCode не уточнила, коли саме почався несанкціонований доступ.
- Встановіть ліміти витрат або сповіщення на боці провайдера й виділяйте окремий ключ для кожного інструменту — це обмежує шкоду від компрометації одного ключа й спрощує аудит.
Ми вже писали про пов’язані з OpenAI проблеми безпеки в контексті огляду кіберзагроз жовтня 2026.
Інцидент із OpenCode Console демонструє конкретний ризик архітектури, за якої сторонній сервіс зберігає пред’явницькі облікові дані від імені користувача: компрометація однієї проміжної ланки ставить під загрозу ключі одразу кількох провайдерів. Пріоритетна дія зараз — ротація ключів на боці провайдера, а не в Console. У довгостроковій перспективі варто переглянути практику передавання API-ключів третім сервісам і перейти на моделі автентифікації, які не вимагають зберігання секретів посередником, — наприклад, OAuth-потоки з обмеженою областю дії.