Strona główna / Blog / OpenCode Console: klucze API bez CVE

Blog · case study

OpenCode Console: wyciek kluczy API do modeli AI bez CVE. Remediacja jest u dostawców kluczy, nie u OpenCode

17 października 2026 OpenCode, twórca popularnego agenta do programowania z modelami AI, napisał na X, że w nocy ktoś włamał się do „older system” i że incydent dotknął 1,4% użytkowników OpenCode Console, hostowanej usługi, w której część użytkowników trzyma klucze API do zewnętrznych dostawców modeli. Od tamtej pory użytkownicy zgłaszają alerty kosztów i nieautoryzowane obciążenia. CVE nie ma i nie będzie, skaner niczego nie wykaże, a OpenCode nie może tych kluczy unieważnić, bo wystawił je ktoś inny. To podręcznikowy przypadek, w którym zgłoszenie zamyka dowód rotacji sekretu, a nie numer wersji.

Usługa: OpenCode Console, hostowana platforma OpenCode, w której obszarach roboczych (workspaces) można zapisać klucze API zewnętrznych dostawców modeli.
Co nie jest dotknięte (według firmy): otwartoźródłowa aplikacja i narzędzie CLI OpenCode. Współzałożyciel Dax Raad: „Note this is the OpenCode Console, not OpenCode itself, those keys never come to us”.
Zdarzenie: nieuprawniony dostęp w nocy z 16 na 17.10.2026, ujawniony 17.10 (sobota) we wpisie na X. 1,4% użytkowników Console. Poszkodowani mieli dostać e-mail.
CVE: brak. To incydent u dostawcy usługi, nie podatność w produkcie, który instalujesz.
Skutki relacjonowane: nadużycie kluczy (alerty kosztów, obciążenia od setek do ponad 1000 USD na konto według zgłoszeń użytkowników cytowanych przez TechCrunch). Anthropic i Google zablokowały klucze, które uznały za ujawnione. OpenAI zwraca koszty klientom API.
Pewność: średnia. Oryginalnego wpisu na X nie udało mi się odczytać bezpośrednio. Fakty pochodzą z relacji mediów, które go cytują.

Co wiemy, a czego nie

TwierdzenieStatusŹródło
Włamanie do „older system” w nocy z 16 na 17.10.2026Relacjonowane (cytat wpisu na X)TechCrunch
Dotyczy 1,4% użytkowników OpenCode ConsoleRelacjonowane (cytat wpisu na X)TechCrunch, Severity Daily
Poszkodowani dostali e-mail, kto go nie dostał, nie jest dotkniętyRelacjonowane (deklaracja firmy)TechCrunch
Klucze były w obszarach roboczych (workspaces) ConsoleRelacjonowaneTechCrunch
Lokalna aplikacja i CLI OpenCode nie są dotknięte („those keys never come to us”)Relacjonowane (wpis współzałożyciela)TechCrunch
Klucze były nadużywane: alerty kosztów, obciążenia od setek do ponad 1000 USD na kontoRelacjonowane (zgłoszenia użytkowników)TechCrunch
Anthropic i Google zablokowały klucze uznane za ujawnione, OpenAI zwraca kosztyRelacjonowaneTechCrunch
Sposób włamania, sposób przechowywania kluczy, pełna skala nadużyćNieujawnioneTechCrunch, Severity Daily
Komunikat na stronie, w dokumentacji lub changelogu OpenCodeBrak (stan sprawdzony przez Severity Daily)Severity Daily
CVEBrak—

Dwie rzeczy wymagają ostrożności. Po pierwsze, 1,4% to odsetek użytkowników Console, a nie liczba kluczy, użytkowników OpenCode w ogóle ani klientów dostawców AI. Po drugie, OpenCode opisał incydent jako związany z „large-scale distillation attack”. Destylacja to masowe odpytywanie modelu w celu trenowania tańszego modelu na jego odpowiedziach. Opisuje więc, do czego mogły posłużyć klucze, a nie jak zostały zdobyte. Na to zwraca uwagę Severity Daily. Sposobu włamania i sposobu przechowywania kluczy (np. czy były szyfrowane) firma nie ujawniła. Nie dopowiadam tu ani techniki, ani sprawcy.

Jeszcze jedna obserwacja o kanale komunikacji. Według Severity Daily na stronie opencode.ai, w dokumentacji, w changelogu (ostatni wpis v2.0.32 z 16.10) ani na stronie spółki matki nie było informacji o incydencie. Jedynym źródłem pierwotnym jest wpis na X. Dla rejestru dostawców to osobny punkt: dostawca, który przechowuje Twoje sekrety, informuje o ich ekspozycji tylko w mediach społecznościowych.

Dlaczego to temat dla VE, skoro nie ma CVE

Vulnerability management zwykle zaczyna się od pytania „jaka wersja jest podatna”. Tutaj nie ma wersji. Jest sekret, nad którym straciłeś kontrolę, bo leżał w cudzej usłudze. Tradycyjny skaner, SCA ani CSPM nie pokażą żadnego findingu. A skutek jest bardzo konkretny: ktoś może wywoływać API na Twój koszt, w ramach Twoich limitów i pod Twoją tożsamością u dostawcy.

Najważniejsza różnica wobec zwykłego incydentu dostawcy: OpenCode nie może tego naprawić za Ciebie. Nie unieważni klucza OpenAI, Anthropic ani Google, bo ich nie wystawił. Zmiana hasła do Console również nic nie da, bo klucz działa niezależnie od niej. Każde działanie naprawcze należy do właściciela konta u każdego z dostawców. Ten wzorzec (właścicielem remediacji jest ktoś inny niż dostawca, u którego był problem) opisywałem w innym kontekście przy ServiceNow. Tutaj jest odwrócony: dostawca, u którego był incydent, nie ma czym naprawić.

Kontrola w organizacji

  1. Czy ktoś używa OpenCode Console? Odróżnij lokalne narzędzie (klucze zostają na komputerze użytkownika) od hostowanej Console. Sprawdź SSO, wydatki na karty firmowe, ruch do domen OpenCode w proxy, ankietę w zespołach deweloperskich. Narzędzia AI dla programistów często wchodzą do firmy oddolnie, poza katalogiem SaaS.
  2. Czy w Console trafiły klucze firmowe? Klucze z kont organizacji u dostawców modeli, a nie tylko prywatne klucze pracowników.
  3. Rotuj niezależnie od e-maila. Firma twierdzi, że kto nie dostał wiadomości, ten nie jest dotknięty. Nie da się tego zweryfikować z zewnątrz, a koszt pomyłki to aktywny klucz z kartą płatniczą. Jeśli klucz firmowy był zapisany w Console, unieważnij go.
  4. Rotacja bez przestoju: nowy klucz u dostawcy, wdrożenie w aplikacjach, które go używają, unieważnienie starego. Sprawdź, czy dostawca już go zablokował. Wtedy przestój mógł się już zdarzyć i warto wiedzieć, które systemy przestały działać.
  5. Przegląd użycia i kosztów od 16.10.2026 w panelu każdego dostawcy: nietypowe modele, wolumen, projekty, godziny. Przy nadużyciu złóż wniosek o zwrot. TechCrunch relacjonuje, że OpenAI i OpenCode zwracają koszty.
  6. Twarde ograniczenia na nowe klucze: limity wydatków, alerty, minimalne uprawnienia i osobne projekty dla narzędzi zewnętrznych, żeby kolejny wyciek miał mniejszy zasięg.

W zgłoszeniach do dostawców ani w ticketach wewnętrznych nie wklejaj samych kluczy. Wystarczy identyfikator klucza lub projektu.

Jak to wpisać do rejestru

Pole w rejestrzeWartość
TypIncydent dostawcy, ekspozycja sekretów, bez CVE
ZasóbHostowana usługa OpenCode Console (nie lokalna aplikacja, nie CLI)
Klasa sekretuKlucze API zewnętrznych dostawców modeli (np. OpenAI, Anthropic, Google) zapisane w workspace Console
Właściciel remediacjiWłaściciel konta u każdego dostawcy modeli, nie OpenCode
PewnośćŚrednia: deklaracja firmy na X, relacje mediów, brak komunikatu na stronie producenta
Kryterium zamknięciaDowód unieważnienia starych kluczy u każdego dostawcy, przegląd użycia i kosztów od 16.10.2026, decyzja o dalszym korzystaniu z Console
PowiązaneRejestr dostawców (TPRM), polityka przechowywania sekretów w usługach SaaS

Kryterium zamknięcia jest tu najważniejsze. Ticket z treścią „zaktualizuj OpenCode” zostałby zamknięty bez żadnego efektu, bo lokalna aplikacja nie była dotknięta, a nowa wersja nie unieważnia żadnego klucza. Dowodem zamknięcia jest lista unieważnionych kluczy z datą, wynik przeglądu użycia i decyzja, czy organizacja dalej pozwala przechowywać klucze w Console.

Szerzej: sekrety w narzędziach AI dla deweloperów

To nie pierwszy raz, gdy klucze do modeli są najcenniejszym zasobem w otoczeniu agentów AI. Przy platformach agentów z domyślnym docker-compose klucze leżały w zmiennych środowiskowych kontenera z otwartym narzędziem shell. Tutaj leżały w hostowanej usłudze pośredniczącej. Wspólny wniosek dla polityki: każda usługa, która przechowuje klucz do API modelu, wchodzi do zakresu ochrony sekretów. Potrzebny jest dla niej właściciel, inwentarz i procedura rotacji, zanim zdarzy się incydent.

Powiązane na blogu

Źródła

  • TechCrunch — „Hackers hit AI coding tool OpenCode, running up charges on users’ AI accounts”, 19.10.2026 (cytaty wpisów OpenCode i Daxa Raada na X, nadużycia, reakcje dostawców) — techcrunch.com
  • Severity Daily — analiza źródeł ujawnienia: brak komunikatu na stronie, w dokumentacji i changelogu, znaczenie określenia „distillation” — severitydaily.com
  • The Hacker News — „OpenCode Console breach may have…”, 19.10.2026 (nieodczytany, HTTP 403 w dniu weryfikacji) — thehackernews.com

Nota redakcyjna: wpis powstał na podstawie szkicu VMRT Radar z 19 października 2026 i został zweryfikowany ze źródłami 20 października 2026 (ok. 19:20 CEST): artykuł TechCrunch z 19.10.2026 (cytaty wpisów OpenCode i współzałożyciela na X, 1,4% użytkowników Console, e-maile do poszkodowanych, zakres ograniczony do Console, nadużycia kluczy, blokady i zwroty u dostawców, brak szczegółów technicznych) oraz analiza Severity Daily (brak komunikatu na opencode.ai, w dokumentacji, changelogu i na stronie spółki matki). Oryginalnego wpisu na X nie odczytałem bezpośrednio, a artykuł The Hacker News zwrócił błąd 403, więc wszystkie twierdzenia OpenCode podaję jako relacjonowane. Względem szkicu dodałem Google do listy dostawców, informację o zgłoszonych nadużyciach i reakcjach dostawców oraz o braku komunikatu poza X. Sformułowanie o „wycofywanym” systemie ze szkicu pominąłem, bo źródło mówi tylko o „older system”. Nie potwierdziłem: liczby kont ani kluczy, sposobu włamania, sposobu przechowywania kluczy, pełnej skali nadużyć ani tego, czy incydent się zakończył (według TechCrunch 19.10 trwał). Incydent nie ma CVE, więc katalog KEV go nie dotyczy (sprawdzone ponownie 22.10.2026, katalog 2026.10.21). Procedura kontroli, wpis do rejestru i kryterium zamknięcia to oceny autora.

Zapamiętaj jedno

Incydent w OpenCode Console (16–17.10.2026, 1,4% użytkowników Console) nie ma CVE i nie wygeneruje żadnego findingu w skanerze. Mimo to firmowe klucze API do OpenAI, Anthropic czy Google zapisane w workspace Console trzeba traktować jak ujawnione, bo relacjonowane są ich nadużycia. Naprawić może to tylko właściciel konta u każdego dostawcy. OpenCode tych kluczy nie wystawił i nie unieważni. Lokalna aplikacja i CLI według firmy nie są dotknięte. Zarejestruj to jako incydent dostawcy z ekspozycją sekretów, a zamknij dowodem unieważnienia kluczy i przeglądem użycia od 16.10, nie aktualizacją.