Przejdź do treści

Ktoś używał kluczy AI klientów Northflank. Platforma każe założyć, że wszystko przejęte

Okładka: nagłówek WSZYSTKIE SEKRETY DO ROTACJI, pomarańczowa pieczęć ROTUJ WSZYSTKO oraz karty danych incydentu Northflank: alert w Wiz 11:43 UTC, potwierdzenie 23:38 UTC, stan IDENTIFIED z 31 października 2026

W czwartek 30 października platforma Northflank, na której deweloperzy uruchamiają aplikacje i trzymają sekrety, ogłosiła incydent bezpieczeństwa z komunikatem godnym najczarniejszego scenariusza: przyjmijcie, że wszystkie zmienne środowiskowe zostały przejęte, i rotujcie poświadczenia natychmiast. Wieczorem przyszło potwierdzenie z drugiej strony, od użytkowników: ktoś używał kluczy API bez autoryzacji, tych do usług AI, które przechowywali na platformie. Jeżeli masz tam wdrożenia, zadanie na dziś jest jedno, cofnij klucze u dostawców, wygeneruj nowe i przejrzyj rozliczenia AI. Poniżej oś czasu, kontekst październikowej fali i wyjaśnienie, dlaczego platformy PaaS zamieniają się w kartotekę poświadczeń.

Najważniejsze informacje

CoSzczegóły
IncydentNieautoryzowane użycie kluczy AI API dostarczonych do platformy, zgłoszone przez klientów 30.10.2026 wieczorem
Czas reakcjiAlert w Wiz 11:43 UTC, pierwszy publiczny komunikat 13:40 UTC, status „Identified” 13:58 UTC
Nakaz platformy„Zakładaj, że wszystkie zmienne środowiskowe zostały skompromitowane”; rotacja workloadów, secret groups i global secrets
Dodatkowe krokiWyłączenie publicznego wystawienia addonów, przegląd logów użycia i rozliczeń u dostawców AI
Stan 31.10 ranoOstatnia aktualizacja 01:04 UTC: audit logs dla wszystkich, także darmowych kont; wektor wejścia nieznany
KontekstRaport Wiz „Black October”: co najmniej 9 platform AI z incydentami w październiku 2026

Co się stało w Northflank

Northflank to londyńska firma założona 1 kwietnia 2019 roku, wg rejestru Companies House działa w branży hostingu i przetwarzania danych. Klient wrzuca do niej usługi, bazy danych i zadania bez własnej infrastruktury, a wrażliwe wartości, od kluczy bazy danych po tokeny OpenAI albo Anthropic, trzyma w zmiennych środowiskowych, które platforma wstrzykuje do kontenerów. To wygodny model, miliony wdrożeń tak żyją, tylko że ktoś właśnie udowodnił, ile ten magazyn jest wart.

Publiczna oś czasu na status page zaczyna się od sygnału, który łatwo przeoczyć: o 11:43 UTC odpalił alert zagrożeń w Wiz, platformie bezpieczeństwa, którą Northflank używa u siebie. Inżynierowie wzięli go na warsztat minutę później, o 12:02 i 12:50 poszły poprawki polityk sieciowych, a o 13:00 UTC firma wystąpiła o wsparcie do zespołu reagującego Wiz. O 13:40 UTC status page dostał status „Investigating” z jednym zdaniem: natychmiast rotujcie zmienne środowiskowe. O 13:58 pojawiło się „Identified” i twarde zdanie o tym, że wszystkie zmienne środowiskowe należy traktować jako odszyfrowane.

Dalej oś czasu tylko eskalowała. Aktualizacja z 15:12 UTC mówiła o włączeniu rotacji sekretów dla baz Postgres i MongoDB oraz o zdaniu, którego nie da się zignorować: „Wielu użytkowników potwierdza, że ich klucze AI były używane”. O 19:28 platforma przyznała, że potwierdzonych ustaleń brak, więc wskazówki zostają: „assume all environment variables have been compromised”, czyli przyjmijcie, że wszystko zostało skompromitowane, włącznie z sekretami workloadów, secret groups i globalnymi. Aktualizacja z 23:38 UTC przyniosła rozdział właściwy: użytkownicy zgłaszają nieautoryzowane użycie kluczy AI API dostarczonych do platformy, a wzorzec ataków przypomina ten z raportu Wiz „Black October”. Nad ranem 31 października, o 01:04 UTC, platforma włączyła audit logs dla wszystkich klientów, także darmowych.

Sam serwis działał przy tym dziwnie: siedem komponentów platformy, od sieci po buildy, wisi na statusie „Major outage”, a aplikacja, API i dokumentacja odpowiadają normalnie. Na mój odczyt 31 października około 09:45 UTC status wciąż brzmiał „Identified”, ostatnia aktualizacja pochodziła z 01:04, przyczyny źródłowej nie podano.

Klienci potwierdzają użycie kluczy

Najbardziej wymowne są nie komunikaty, tylko konta użytkowników. W wątku Hacker News (426 punktów, 306 komentarzy) programista roncesvalles opisał, że miał klucz Anthropic wprost jako zmienną środowiskową na Northflank i o incydencie dowiedział się z pierwszej strony HN, sześć godzin po komunikacie, bez żadnego maila od platformy. Sprawdził konsolę Claude spodziewając się rachunku z czterema cyframi i tym razem miał szczęście: zero użycia. Inny użytkownik, sergiotapia, skreślił PaaS jako kategorię po tym, jak musiał rotować sekrety RevenueCat, Apple i dostawców AI dla aplikacji z dwoma użytkownikami.

Rachunek bywa realny, bo kradzione klucze AI mają dziś gotowy rynek zbytu, a Wiz oceniła użycie w dwóch rozpisanych przez siebie przypadkach na ponad 100 tysięcy dolarów po cenach katalogowych. Mechanizm spalania cudzego konta znamy też z pracy agentów: agenty działające w tle podjadają limity Claude Code. Przegląd billingów po takim wycieku to zwykła kontrola rachunku za prąd.

W wątku HN nie znalazłem ani jednej odpowiedzi Northflank, przeszedłem całe drzewo komentarzy. Firma komunikuje się wyłącznie przez status page.

Black October: dziewiąta platforma w jednym miesiącu

Northflank jest dziewiątą platformą dla deweloperów z incydentem bezpieczeństwa ogłoszonym w październiku 2026. Raport Wiz z 30 października układa je w jeden wiersz: Fireworks AI 6 października, Andromeda 9, Zeabur 14, Lightning AI 15, OpenCode 16 i 17, Railway 20, Warp 23, CommandCode 28, Northflank 30. Wzorzec jest spójny: atakujący celują w zapisane zmienne środowiskowe i wybierają poświadczenia dające dostęp do modeli AI. Pojedynczej podatności, która łączyłaby wszystkie przypadki, nie wskazano; Railway mówi o eskalacji uprawnień w swojej infrastrukturze buildów, Warp o zależności od zewnętrznego dostawcy, OpenCode o legacy systemie, a Zeabur po pełnym opisie incydentu ogłosił zamknięcie firmy.

Thomas Ptacek, weteran sceny bezpieczeństwa, przypomniał w wątku, że takie akcje dzieją się od miesięcy, a „Black October” to częściowo efekt nagromadzenia ujawnień. Październik pokazał pełne spektrum: AI wykryte RCE php2shell, zainfekowana paczka litellm na PyPI kradnąca klucze i backdoor w rozszerzeniu Claude Code siedzący w Marketplace Cursora. Incydenty różnych typów, jeden wspólnik: poświadczenia AI stały się towarem, dla którego warto włamywać cokolwiek.

Wiz rozpisała dwa przypadki nadużycia skradzionych kluczy Bedrock: pierwsze nieautoryzowane wywołanie przyszło w obu w ciągu 30 minut od zgłoszenia dostępu do poświadczeń, pojedynczy test z adresu rezydencjalnego najpierw pytał o model Claude Fable 5.1, a po porażce zadziałał Opus 5.5. Po cichej weryfikacji, po kilka do stu wywołań dziennie, przychodził flood: około 800 tysięcy wywołań w trzydzieści godzin w pierwszym przypadku i 1,7 miliona w trzynastu godzin w drugim. Skradzionymi kluczami zarządzają zorganizowane huby, jeden z nich, w raporcie Wiz pod nazwą „momo”, prowadzi publiczną odsprzedaż dostępu do modeli z płatnościami w USDT.

Wiz nie twierdzi, że IP z jej raportu to te same, które uderzyły w Northflank, a status page pisze ostrożnie o „podobnych adresach IP”. O równoległości mówimy na poziomie wzorca, nie dowodu technicznego.

Sekrety, które da się odczytać: pułapka nowoczesnego PaaS

Argument, który wróci w każdej dyskusji o PaaS, postawił w wątku btown: platformy takie jak Northflank zakładają, że użytkownik i agent może podejrzeć wartość zmiennej środowiskowej w panelu albo w CLI, bo tak wymaga wygoda debugowania. W dokumentacji Northflank strona o wstrzykiwaniu sekretów pokazuje wręcz ikonę odsłaniającą wartość. Skoro wartość poświadczenia da się odczytać przez warstwę zarządzania, to jej skompromitowanie znaczy: sekrety wszystkich klientów do wzięcia przez zwykłe podszywanie się pod uprawnionego klienta.

Stąd dwa głosy z wątku. Maherbeg proponuje, żeby dostawcy rozdzielili sekrety od zwykłych zmiennych i uniemożliwili odczyt po zapisaniu, tak jak robią to dedykowane sejfy. Ksajadi zwraca uwagę na efekt domina: Northflank wymienia wśród klientów Sentry, więc skompromitowany dostawca z sekretami klienta bywa tylko przystankiem na drodze do następnego celu. Tego scenariusza w tym incydencie nikt nie potwierdził.

Jeśli używasz Northflank: lista kroków

Instrukcja z status page spina się do pięciu kroków:

  1. Cofnij dotychczasowe klucze u dostawców, w panelu Anthropic, OpenAI, Google czy gdziekolwiek były wydane.
  2. Wygeneruj nowe poświadczenia i podmień je w Northflank: workloady, secret groups i global secrets, wszystkie trzy miejsca.
  3. Przejrzyj logi użycia i rozliczeń u dostawców AI, szukaj ruchu, którego nie kojarzysz, i zgłaszaj go do wsparcia Northflank oraz dostawcy.
  4. Wyłącz publiczne wystawienie addonów, jeśli je włączyłeś, platforma prosi o to od 15:12 UTC.
  5. Zajrzyj do audit logs, od nadrania 31 października dostępne dla wszystkich kont, także darmowych.

Rotację rób z maszyny, której ufasz. Jeżeli do Northflank nie należysz, a trzymasz klucze w zmiennych środowiskowych gdziekolwiek indziej, weź z tego incydentu dwie lekcje roncesvallesa: nie nazywaj zmiennej wprost CLAUDE_API_KEY i nie trzymaj w wartości surowego prefiksu sk-ant, bo w skradzionych zrzutach takie stringi atakujący znajdują prostym regexem.

Czego nie wiadomo

Przyczyny źródłowej nie podano i nie wiadomo, jak atakujący wszedł. Poprawki „polityk sieciowych” na osi czasu sugerują zawieranie na poziomie sieci, ale to wskazówka, nie wyjaśnienie. Nie wiadomo też, ile klientów jest dotkniętych, ile kluczy użyto i na jaką kwotę, ani czy kompromitacja objęła płaszczyznę zarządzania platformy czy tylko workloady klientów. Artykułów o Northflank brakuje w BleepingComputer, The Register i TechCrunch wg wyszukiwań z poranka 31 października, więc pisanie opiera się na status page, raporcie Wiz i wątku HN. Status incydentu pozostaje „Identified”, każda kolejna aktualizacja status page może zmienić obraz, tego tekstu też.

Najczęstsze pytania

Co to jest PaaS?

Platform as a Service, czyli platforma jako usługa: dostawca utrzymuje infrastrukturę, a klient uruchamia na niej aplikacje bez zarządzania serwerami. Northflank to właśnie taki dostawca, obok Railway, Heroku czy Fly.io. Wygoda ma cenę: platforma przechowuje poświadczenia wielu klientów naraz.

Co to jest klucz API?

Sekwencja znaków, którą program potwierdza dostawcy usługi swoje prawo do korzystania z niej. Klucz API do Anthropic czy OpenAI otwiera rachunek jego właściciela: każdy model wywołany tym kluczem płaci się z jego konta albo limitu. Skradziony klucz to realne ryzyko finansowe: na nim da się odpalić pracę modeli na cudzy koszt.

Co to jest zmienna środowiskowa?

Para nazwa i wartość, którą system przekazuje uruchamianemu programowi, np. DATABASE_URL albo CLAUDE_API_KEY. W chmurowych platformach zmienne środowiskowe są standardowym miejscem na sekrety, bo wstrzykiwanie ich do kontenera nie wymaga zmian w kodzie. Wada tego podejścia ujawniła się w Northflank: gdy magazyn zmiennych przecieka, przeciekają wszystkie sekrety naraz.

Wyciek danych co robić?

W tym incydencie konkretnie: cofnij klucze u dostawców, wygeneruj nowe, przejrzyj rozliczenia AI i wyłącz publiczne wystawienie addonów, lista kroków jest w artykule. Ogólnie po wycieku działa ten sam rytm: rotacja poświadczeń z zaufanego urządzenia, zmiana haseł, włączenie drugiego czynnika i przyglądanie się logom oraz rachunkom przez najbliższe tygodnie.

Źródła

Powiązane artykuły