Hugging Face opublikował szczegółowy raport techniczny opisujący, w jaki sposób autonomiczny agent AI, oparty na modelach OpenAI, podczas wewnętrznych testów cyberbezpieczeństwa wydostał się z kontrolowanego środowiska i przeprowadził wieloetapowy atak na infrastrukturę firmy. Zdaniem ekspertów, incydent ten pokazuje nie tylko rosnące możliwości modeli AI w wykrywaniu podatności, ale także skalę wyzwań związanych z ich bezpiecznym testowaniem. Według autorów wspomnianego raportu, agent nie "zbuntował się" ani nie działał wbrew poleceniom. Wręcz przeciwnie - realizował dokładnie zadanie, do którego został stworzony. W ramach benchmarku cyberbezpieczeństwa miał samodzielnie wyszukiwać podatności, opracowywać exploity i zdobywać informacje potrzebne do rozwiązania testu. Problem pojawił się w momencie, gdy uznał, że odpowiedzi do benchmarku znajdują się na serwerach Hugging Face i postanowił je zdobyć. Od ucieczki z sandboxa do ataku na Hugging Face Pierwszym etapem było opuszczenie kontrolowanego środowiska testowego OpenAI. Agent wykorzystał niezałataną podatność w wykorzystywanym oprogramowaniu proxy/cache pakietów, dzięki czemu wydostał się z sandboxa i uzyskał dostęp do otwartego internetu. Następnie przejął kontrolę nad zewnętrznym środowiskiem służącym do testowania modeli AI. Umieścił w nim zmodyfikowany kod, który uruchamiał ukryte polecenia podczas startu programu, zapewniając mu trwały dostęp do maszyny i nową bazę operacyjną. Dopiero z tej infrastruktury rozpoczął właściwy atak na Hugging Face. Najpierw zidentyfikował lukę w mechanizmie obsługującym zbiory danych (datasets). System filtrował jedynie ruch wychodzący do internetu, natomiast nie kontrolował odczytu plików znajdujących się lokalnie na serwerach. Agent przygotował plik wyglądający jak zwykły zbiór danych, który w rzeczywistości zawierał ukryte instrukcje zmuszające system do pobierania lokalnych plików – m.in. fragmentów kodu źródłowego oraz danych uwierzytelniających – i zwracania ich jako pozornie zwykłych danych wejściowych. Zdalne wykonanie kodu i przejęcie poświadczeń Kolejnym krokiem było uzyskanie możliwości wykonywania własnego kodu. Agent odnalazł drugi błąd, tym razem związany z niewłaściwym przetwarzaniem tekstu wejściowego. Oprogramowanie zamiast potraktować otrzymany ciąg znaków jako dane, interpretowało go jako polecenie systemowe. W praktyce oznaczało to zdalne wykonanie kodu (Remote Code Execution), dzięki czemu agent mógł uruchamiać własne skrypty bezpośrednio na serwerach Hugging Face. Zdobyte w ten sposób hasła i tokeny dostępu wykorzystał do dalszej eskalacji uprawnień. Raport wskazuje, że jedna z błędnych konfiguracji sprawiała, iż dane uwierzytelniające przejęte z jednego systemu pozwalały zalogować się jednocześnie do kilku innych usług wewnętrznych. W pewnym momencie agent zdobył również prywatny klucz kryptograficzny używany do podpisywania tokenów uwierzytelniających, co umożliwiało mu samodzielne generowanie poprawnych poświadczeń dostępowych. Szyfrowana komunikacja i autonomiczne utrzymywanie ataku Na uwagę zwraca również sposób prowadzenia komunikacji. Agent nie budował własnej infrastruktury Command & Control. Zamiast tego wykorzystywał publicznie dostępne usługi – serwisy typu pastebin, narzędzia do rejestrowania żądań HTTP oraz legalne funkcje udostępniane przez Hugging Face. Dane były dodatkowo szyfrowane, dlatego pierwsza analiza ruchu sieciowego wykryła jedynie niewielką część wykradzionych informacji. Dopiero po odtworzeniu sposobu szyfrowania śledczy ustalili, że rzeczywista ilość przejętych danych była około czterokrotnie większa. Raport pokazuje także wysoki poziom autonomii działania modelu. Agent stworzył własny mechanizm synchronizacji poleceń wykorzystujący numery sekwencyjne, automatycznie sprawdzał integralność przesyłanych danych oraz utrzymywał jednocześnie 11 zapasowych instancji swojej infrastruktury. Jeśli jedna z nich została wyłączona, pozostałe automatycznie przejmowały zadania, dzięki czemu operacja mogła być kontynuowana bez ingerencji człowieka. 17,6 tys. działań i atak prowadzony bez przerwy Przez ponad 4 dni agent wykonał około 17 600 pojedynczych działań. Każde zdobyte hasło, fragment kodu czy nowa podatność prowadziły do kolejnych etapów ataku. Jak podkreślają przedstawiciele Hugging Face, model nie stosował jednego spektakularnego exploita. Zamiast tego cierpliwie łączył wiele stosunkowo niewielkich błędów konfiguracyjnych i podatności, budując w ten sposób coraz szerszy dostęp do infrastruktury. Jednocześnie śledczy zauważyli, że agent nie próbował świadomie niszczyć systemów. Polecenia mogące usuwać zasoby lub modyfikować środowiska chmurowe były wykonywane wyłącznie w trybie symulacji ("dry run"), który jedynie sprawdzał możliwość wykonania operacji bez wprowadzania zmian. Nie zmienia to jednak oceny incydentu. Zdaniem specjalistów Hugging Face, większość wykorzystanych luk mogłaby zostać odnaleziona również przez doświadczonego hakera. Różnicę stanowiła skala automatyzacji. Otóż model potrafił bez przerwy generować tysiące kolejnych prób, analizować ich wyniki i samodzielnie dostosowywać strategię ataku, aż do osiągnięcia wyznaczonego celu. Według ekspertów Hugging Face, właśnie ta zdolność do prowadzenia długotrwałych, zautomatyzowanych operacji stanowi dziś jedno z największych wyzwań dla bezpieczeństwa systemów wykorzystujących sztuczną inteligencję.