TL;DR
Opracowano exploit: Claude AI firmy Anthropic samodzielnie napisał dwa działające zdalne exploity root dla luki w jądrze FreeBSD w ciągu około czterech godzin obliczeniowych. Szczegóły luki: CVE-2026-4747 to przepełnienie bufora stosu w module RPCSEC_GSS FreeBSD, dostępne przez sieć dla każdego użytkownika posiadającego ważny bilet Kerberos. Dostępna łatka: FreeBSD załatało lukę 26 marca 2026 r., sprawdzając pojedyncze granice przed operacją kopiowania pamięci, której dotyczyła luka. Szersze implikacje: Od tego czasu badacz Nicholas Carlini wykorzystał ten sam potok oparty na Claude do wygenerowania 500 zweryfikowanych luk o wysokiej wadze w wielu bazach kodu. Ostrzeżenie eksperta: badacze bezpieczeństwa ostrzegają, że rozwój exploitów opartych na sztucznej inteligencji skraca okres pomiędzy publicznym ujawnieniem luk w zabezpieczeniach a działającymi atakami z tygodni do godzin.
Antropiczna sztuczna inteligencja Claude firmy Anthropic samodzielnie opracowała dwa działające zdalne exploity rootowania w celu usunięcia luki w jądrze FreeBSD, a każdy z nich zakończył się sukcesem przy pierwszej próbie po około czterech godzinach obliczeń. Artykuł techniczny opublikowany 1 kwietnia ujawnił, jak badacz Nicholas Carlini odszedł od klawiatury i wrócił, by odkryć, że sztuczna inteligencja rozwiązała sześć różnych problemów technicznych bez pomocy człowieka. Powstałe w ten sposób exploity mogą zagrozić każdemu niezałatanemu serwerowi w czasie krótszym niż minuta.
przepełnienie bufora stosu śledzone jako CVE-2026-4747 w module uwierzytelniania RPCSEC_GSS FreeBSD zostało załatane 26 marca. Doradca bezpieczeństwa FreeBSD opisuje „Nicholas Carlini używający Claude, Anthropic” za odkrycie luki. Choć narzędzia AI od lat wykrywały błędy oprogramowania, do tej pory uważano, że autonomiczne pisanie exploita na zdalne wykonanie kodu na poziomie jądra z dostępem do powłoki roota przekraczało możliwości maszyny. Od tego czasu Carlini, który współpracuje z zespołem Frontier Red Team firmy Anthropic, wykorzystał Claude do wygenerowania 500 potwierdzonych luk w zabezpieczeniach o wysokim stopniu ważności.
Jak Claude zbudował zdalną powłokę rootowania
Inside svc_rpc_gss_validate(), FreeBSD kopiuje treść referencji RPCSEC_GSS do 128-bajtowego bufora stosu bez sprawdzania, czy ładunek mieści się w 96 bajtach użytecznej przestrzeni po 32-bajtowym stałym nagłówku. Ponieważ podatny na ataki moduł kgssapi.ko obsługuje uwierzytelnianie serwera NFS na poziomie jądra FreeBSD, luka jest osiągalna przez sieć poprzez port 2049/TCP. Może go uruchomić każdy użytkownik posiadający ważny bilet Kerberos, nawet nieuprzywilejowany.
Co więcej, w doradztwie FreeBSD zauważono, że wykorzystanie nie wymaga uprzedniego uwierzytelnienia klienta, co jeszcze bardziej obniża poprzeczkę. Przedsiębiorstwa korzystające z serwerów NFS z infrastrukturą Kerberos, taką jak Active Directory lub FreeIPA, stają w obliczu bezpośredniego zagrożenia i nie jest dostępne żadne obejście dla systemów z załadowanym modułem.
[treść osadzona]
Przejście z usługi doradczej do działającej powłoki głównej wymagało od Claude’a samodzielnego rozwiązania sześciu różnych problemów technicznych. Claude opracował strategię 15-rundowe dostarczanie kodu powłoki: runda pierwsza sprawia, że pamięć jądra jest wykonywalna poprzez wywołanie vm_map_protect, 13 rund zapisuje kod powłoki po 32 bajty na raz w znanym BSS jądra adres, a ostatnia runda zapisuje ostatnie 16 bajtów i przeskakuje do punktu wejścia. Każda runda zabija jeden wątek roboczy NFS za pomocą kthread_exit(), utrzymując serwer przy życiu pomiędzy pakietami.
FreeBSD tworzy osiem wątków NFS na procesor, więc exploit wymaga maszyny z dwoma lub więcej rdzeniami procesora, aby przetrwać wszystkie 15 rund. Kilka brakujących zabezpieczeń jądra uprościło ścieżkę. We FreeBSD 14.x brakuje KASLR, pozostawiając bazę jądra pod stałym, przewidywalnym adresem.
Co więcej, we FreeBSD 14.x brakuje kanalików stosu dla tablic liczb całkowitych, a przepełniony bufor jest zapisywany jako int32_t[]. Łącznie te luki dały Claudeowi jasną drogę do kontrolowania przepływu wykonywania bez pokonywania mechanizmów randomizacji lub wykrywania stosowanych we współczesnych jądrach Linuksa i Windowsa. Na w pełni wzmocnionym jądrze Claude musiałby połączyć dodatkowe techniki obejścia, zwiększając złożoność, która mogłaby przekroczyć możliwości modelu.
Kiedy początkowe przesunięcia stosu okazały się błędne, Claude wysłał wzorce De Bruijna, odczytał zrzuty awaryjne jądra i poprawił przesunięcie adresu zwrotnego od bajtu 168 do bajtu 200. Po uzyskaniu wykonania trybu jądra w pierścieniu 0, Claude utworzył nowy proces za pomocą kproc_create(), zastępując go/bin/sh przy użyciu kern_execve() i wyczyściłem flagę P_KPROC. Nieaktualne rejestry debugowania odziedziczone z debugera DDB FreeBSD spowodowały awarię procesu potomnego, co skłoniło Claude’a do dodania jeszcze jednej poprawki: wyczyszczenia DR7 przed rozwidleniem.
Po 15 pakietach przepełnienia RPCSEC_GSS dostarczonych w ciągu około 45 sekund exploit uzyskuje dostęp do powłoki roota. W drugim wariancie Claude napisał klucz publiczny do.ssh/authorized_keys zamiast uruchamiać odwrotną powłokę, skracając atak do sześciu rund. Łatka FreeBSD dodaje pojedynczą kontrolę granic przed wywołaniem memcpy.
W przeciwieństwie do wyrafinowania ataku, poprawka wymagała tylko jednej linii kodu. Fuzzery, takie jak AFL i syzkaller, odkrywały luki w jądrze od ponad dekady, ale przekształcenie surowego poradnika w kompletny uzbrojony exploit było do tej pory zadaniem zarezerwowanym dla wykwalifikowanych badaczy-ludzi. Napisany w Pythonie przy użyciu modułu gssapi exploit Claude’a reprezentuje jakościową zmianę w tym, co autonomiczne systemy AI mogą osiągnąć w ofensywnym bezpieczeństwie.
„Każda nowa funkcja sztucznej inteligencji zwykle spotyka się ze stwierdzeniem: „Sztuczna inteligencja może zrobić Y, ale tylko ludzie mogą zrobić X”. Cóż, w przypadku X=rozwój exploitów ta granica właśnie się przesunęła.”
Eksperci ostrzegają przed ofensywnym wyścigiem zbrojeń AI
Działanie Carliniego zaalarmowało niezależnych badaczy bezpieczeństwa, wykraczających poza przypadek FreeBSD. Jego proces obejmuje trywialny skrypt bash, który przegląda pliki źródłowe i prosi Claude Code o znalezienie luk, które można wykorzystać. Poza exploitem jądra potok spowodował już lukę w zabezpieczeniach Ghost CMS polegającą na wstrzykiwaniu kodu SQL.
Na tej podstawie badacz bezpieczeństwa Thomas Ptacek argumentował na swoim blogu, że konsekwencje wykraczają daleko poza jakąkolwiek pojedynczą lukę w zabezpieczeniach. Ptacek zauważył, że podejście Carliniego nie wymaga specjalistycznej wiedzy na temat tworzenia exploitów, wystarczy dostęp do modelu sztucznej inteligencji i listy repozytoriów kodu źródłowego.
„Żyjemy w ostatnich, ulotnych chwilach, w których nie ma pewności, czy agenci sztucznej inteligencji zastąpią większość badań nad podatnością na zagrożenia u ludzi.”
Thomas Ptacek, badacz bezpieczeństwa
Tymczasem na konferencji RSAC 2026 były CSO Facebooka Alex Stamos ostrzegł, że agenci sztucznej inteligencji będą mogli wkrótce dokonać inżynierii wstecznej poprawek do działających exploitów w ciągu jednego dnia od premiery, cocoining frazę „Poprawka we wtorek, wykorzystaj środę”. Według Stamosa duże, modelowe firmy mają tysiące niezweryfikowanych błędów, których nie są w stanie zweryfikować ani załatać. Niezależnie od tego firma Armadin zajmująca się testami penetracyjnymi zgłosiła znalezienie luk w zabezpieczeniach RCE lub ścieżek wycieku danych w każdej aplikacji testowanej dla klienta z listy Fortune 150.
Ostrzeżenia Ptacek i Stamos zbiegają się do tego samego wniosku: kiedy skrypt bash i model sztucznej inteligencji mogą odtworzyć pracę, która wcześniej wymagała tygodniowej pracy zespołu wyspecjalizowanych badaczy, koszt generowania exploitów spada do zera, a koszt obrony przed nimi pozostaje wysoki. Ta asymetria faworyzuje atakujących, którzy potrzebują tylko jednego działającego exploita, nad obrońcami, którzy muszą załatać każdy podatny na ataki system w całej swojej infrastrukturze.
Wcześniejsze odkrycie luk w zabezpieczeniach AI
Badania podatności na ataki wspomagane przez sztuczną inteligencję przyspieszają od lat. W kwietniu 2024 r. badanie przeprowadzone na Uniwersytecie Illinois wykazało, że GPT-4 może z dużą skutecznością wykorzystywać znane luki w zabezpieczeniach. Do października 2024 r. narzędzie Vulnhuntr używało Claude do wykrywania błędów dnia zerowego w bazach kodu Pythona.
W następnym miesiącu agent Google Big Sleep znalazł możliwy do wykorzystania błąd w SQLite. W marcu 2026 r. startup AISLE zajmujący się bezpieczeństwem AI niezależnie odkrył wszystkie 12 luk dnia zerowego w styczniowej łatce bezpieczeństwa OpenSSL. Exploit jądra FreeBSD autorstwa Claude’a oznacza przejście od błędów na poziomie aplikacji do elementów wewnętrznych systemu operacyjnego, co jest znacznie trudniejszą kategorią, która wymaga głębokiej wiedzy o jądrze.
Jednak każdy krok w tym postępie poszerzał zakres, na który sztuczna inteligencja mogła celować: od znanych luk w zabezpieczeniach aplikacji internetowych, przez zero-day w powszechnie używanych bibliotekach, po kod na poziomie jądra działający na najwyższym poziomie uprawnień. Exploit Claude’a nie tylko znalazł błąd; zbudował pełny łańcuch ataków, od doradztwa po powłokę root, co zwiększa ryzyko stwarzane przez każde wcześniejsze rozwiązanie.
Stamos przyznał, że wykrywanie exploitów postępuje wykładniczo, ale zauważył, że automatyczne generowanie kodu powłoki z pominięciem nowoczesnych zabezpieczeń procesora zajmie prawdopodobnie od sześciu miesięcy do roku. Brakujący KASLR i kanarkowe stosy we FreeBSD sprawiły, że ten konkretny cel był łatwiejszy niż wzmocnione systemy produkcyjne, ale trajektoria jest jasna.
Administratorzy wersji FreeBSD, których dotyczy problem, powinni natychmiast zastosować łatki. Lista 500 luk Carlini sygnalizuje, że okno między doradztwem publicznym a działającym exploitem kurczy się z tygodni do godzin. W przypadku każdego zespołu ds. bezpieczeństwa w przedsiębiorstwie, który nadal planuje łatki jądra w cyklu miesięcznym, obliczenia uległy zmianie.