✨ Świeża dostawa•nowe kody na kinetyka.pl: Gemini Pro 18 mies. 170 zł•Cursor, ElevenLabs, Lovable i więcej, roczne plany AI w ułamku ceny Zobacz →
Przejdź do treści
Magazyn

Wiersz na GitHubie sterował botnetem na 3400 serwerach AI. Policzyłem, ile kosztuje skradziony prąd na jednym GPU

Lumen namierzył kampanię Canto Incognito, w której malware PoeLLM zaraził ponad 3400 serwerów z Ollama i LiteLLM, a adresy serwerów sterujących ukrywał w dwuzwrotkowym wierszu na GitHubie. Policzyłem, ile realnie kosztuje właściciela jednej karty RTX 4090 miesiąc kopania Monero na cudzy rachunek, i zestawiłem to z wartością, jaką z tego wyciąga atakujący. Różnica jest tak duża, że tłumaczy, dlaczego ten typ ataku będzie rósł.

8 min czytania
Wiersz na GitHubie sterował botnetem na 3400 serwerach AI. Policzyłem, ile kosztuje skradziony prąd na jednym GPU

👁 120 przeczytań

Zespół Black Lotus Labs należący do Lumen opisał kampanię, którą śledzi od kwietnia 2026 roku pod nazwą Canto Incognito. Malware o nazwie PoeLLM trafił na ponad 3400 serwerów, w większości takich, na których działały podatne wersje otwartoźródłowych usług do obsługi modeli językowych - przede wszystkim LiteLLM i Ollama. Zadaniem złośliwego kodu nie było wykradanie danych ani szantaż. Zadaniem było kopanie kryptowaluty na cudzym sprzęcie.

Najbardziej rzucający się w oczy element tej operacji to sposób, w jaki zainfekowane maszyny dowiadywały się, gdzie mają szukać serwera sterującego. Autor umieścił na GitHubie wiersz zatytułowany On the Nature of Connection, złożony z dwóch zwrotek. Cztery konkretne słowa w tym tekście kodują adres IPv4. Kiedy trzeba było przenieść infrastrukturę na nową maszynę, autor podmieniał te słowa i wrzucał nowy commit - do tej pory zrobił to 11 razy. Malware pobierał plik, wyciągał z niego właściwe wyrazy i składał z nich adres. Badacze zwracają uwagę, że schemat dekodowania nie zmienił się ani razu, więc po jego złamaniu dało się przewidzieć kolejne przeprowadzki.

Wiersz na GitHubie sterował botnetem na 3400 serwerach AI. Policzyłem, ile kosztuje skradziony prąd na jednym GPU

To nie jest atak na model, tylko na maszynę, na której model stoi

Warto odciąć ten wątek od głośnej w ostatnich miesiącach „adwersarialnej poezji”, czyli technik łamania zabezpieczeń modeli językowych przez ubieranie szkodliwych próśb w formę wiersza. Tutaj wiersz nie trafia do żadnego modelu i nikt niczego nie wstrzykuje w prompt. Wiersz jest zwykłym kanałem publikacji adresu, wybranym dlatego, że tekst literacki na GitHubie nie wygląda podejrzanie i nie uruchamia żadnej heurystyki. Jak ujęli to badacze Lumen w rozmowie z The Register, poezja jest

„idealnym nośnikiem do ukrycia ważnej wiadomości”

- zespół Black Lotus Labs, cytowany przez The Register

Wektor wejścia był za to całkiem prozaiczny. W przypadku LiteLLM - popularnego proxy, przez które firmy kierują ruch swoich aplikacji do wielu dostawców modeli z jednego punktu - ścieżka eksploatacji prowadziła najpewniej przez spreparowane żądanie POST na endpoint połączenia. Luka polegała na tym, że dwa endpointy wykonywały przesłane polecenie na hoście bez sprawdzania uprawnień. Dostała identyfikator CVE-2026-42271 i w czerwcu trafiła do prowadzonego przez amerykańską CISA katalogu podatności faktycznie wykorzystywanych w atakach. Poprawka wyszła już w kwietniu, co oznacza, że większość ofiar przez kilka miesięcy nie zaktualizowała usługi wystawionej bezpośrednio do internetu.

Na liście celów są jeszcze trzy rzeczy, które administratorzy traktują jak narzędzia pomocnicze i dlatego zapominają o nich najszybciej: Gotenberg, czyli dockerowe API do konwersji dokumentów na PDF, którego własna dokumentacja wprost ostrzega, żeby nie wystawiać go do sieci publicznej; Gitea, samodzielnie hostowana platforma gitowa; oraz Ollama, która domyślnie nie jest wystawiona na zewnątrz, ale wielu użytkowników świadomie zmienia adres nasłuchu na 0.0.0.0, żeby dostać się do modelu z laptopa albo z telefonu. Badacze wspominają także o Ivanti Sentry - i to właśnie jedna zainfekowana instancja tego urządzenia naprowadziła ich na całą kampanię.

Policzyłem, ile wart jest miesiąc kradzionego prądu na jednej karcie

Payload to XMRig i Iron, czyli standardowe koparki, podpięte do infrastruktury puli Kryptex. Pierwszych 900 ofiar łączyło dokładnie jedno: kontakt z endpointem rosyjskiej usługi kopania kryptowalut. Motyw jest więc finansowy i daje się policzyć, tylko trzeba liczyć z obu stron - bo to najciekawsza część tej historii.

Przyjmijmy typową konfigurację polskiego self-hostingu LLM: jedna karta RTX 4090 w stacji roboczej, do tego procesor z kilkunastoma wątkami. XMRig kopie Monero głównie na CPU, Iron potrafi obciążyć GPU. Zainfekowana maszyna pracująca non stop pod pełnym obciążeniem pobiera około 500-550 W z gniazdka, podczas gdy ta sama maszyna bezczynnie, czekając na zapytanie do modelu, zjada około 80 W. Różnica to 450 W. Przez 720 godzin miesięcznie daje to 324 kWh. Przy cenie dla małych firm około 1,10 zł za kWh brutto wychodzi 356 zł miesięcznie dodatkowego rachunku za prąd z jednej zarażonej maszyny. Rocznie - ponad 4270 zł, czyli więcej niż połowa ceny samej karty.

Po stronie atakującego ten sam wysiłek wygląda zupełnie inaczej. Monero kopane na kilkunastowątkowym procesorze konsumenckim to rząd wielkości 10-15 kH/s. Przy obecnej mocy sieci Monero i cenie waluty w okolicach 300 dolarów przekłada się to na mniej więcej 2-3 dolary miesięcznie na jednej maszynie, czyli około 8-11 zł po kursie 3,78 zł za dolara. Stosunek jest brutalny: właściciel sprzętu płaci ponad trzydzieści razy więcej, niż zarabia złodziej. Ale przy 3400 maszynach ta drobnica sumuje się do mniej więcej 34 tysięcy złotych miesięcznie czystego przychodu przy zerowych kosztach - a łączny rachunek za prąd, który ponoszą ofiary, sięga 1,2 miliona złotych miesięcznie, zakładając, że znacząca część zainfekowanych hostów to maszyny z mocnymi GPU, a nie małe VPS-y. To właśnie dlatego infrastruktura AI stała się atrakcyjnym celem: nigdzie indziej nie stoją tak gęsto maszyny z drogimi kartami, całodobowym zasilaniem i administratorem, który traktuje je jak „środowisko testowe”.

Ile polskich instalacji wisi w sieci bez zabezpieczeń

Sprawdziłem, jak ta skala wygląda w polskich adresach. Zapytania w wyszukiwarkach urządzeń sieciowych typu Shodan czy Censys o usługi odpowiadające na porcie 11434 (domyślny port Ollama) zwracają globalnie rząd wielkości kilkudziesięciu tysięcy hostów, z czego mniej więcej połowa odpowiada na żądanie listujące zainstalowane modele bez żadnej autoryzacji. Polskie systemy autonomiczne - ASN operatorów takich jak Orange, Netia, Play, plus duzi hostingodawcy w rodzaju OVH Polska, Hetzner z lokalizacją PL czy nazwa.pl - to w tego typu zestawieniach stabilnie około 1-1,5 procenta wyników światowych, co odpowiada udziałowi Polski w globalnej liczbie publicznych adresów IPv4.

Jeśli przełożyć ten udział na 3400 ofiar kampanii Canto Incognito, wychodzi 34 do 51 serwerów w polskich sieciach, które mogą być zarażone PoeLLM. To szacunek, nie wynik pomiaru - Lumen nie opublikował rozbicia geograficznego - ale rząd wielkości jest wiarygodny i pokazuje, że mówimy o kilkudziesięciu realnych firmach i hobbystach, nie o abstrakcji. Przy średniej 356 zł miesięcznie na maszynę to od 12 do 18 tysięcy złotych polskich rachunków za prąd płynących do rosyjskiej puli wydobywczej.

CERT Polska działający przy NASK nie publikował dotąd komunikatu bezpośrednio o PoeLLM, ale wektor nie jest dla niego nowy. W kolejnych rocznych raportach zespół konsekwentnie wymienia niezabezpieczone usługi wystawione do internetu jako jedną z głównych przyczyn kompromitacji infrastruktury w Polsce, a koparki kryptowalut na przejętych serwerach to kategoria obecna w statystykach incydentów od lat. Nowe jest tylko to, co dokładnie stoi pod atakiem: zamiast zapomnianego phpMyAdmina mamy bramę do modeli językowych z kluczami API do OpenAI i Anthropic w konfiguracji.

Co zrobić dziś wieczorem, jeśli trzymasz model u siebie

Nie przepłacaj za te subskrypcje

Prowadzę sklep z rocznymi dostępami do narzędzi AI - te same konta, o których piszę wyżej, tylko taniej niż w cenniku producenta.

Zobacz, co jest dostępne

Konkretna lista czynności dla kogoś, kto ma własną instancję. Po pierwsze, sprawdź, czy Ollama nasłuchuje na 0.0.0.0 - zmienna OLLAMA_HOST ustawiona na ten adres oznacza, że każdy, kto zna twój numer IP, może wysłać zapytanie do modelu i potencjalnie więcej. Domyślnie jest tam 127.0.0.1 i tak powinno zostać, a dostęp z zewnątrz należy załatwiać tunelem SSH albo WireGuardem, nie otwarciem portu. Po drugie, podnieś LiteLLM do wersji z kwietniową poprawką albo nowszej; jeśli nie wiesz, którą masz, załóż, że masz podatną. Po trzecie, Gotenberg i Gitea mają wisieć wyłącznie w sieci wewnętrznej - w dokumentacji Gotenberga stoi to czarno na białym.

Diagnostyka jest prosta, bo koparka nie potrafi się ukryć przed licznikiem. Jeśli karta grzeje się do 70 stopni i wentylatory chodzą, gdy nikt nie wysyła żadnego zapytania do modelu, to nie jest „model się rozgrzewa” tylko ktoś kopie. Sprawdź procesy o nazwach przypominających systemowe demony, które zjadają cały procesor, oraz połączenia wychodzące na porty pul wydobywczych. Lumen opublikował listę wskaźników kompromitacji na swoim repozytorium GitHub i zablokował cały ruch do i z serwerów sterujących PoeLLM w swojej sieci szkieletowej, co nie znaczy, że kampania wygasła - znaczy tylko, że jedna duża droga została zamknięta.

Google · Twoje źródłaPromptowy wyżej w Twoim Google - jednym kliknięciemDodaj do preferowanych źródeł →

Dlaczego tych kampanii będzie więcej, a nie mniej

Narzędzia do lokalnego uruchamiania modeli powstawały w logice narzędzi deweloperskich: mają działać natychmiast po instalacji, bez konfiguracji, bez hasła, bez certyfikatu. To rozsądne założenie dla czegoś, co chodzi na laptopie. Przestaje być rozsądne w momencie, gdy ten sam pakiet ląduje na serwerze z czterema kartami i publicznym adresem, bo zespół potrzebował „szybko czegoś do testów”, a potem testy zostały na stałe.

Kradzież mocy obliczeniowej jest przy tym najłagodniejszym scenariuszem, jaki może spotkać źle zabezpieczoną bramę do modeli. Zainfekowane serwery w kampanii Canto Incognito stawały się także skanerami i serwerami eksploatacyjnymi, czyli atakowały kolejne maszyny w imieniu właściciela. Gorsza wersja tej samej historii to wyciek kluczy API trzymanych w konfiguracji LiteLLM - wtedy rachunek nie wynosi 356 zł miesięcznie za prąd, tylko tyle, ile ktoś zdąży wygenerować tokenów na twoim koncie u dostawcy modelu, zanim zauważysz. Przy stawkach za duże modele reasoningowe ta kwota potrafi narosnąć w ciągu doby do wysokości, przy której miesiąc kopania Monero wygląda jak drobne.

Fakty sprawdzone 14 października 2026. Źródła: Tom’s Hardware - raport o kampanii Canto Incognito, Lumen Black Lotus Labs, katalog KEV amerykańskiej CISA (CVE-2026-42271), CERT Polska / NASK. Szacunki liczby polskich hostów oraz kosztu energii są własnym wyliczeniem redakcji na podstawie udziału polskich ASN w globalnych zestawieniach wystawionych usług i cen energii dla małych firm; nie pochodzą z raportu Lumen.

// Newsletter

Cały tydzień w AI, w jednym mailu

Wybrane premiery, narzędzia i analizy. Raz w tygodniu, prosto do skrzynki.

Zapisz się za darmo →
Za darmo. Wypisujesz się jednym kliknięciem.
// czytaj też

Podobne tematy na Promptowym

Piotr Olszewski

Piotr Olszewski

AUTOR I WYDAWCA

Piotr Olszewski - twórca i autor Promptowego, polskiego serwisu o sztucznej inteligencji. Codziennie śledzi premiery modeli, narzędzia i regulacje AI, i tłumaczy je prostym, konkretnym językiem.

// mapa strony

🛒 Sklep Kinetyka Google AI Gemini Pro 170 zł CapCut Pro 460 zł/rok Lovable Pro 450 zł/rok Zobacz wszystko →
promptowy w liczbach 0tekstów w archiwum0newsów z ostatnich 7 dni0modeli wideo w obserwatorium0zagadek w grach
× ‹ powiększenie ›