OpenAI

4. studenoga 2026.

ZaštitaPublikacija

Tisuću putova manje do pristupa root

Razvili smo autonomni sustav za otkrivanje, iskorištavanje i krpanje ranjivosti. U jednom izvođenju s našim kibernetičkim modelom potvrdio je i zakrpao 948 ranjivosti za lokalno podizanje ovlasti u Linuxu uz trošak API-ja od 1,2 milijuna USD.

Učitavanje…

Sigurnosna istraživanja koja su nekoć za svaki nalaz zahtijevala zasebnu, dugotrajnu istragu sve se češće mogu provoditi kao sustavan proces. Ovaj dokument opisuje jedan od naših projekata u tom području.

Sve je lakše otkrivati ranjivosti u velikom opsegu, ali određivanje prioriteta i validacija i dalje su operativna uska grla. Izradili smo prototip za traženje sigurnosnih propusta u jezgri Linuxa u kontroliranom istraživačkom okruženju. Naš je prototip prepoznao i analizirao 2.308 preliminarnih nalaza u jezgri Linuxa, dinamički reproducirao 1.724 ranjivosti i izradio 948 eksploatacijskih kodova za lokalno podizanje ovlasti (LPE), koji bi lokalnom korisniku bez posebnih ovlasti mogli omogućiti pristup root.

Na temelju tih dokaza odredili smo prioritete za prijavu ranjivosti i izradili prijedloge zakrpa koje će održavatelji pregledati. Slijedeći smjernice zajednice jezgre Linuxa, započeli smo s kritičnim ranjivostima te s partnerima inicijative Patch the Planet radimo na daljnjim izvješćima i zakrpama.

U lipnju smo u sklopu naše inicijative Patch the Planet objavili da je GPT‑5.5 Cyber prepoznao ranjivosti jezgre Linuxa i razvio 24 eksploatacijska koda za lokalno podizanje ovlasti kako bi ih potvrdio i prijavio. Taj smo rad proširili u sustav koji pokreće nadolazeći kibernetički model, a koji obuhvaća otkrivanje ranjivosti, dinamičku validaciju, procjenu mogućnosti iskorištavanja i generiranje zakrpa. Nakon završetka rada sustava istraživači su pregledali rezultate i prijavili pronađene ranjivosti zajedno sa zakrpama.

Sažetak

Metodologija

  • U osnovi, naš sustav radi ovako: najprije prepoznaje dijelove jezgre Linuxa važne za sigurnost, statičkom analizom tih ciljeva revizije traži potencijalne ranjivosti, dinamički ih reproducira u izoliranom okruženju, izrađuje demonstracijski eksploatacijski kod (PoC) kako bi dokazao mogućnost iskorištavanja te generira zakrpe. Na kraju rezultate pregledava sigurnosni istraživač.

  • Sustav daje analizu temeljnog uzroka, minimalni demonstracijski kod koji izaziva rušenje, prijedlog zakrpe i cjelovit eksploatacijski kod kako bi istraživačima pomogao procijeniti ozbiljnost ranjivosti i poslati ispravke za uključivanje u glavni projekt.

Nalazi

  • Tijekom izvođenja sredinom listopada 2026. naš je sustav s nadolazećim kibernetičkim modelom dinamički reproducirao 1.724 ranjivosti te generirao demonstracijski kod za 291 ranjivost koja dovodi do curenja informacija i 948 funkcionalnih eksploatacijskih kodova za lokalno podizanje ovlasti (LPE) za jednu široko korištenu distribuciju Linuxa. Ukupni trošak izvođenja iznosio je 1.213.430 USD u kreditima za API, odnosno 1.279 USD po eksploatacijskom kodu za LPE.

  • Na ciljnim virtualnim strojevima radio je standardni operacijski sustav za stolna računala, a ne sustav s oslabljenom zaštitom, uz isti model prijetnji koji se upotrebljava na natjecanjima u kibernetičkoj sigurnosti (npr. Pwn2Own⁠(otvara se u novom prozoru), TyphoonPWN⁠(otvara se u novom prozoru)). Pwn2Own je u prošlosti nudio nagradu od 20.000 USD, a TyphoonPWN 70.000 USD za eksploatacijski kod za LPE u jezgri Linuxa. Primjenom tih povijesnih iznosa nagrada na 948 eksploatacijskih kodova dobiva se hipotetska vrijednost od 18,9 do 66,3 milijuna USD, što je približno 16 do 55 puta više od troška našeg sustava.

  • U prilagođenom okruženju kernelCTF⁠(otvara se u novom prozoru), koje koristi verziju jezgre Linuxa sa smanjenom površinom napada, naš je sustav izradio 25 demonstracijskih kodova za curenje informacija i 21 eksploatacijski kod za LPE. Za usporedbu, do trenutka pisanja ovog teksta kernelCTF je u 2026. prihvatio 26 potvrđenih eksploatacijskih kodova za dotad nepoznate ranjivosti koje omogućuju LPE.

    • Trošak istraživanja iznosio je približno 32.936 USD u kreditima za API. Kad bi program prihvatio tu 21 ranjivost, nagrada bi iznosila oko 1,5 milijuna USD, odnosno oko 45 puta više od troška skeniranja.

  • Koliko nam je poznato, agenti u ovom sustavu otkrili su i upotrijebili najmanje 10 novih tehnika iskorištavanja ranjivosti u Linuxu.

Osvrt

  • Održavatelji Linuxa i sigurnosna zajednica ulažu velike napore u brzo otkrivanje i otklanjanje ranjivosti. Tijekom 10 dana skeniranja uočili smo da je za više od 100 ranjivosti koje omogućuju LPE u Linuxu već primijenjena zakrpa ili su drugi suradnici pripremili zakrpe za uključivanje, dok se o još približno 300 javno raspravljalo.

  • S obzirom na brzinu kojom granični modeli otkrivaju ranjivosti, smatramo da je automatizirano generiranje zakrpa ključno za osiguravanje softvera potrebnim tempom i skraćivanje razdoblja u kojem se ranjivosti mogu iskoristiti. Smatramo da uz iterativno poboljšavanje pod vodstvom stručnjaka zakrpe koje generira AI mogu biti funkcionalno ispravne, usklađene s postojećim stilovima pisanja koda i otporne na varijante napada. To je važno područje za daljnja istraživanja.

  • Sposobniji modeli mogu otkriti nove ranjivosti u postojećem kodu, često uključujući i one koje su prisutne dulje vrijeme i teže ih je prepoznati. Naš je sustav za analizu s novijim kibernetičkim modelom sredinom listopada otkrio >5 puta više dotad nepoznatih ranjivosti koje omogućuju LPE nego u izvođenju s modelom GPT‑5.6 Sol u srpnju, unatoč tromjesečnom jačanju sigurnosti između skeniranja.

  • Veliki, složeni softverski projekti vjerojatno zahtijevaju više krugova skeniranja i otklanjanja ranjivosti kako bi se došlo do svih skrivenih pogrešaka. Idealno bi bilo ponavljati taj postupak sa svakom sljedećom generacijom graničnih modela. To vrijedi i za vlasnički softver i za softver otvorenog koda.

  • Kratkoročno i srednjoročno, pristup računu s niskim ovlastima na operacijskom sustavu koji nema najnovije dostupne zakrpe trebalo bi, u slučaju napadača s obilnim resursima, smatrati funkcionalno jednakovrijednim pristupu root. Višeslojna obrana uz upotrebu zaštićenih okruženja i pristupa izolaciji poput rješenja Firecracker i gVisor važna je za ograničavanje posljedica iskorištenih ranjivosti.

  • Smatramo da će u sljedećih nekoliko godina granični modeli vjerojatno moći otkriti ranjivosti ako one postoje u određenom softverskom projektu, a nakon njihove objave i manje sposobni modeli mogli bi razviti kod za njihovo iskorištavanje. U svijetu bez nepoznatih ranjivosti bit će ključno razvijati i održavati softver s visokim stupnjem jamstva sigurnosti, osobito temeljni softver poput operacijskih sustava, preglednika, biblioteka za obradu slika, skupa protokola TCP/IP i drugih. Uz pronalaženje i otklanjanje postojećih ranjivosti, obećavajuća područja budućih istraživanja za učinkovito povećanje opsega softverske sigurnosti uključuju ulaganje u treniranje modela da u pravilu pišu siguran kod, smanjenje površine napada uklanjanjem nepotrebnih značajki i formalnu verifikaciju.

Ljevkasti dijagram prikazuje 2.308 preliminarnih nalaza, 1.724 potvrđena nalaza te izdvajanje 313 kandidata za curenje informacija i 1.238 kandidata za lokalno podizanje ovlasti. Rezultat je 291 funkcionalni demonstracijski kod za curenje informacija i 948 funkcionalnih eksploatacijskih kodova za lokalno podizanje ovlasti. Ukupno kredita za API: 1,2 milijuna USD. Shematski prikaz; širine nisu u mjerilu.

Zašto jezgra Linuxa

Jezgra Linuxa temelj je Android uređaja, infrastrukture u oblaku, superračunala i drugih sustava kojima se služe milijarde ljudi. S više od 40 milijuna redaka koda, jezgra ima široku površinu napada kroz sistemske pozive, mrežne funkcije, datotečne sustave i upravljačke programe uređaja. Odabrali smo Linux kako bismo proučili koliko učinkovito granični modeli mogu pronaći ranjivosti i pokazati njihov utjecaj na sigurnost u bazi koda takve veličine i važnosti.

Početna faza otkrivanja ranjivosti dala je tisuće preliminarnih nalaza, previše da bi ih sigurnosni istraživači ručno pregledali i proveli trijažu. Operativni izazov našeg sustava za otkrivanje ranjivosti nije bilo samo otkrivanje, nego utvrđivanje koji se nalazi mogu reproducirati, koju sigurnosnu granicu prelaze i koji zahtijevaju najžurniju pozornost održavatelja.

Analiza troškova

Misija OpenAI-jeva tima Cyber jest pomoći u osiguravanju softvera na koji se svijet oslanja. Navodimo troškove API-ja za svaku fazu kako bismo istraživačima pomogli procijeniti resurse potrebne za ponavljanje i proširivanje ovog rada. Ti troškovi odražavaju modele, konfiguracije ciljnih sustava i tijek rada korištene u ovoj evaluaciji. Naš je širi cilj pomoći stručnjacima za obranu sustava da pronađu i otklone ranjivosti, smanjujući prilike dostupne napadačima i povećavajući im trošak iskorištavanja softvera.

Na kraju, napominjemo da smo se u ovom istraživanju usredotočili na metodologiju i mjerenje sposobnosti modela, a ne na trošak. Očekujemo da bi se uz dovoljno rada na razvoju testnog sklopa trošak svake faze mogao znatno smanjiti, pa navedene troškove treba promatrati prije kao gornju granicu.

Sustav za istraživanje ranjivosti

Naš prototip za istraživanje ranjivosti sustav je s pet faza, u čijoj je osnovi nadolazeći kibernetički model:

  • Otkrivanje ranjivosti: Agenti prepoznaju dijelove baze koda važne za sigurnost i skeniraju ih u potrazi za potencijalnim ranjivostima.

  • Dinamička validacija: Agenti pokušavaju reproducirati svaki preliminarni nalaz u izoliranom okruženju i pohranjuju dokaze prikupljene tijekom izvođenja. Rezultat ovog koraka su reproducirane i potvrđene ranjivosti.

  • Procjena mogućnosti iskorištavanja: Agenti testiraju mogu li potvrđene ranjivosti omogućiti otkrivanje informacija ili lokalno podizanje ovlasti.

  • Generiranje zakrpa: Agenti generiraju zakrpe za otklanjanje svake prepoznate ranjivosti.

  • Ljudski pregled: Sigurnosni istraživači pregledavaju eksploatacijski kod, zakrpu i predloženu ocjenu ozbiljnosti prije prijave održavateljima.

Dijagram autonomnog sustava za istraživanje ranjivosti jezgre Linuxa: otkrivanje ranjivosti daje preliminarne nalaze, dinamička validacija daje potvrđena izvješća, procjena mogućnosti iskorištavanja daje potvrđeni kod za lokalno podizanje ovlasti, generiranje zakrpa daje prijedloge zakrpa, a istraživači pregledavaju rezultate prije prijavljivanja održavateljima jezgre.

Na kraju postupka sustav objedinjuje analizu temeljnog uzroka, minimalni demonstracijski kod koji izaziva rušenje, prijedlog zakrpe i cjelovit eksploatacijski kod kako bi istraživačima pomogao procijeniti ozbiljnost ranjivosti i poslati ispravke za uključivanje u glavni projekt.

Otkrivanje ranjivosti

Nije svaki redak koda u jezgri Linuxa važan za sigurnost. Naš je sustav upotrijebio tim agenata izviđača za prepoznavanje najvažnijih ciljeva revizije, koji su zatim proslijeđeni agentima analitičarima radi traženja ranjivosti.

Tijek rada za otkrivanje ranjivosti: agenti izviđači otkrivaju najvažnije ciljeve revizije u jezgri i određuju im prioritete, a zatim agenti analitičari analiziraju ciljeve kako bi pronašli potencijalne ranjivosti i izradili upozorenja.

Agenti izviđači

Agenti izviđači pregledavaju svaku mapu i datoteku te određuju ciljeve revizije na temelju njihove dostupnosti korisnicima s niskim ovlastima i važnosti za sigurnost.

U ovoj su fazi prepoznata 5.034 cilja revizije, odnosno oko 2,8 milijuna redaka koda, što je približno 7 % cjelokupne baze koda jezgre Linuxa. Time je trošak sigurnosne revizije znatno smanjen u usporedbi s analizom cijele baze koda. Trošak ovog koraka iznosio je 3.426 USD u kreditima za API.

Agenti analitičari

Zatim su agenti analitičari analizirali svaki cilj revizije i izradili preliminarne nalaze koristeći tijek rada sličan onome koji koristi plugin Codex Security⁠(otvara se u novom prozoru). U osnovi, agenti analitičari čitaju kod dodijeljenog cilja revizije kako bi razumjeli kako funkcionira, utvrdili njegov model prijetnji i potražili ranjivosti.

U roku od 12 sati agenti analitičari izradili su 2.308 preliminarnih nalaza nakon uklanjanja duplikata. Trošak ove faze iznosio je 316.549 USD u kreditima za API.

Validacija ranjivosti

Preliminarni nalaz nije isto što i potvrđena ranjivost. Pri ovom opsegu ručno istraživanje svakog izvješća nije praktično za naš istraživački tim.

Stoga smo se usredotočili na validaciju nalaza koji su a) bili dostupni korisniku s niskim ovlastima, b) nisu zahtijevali posebne ovlasti i c) davali mjerljive dokaze o oštećenju memorije.

Dijagram petlje u kojoj agent za trijažu pretvara upozorenje o ranjivosti u demonstracijski kod, pokreće ga u virtualnom stroju i iterativno dorađuje rezultat na temelju izlaza konzole.

Za svaki preliminarni nalaz agent za trijažu generirao je demonstracijski kod i pokrenuo ga u izoliranom virtualnom stroju s jezgrom Linuxa i alatom Kernel Address Sanitizer (KASAN). Agent je pratio i izlaz programa i sistemsku konzolu, a zatim iterativno dorađivao demonstracijski kod dok nije reproducirao prijavljeno ponašanje ili iscrpio moguće načine njegova izazivanja.

U roku od 30 sati naš je sustav reproducirao 1.724 ranjivosti, odnosno oko 74,7 % od 2.308 preliminarnih nalaza. Sam statički pregled koda može biti sklon lažno pozitivnim rezultatima, pa su nas dojmili preciznost agenata analitičara i učinkovitost agenata za trijažu, koji su samostalno izradili funkcionalni demonstracijski kod za gotovo tri četvrtine preliminarnih nalaza.

Većina preostalih nalaza zahtijevala je povišene ovlasti ili ih nije bilo moguće reproducirati u predviđenom vremenu zbog teško ostvarivih uvjeta utrke, specifičnih uvjeta aktivacije (npr. potrebnog neuspjeha alokacije u određenom retku) ili dugotrajne validacije (npr. prelijevanja brojača referenci). Samo 3,1 % nalaza bilo je posljedica netočne analize modela, pri čemu je prijavljena ranjivost pretpostavljala nemoguć uvjet.

Ukupni trošak faze validacije iznosio je 73.330 USD u kreditima za API. Uočili smo da je u našem sustavu za validaciju, koji je morao generirati demonstracijski kod kako bi potvrdio je li preliminarni nalaz stvarna ranjivost, taj postupak bio skuplji od davanja preporuke samo na temelju statičke analize. Troškovi pokušaja validacije stvarno pozitivnih i lažno pozitivnih nalaza pritom su bili slični. Stoga ranije uklanjanje lažno pozitivnih nalaza u sustavu znatno poboljšava troškovnu učinkovitost postupka.

Procjena mogućnosti iskorištavanja

Validacijom se utvrđuje da je ranjivost stvarna, ali ne i koliko ju je hitno potrebno otkloniti. Primjerice, ranjivost koja bi mogla omogućiti lokalno podizanje ovlasti zaslužuje veći prioritet od one koja bi mogla izazvati samo lokalno uskraćivanje usluge. Nakon potvrde 1.724 ranjivosti sljedeći je zadatak bio prepoznati nalaze s najvećim mogućim utjecajem na sigurnost.

Agent za početni pregled statički je analizirao svako izvješće, zapisnik rušenja i relevantni izvorni kod. Namjerno je primjenjivao blage kriterije kako ne bi odbacio potencijalno ozbiljne nalaze, ali je istodobno isključivao slučajeve bez uvjerljivog načina iskorištavanja. Time su rezultati suženi na 313 kandidata za curenje informacija i 1.238 kandidata za lokalno podizanje ovlasti.

Agenti za razvoj eksploatacijskog koda (ExploitDev) zatim su testirali te kandidate u izoliranim virtualnim strojevima s uključenim zaštitama standardne distribucije Linuxa, među kojima su Supervisor Mode Execution Prevention (SMEP), Supervisor Mode Access Prevention (SMAP), Kernel Address Space Layout Randomization (KASLR) i HARDENED_USERCOPY. Time su se izbjegavale nerealne procjene koje su ovisile o isključenim zaštitama.

Agenti su izradili 291 demonstracijski kod za curenje informacija i 1.169 funkcionalnih eksploatacijskih kodova za lokalno podizanje ovlasti, koji bi lokalnim korisnicima bez posebnih ovlasti mogli omogućiti pristup root.

Proveli smo analizu varijanti i razvili 948 zasebnih zakrpa za ranjivosti na kojima se temelje ti eksploatacijski kodovi. Taj broj uzimamo kao ukupan broj jedinstvenih ranjivosti koje omogućuju LPE. Razvoj uspješnog eksploatacijskog koda u prosjeku je stajao 359 USD u kreditima. To stručnjacima za obranu sustava omogućuje relativno jeftino testiranje mogućnosti iskorištavanja pronađenih ranjivosti.

Trošak agenta za početni pregled ranjivosti iznosio je 44.194 USD u kreditima za API. Ukupni trošak faze iskorištavanja iznosio je 775.929 USD u kreditima za API: 84.929 USD za obradu kandidata za curenje informacija i 691.000 USD za kandidate za lokalno podizanje ovlasti.

Obrada kandidata za lokalno podizanje ovlasti u prosjeku je stajala 558 USD, približno dvostruko više od obrade kandidata za curenje informacija, koja je stajala 271 USD. Razlog je to što su demonstracijski kodovi za curenje informacija preuzeti iz faze validacije te su zahtijevali manje izmjena kako bi postali upotrebljivi u eksploatacijskom kodu. S druge strane, razvoj eksploatacijskog koda iz kandidata za LPE zahtijevao je mnogo dodatnih koraka, poput planiranja strategije iskorištavanja, prepoznavanja ranjivih objekata za upotrebu, zaobilaženja zaštita i drugih. Primijetili smo i da su neuspješni pokušaji iskorištavanja (3.922 USD za 69 slučajeva) stajali znatno više od uspješnih (360 USD za 1.169 slučajeva). Uzrok tome bilo je nekoliko ranjivosti koje je teško iskoristiti (npr. uvjeti utrke). Definiranje razumnog uvjeta odustajanja, poput prekida pokušaja nakon jednog sata bez napretka, znatno bi smanjilo trošak rada agenata ExploitDev.

Generiranje zakrpa

Za svaku potvrđenu ranjivost sustav također generira zakrpu. Modelu dajemo relevantni izvorni kod i upute o najboljim praksama pisanja zakrpa, kao što su provođenje statičkih provjera zakrpe, pridržavanje razvojnih praksi primijenjenih u okolnom kodu i analiza varijanti kako bi zakrpa bila potpuna.

Slijedeći prijedlog zajednice jezgre Linuxa, već smo poslali stotine izvješća i zakrpa za kritične ranjivosti te s partnerima inicijative Patch the Planet radimo na postupnom slanju zakrpa za preostale ranjivosti. Ovaj je rad dio naše šire predanosti podršci projektima otvorenog koda kroz program Daybreak.

Nalazi

U ovom odjeljku iznosimo spoznaje, osvrte i dodatne analize iz ovog istraživanja.

Održavatelji brzo izrađuju zakrpe za ranjivosti

Tijekom ovog istraživanja uočili smo da održavatelji Linuxa brzo reagiraju kako bi otklonili ranjivosti i zaštitili korisnike. Skeniranje je provedeno na najnovijoj jezgri Linuxa sredinom listopada 2026. Kad su autonomno skeniranje i ručna analiza završili nakon 10 dana, zakrpe za 61 ranjivost koja omogućuje LPE već su bile uključene u glavni projekt, za 43 su zakrpe bile pripremljene za uključivanje, a 299 ranjivosti bilo je javno prijavljeno i predmet rasprave.

Iznimno cijenimo održavatelje Linuxa koji žurno rade na otklanjanju prepoznatih problema, kao i širu sigurnosnu zajednicu koja također doprinosi svojim nalazima. Upravo je takav zajednički odgovor potreban za sigurnost softvera diljem svijeta. Brz tempo objavljivanja ranjivosti i izrade zakrpa također naglašava koliko je važno da korisnici i tvrtke redovito ažuriraju softver.

Ključna pouka: Automatizirana trijaža treba uzeti u obzir brz ciklus izrade zakrpa. Ponovna validacija nalaza na najnovijem kodu, uključujući novi kod uključen nakon izvornog skeniranja, pomaže izbjeći dvostruke ili zastarjele prijave. Time se pozornost usmjerava na neriješene ranjivosti, a održavateljima se daju dokazi na temelju kojih mogu djelovati bez nepotrebnog dodatnog opterećenja pregledima.

Snažniji modeli pronalaze više ranjivosti

Dok smo razvijali sustav, krajem srpnja 2026., GPT‑5.6 Sol pronašao je i iskoristio 166 jedinstvenih ranjivosti koje omogućuju LPE, uz ukupni trošak od 513.690 USD u kreditima za API.

U drugom skeniranju, sredinom listopada 2026., noviji kibernetički model pronašao je i iskoristio 948 jedinstvenih ranjivosti koje omogućuju LPE, uz ukupni trošak od 1.213.430 USD u kreditima za API. U oba smo istraživanja skenirali tada najnoviju granu master jezgre Linuxa.

Ključna pouka: Kako se sposobnosti modela poboljšavaju, ponovno skenirajte prethodno pregledani kod. Sposobniji model može otkriti ranjivosti koje su raniji modeli propustili, čak i uz isti istraživački testni sklop.

Nove tehnike iskorištavanja ranjivosti

Odabrali smo uzorak od 166 eksploatacijskih kodova koje su razvili agenti i analizirali tehnike iskorištavanja primijenjene u njima. Koliko nam je poznato, agenti su u tom uzorku primijenili 10 novih tehnika iskorištavanja ranjivosti. Te smo tehnike podijelili s vanjskim stručnjacima za iskorištavanje ranjivosti jezgre, a bile su nove i njima.

Od tih 10 tehnika, dvije koriste nove postojane elastične objekte kojima je model masovno popunjavao ciljnu predmemoriju jezgre; dvije su nove tehnike oblikovanja rasporeda memorijskih stranica radi povećanja pouzdanosti eksploatacijskog koda; pet je novih tehnika koje manipuliraju samo podacima kako bi se ovlasti podigle izravno ili proizvoljnim zapisivanjem; preostala tehnika uključuje proizvoljnu zabunu tipova. Iz sigurnosnih razloga u ovoj objavi ne iznosimo potpune tehničke pojedinosti tih novih tehnika iskorištavanja ranjivosti.

Ključna pouka: Granični modeli ne prepoznaju samo poznate obrasce ranjivog koda niti se služe isključivo poznatim tehnikama iskorištavanja; pokazuju kreativnost i nove pristupe.

Što stručnjaci za obranu sustava mogu naučiti iz troškova iskorištavanja ranjivosti

Važan dio misije našeg tima jest mjeriti trošak pronalaženja i iskorištavanja ranjivosti te na temelju tih podataka usmjeravati ulaganja u obranu. Naš je cilj pomoći stručnjacima za obranu sustava da otklone ranjivosti prije nego što ih napadači mogu iskoristiti te napadačima učiniti iskorištavanje softvera preskupim. Mjerenje troškova iskorištavanja pomaže nam procijeniti kako se taj izazov mijenja s poboljšanjem sposobnosti modela. U ovom odjeljku uspoređujemo trošak izvođenja našeg sustava s nagradama koje programi nagrađivanja za pronalaženje ranjivosti nude za prepoznate ranjivosti.

Na ciljnim virtualnim strojevima u našem eksperimentu radio je standardni operacijski sustav za stolna računala, a ne sustav s oslabljenom zaštitom, uz isti model prijetnji koji se upotrebljava na natjecanjima u kibernetičkoj sigurnosti (npr. Pwn2Own⁠(otvara se u novom prozoru), TyphoonPWN⁠(otvara se u novom prozoru)). Pwn2Own je u prošlosti nudio nagradu od 20.000 USD, a TyphoonPWN 70.000 USD za eksploatacijski kod za lokalno podizanje ovlasti u jezgri Linuxa. Primjenom tih povijesnih iznosa nagrada na 948 eksploatacijskih kodova dobiva se hipotetska vrijednost od 18,9 do 66,3 milijuna USD, što je približno 16 do 55 puta više od troška našeg sustava.

Sustav smo testirali i u sklopu Googleova programa nagrađivanja za ranjivosti kernelCTF⁠(otvara se u novom prozoru), čiji je cilj jezgra Linuxa s pojačanom zaštitom i smanjenom površinom napada. Sustav smo pokrenuli na najnovijoj verziji jezgre Linuxa u okruženju kernelCTF i dobili 25 demonstracijskih kodova za curenje informacija te 21 eksploatacijski kod za lokalno podizanje ovlasti. Ta verzija jezgre nije kompatibilna sa zaštitom SLAB_VIRTUAL u kernelCTF-u, pa smo je uklonili iz konfiguracije. Za usporedbu, do trenutka pisanja ovog teksta kernelCTF je u 2026. prihvatio 26 potvrđenih eksploatacijskih kodova za dotad nepoznate ranjivosti koje omogućuju LPE. Cijelo je istraživanje trajalo ukupno 112 sati, uz trošak od približno 32.936 USD u kreditima za API, pri čemu je otkrivanje ranjivosti činilo 83,7 % troška API-ja. Kad bi program prihvatio tu 21 ranjivost, nagrada bi iznosila oko 1,5 milijuna USD, odnosno približno 45 puta više od troška.

Ključna pouka: Prema javno objavljenim iznosima nagrada, uz trenutačne modele s kibernetičkim sposobnostima naš je sustav za istraživanje ranjivosti u vrijeme istraživanja donosio neto dobit. Stručnjaci za obranu sustava trebali bi proaktivno analizirati svoj softver kako bi njegovo iskorištavanje postalo preskupo za napadače.

Iskorištavanje pogrešne ranjivosti nultog dana

Tijekom procjene mogućnosti iskorištavanja agenti ExploitDev dobili su izvješće o ranjivosti i zadatak da izrade potpuno funkcionalan eksploatacijski kod. Naš je sustav ranjivost označavao kao iskorištenu ako je uspješno ostvaren pristup ljusci s ovlastima root. Tijekom jednog ranog izvođenja faza iskorištavanja prijavila je 200 uspješnih eksploatacijskih kodova za lokalno podizanje ovlasti. Međutim, nakon ručnog pregleda utvrdili smo da je njih 20 steklo ovlasti root putem druge ranjivosti nultog dana, a ne one koja im je dodijeljena. To upućuje na potrebu za odgovarajućom validacijom čak i kad agenti uspješno iskoriste ranjivost.

Nakon toga pooštrili smo ograničenja zadatka i dodali neovisnu provjeru kojom se potvrđuje da svaki konačni eksploatacijski kod koristi dodijeljenu ranjivost.

Ključna pouka: U autonomnom sigurnosnom istraživanju uz sam rezultat provjerite i put kojim se do njega došlo; izolacija, nadzor i neovisne provjere nužne su kontrolne mjere.

Sposobnijim modelima može trebati jednostavnija orkestracija

Na početku istraživanja razmatrali smo treba li oko agenta izgraditi složenu orkestraciju kako bi se poboljšale njegove kibernetičke sposobnosti. Naši su rezultati pokazali da snažniji modeli zahtijevaju jednostavniju orkestraciju i manje usmjeravanja. Pritom neznatno poboljšanje ne opravdava trošak održavanja. Stoga smo odlučili ukloniti složenu orkestraciju.

U eksperimentu smo usporedili GPT‑5.5 Cyber i GPT‑5.6 Cyber. Prema našim opažanjima, GPT‑5.5 Cyber nije dosljedno prepoznavao kada i kako primijeniti postojeće tehnike iskorištavanja ranjivosti jezgre Linuxa. Zatim smo prikupili 103 tehnike u formatu prilagođenom modelu, učinili ih dostupnima u agentovu okruženju i uputili agenta da ih upotrebljava. Na 63 kandidata za iskorištavanje time je stopa uspješnosti porasla sa 76,2 % na 88,9 %.

Kad smo postupak ponovili s modelom GPT‑5.6 Cyber, model je bolje samostalno pronalazio, odabirao i primjenjivao relevantne tehnike. Uklonili smo orkestraciju tehnika i vještina, a taj je tijek rada s modelom GPT‑5.6 Cyber i jednostavnom orkestracijom nadmašio tijek rada s modelom GPT‑5.5 Cyber i opsežnijom potpornom strukturom. Ponovno dodavanje sloja tehnika za GPT‑5.6 Cyber donijelo je samo neznatno poboljšanje od 1,5 postotnih bodova.

Ključna pouka: Preispitujte orkestraciju i testni sklop kako se mijenjaju sposobnosti osnovnog modela. Potporna struktura koja znatno poboljšava jednu generaciju modela snažnijem modelu može donijeti malo koristi, pa treba procijeniti opravdava li ona trošak održavanja.

Iterativni postupak poboljšava generiranje zakrpa

U početku bi model na izravan zahtjev za generiranje prijedloga zakrpe izrađivao funkcionalno ispravne zakrpe koje onemogućuju demonstracijski kod, ali povremeno uvode druge probleme: sadržavale su više koda nego što je potrebno, mogle su negativno utjecati na performanse, odstupale su od konvencija pisanja koda ili nisu obuhvaćale provjeru povezanog koda radi varijanti iste ranjivosti, zbog čega su zakrpe bile nepotpune.

Dodatne upute i iterativne dorade postupka generiranja zakrpa poboljšale su njihovu kvalitetu. To upućuje na to da uz odgovarajući pristup sigurnosne zakrpe koje generira AI mogu biti ispravne, minimalne i usklađene s postojećim konvencijama pisanja koda. To je područje aktivnog istraživanja i vjerujemo da će s budućim modelima taj postupak postati lakši i učinkovitiji. U nekoliko slučajeva naš je istraživački prototip uspio prepoznati i probleme u zakrpama koje su napisali stručnjaci. Ti su problemi zatim otklonjeni prije uključivanja zakrpa u projekt.

Ključna pouka: Modeli mogu ubrzati izradu zakrpa, ali vještine za izradu zakrpa i testni sklopovi mogu zahtijevati iterativne dorade kako bi zakrpe pouzdano ispunjavale i funkcionalne i nefunkcionalne zahtjeve. Osim toga, preporučujemo upotrebu modela za pregled zakrpa koje izrađuju ljudi i AI iz perspektive napadača. Tako se mogu prepoznati problemi poput mogućnosti zaobilaženja zakrpe, neobuhvaćenih putova ili varijanti napada i drugih propusta.

Ranjivosti u infrastrukturi za testiranje

Tijekom izvođenja u okruženju kernelCTF, uz 21 eksploatacijski kod za ranjivosti nultog dana u jezgri Linuxa, naš je istraživački prototip pronašao i iskoristio i ranjivost u QEMU TCG-u. Agent analitičar dobio je zadatak analizirati ulazni kod sistemskih poziva, a tijekom pisanja programa za eksperimentiranje s prijelazima između razina ovlasti naišao je na neočekivano rušenje jezgre. Proveo je trijažu rušenja i utvrdio da problem potječe iz QEMU TCG-a, bez pristupa izvornom kodu QEMU-a, te uključio ranjivost u izvješće. Agent ExploitDev potom je uspješno razvio eksploatacijski kod za lokalno podizanje ovlasti putem te ranjivosti. Tu smo ranjivost QEMU-a otkrili pri ručnoj analizi eksploatacijskih kodova i potvrdili da je već bila otklonjena u glavnom projektu QEMU, ali ne i u objavljenoj verziji korištenoj tijekom eksperimenta.

Ključna pouka: Granični modeli s kibernetičkim sposobnostima mogu pronaći ranjivosti u infrastrukturi za testiranje. Preporučujemo testiranje svakog dijela infrastrukture prije provođenja ofenzivnog istraživanja ranjivosti. Proaktivno smo testirali svoju infrastrukturu te prijavili i zakrpali brojne ranjivosti u projektima Kata, Moby/Docker, gVisor i drugima.

Zaključak

Naš je cilj sve veće sposobnosti modela pretvoriti u trajnu prednost za ljude koji brinu o sigurnosti interneta. Ovo istraživanje pokazuje da se sve veće kibernetičke sposobnosti graničnih modela mogu iskoristiti za učinkovito traženje ranjivosti u složenom softveru, poput jezgre Linuxa. Jačanje sigurnosti ključnih softverskih projekata poput Linuxa i drugih projekata otvorenog koda može zaštititi brojne sustave i korisnike koji se na njih oslanjaju.

Kroz Patch the Planet, inicijativu u sklopu programa Daybreak, nastojimo proširiti ovo istraživanje na više ključnih softverskih projekata te zajedno s održavateljima i sigurnosnim partnerima razviti pouzdanu automatiziranu izradu zakrpa. Želimo postupno smanjivati prilike dostupne napadačima i povećavati trošak pronalaženja i iskorištavanja ranjivosti sve dok očekivana korist više ne opravdava napad.

Svaka generacija modela trebala bi nam pomoći da izgradimo softver čiju će sigurnost sljedeća generacija teže narušiti. Nastavit ćemo raditi na izgradnji sigurnog interneta na kojem svatko može stvarati s veseljem.

Autor

OpenAI