Preskočite na glavno vsebino
OpenAI

Predstavljamo Aardvark: agentskega varnostnega raziskovalca družbe OpenAI

Zdaj v zasebni različici beta: agent z umetno inteligenco, ki razmišlja kot človeški varnostni raziskovalec in s prilagajanjem obsega izpolnjuje zahteve sodobne programske opreme.

Nalaganje …

Danes naznanjamo prihod Aardvarka, agentskega varnostnega raziskovalca, ki ga poganja model GPT‑5.

Varnost programske opreme je med najbolj ključnimi in najzahtevnejšimi področji v tehnologiji. Vsako leto se odkrije več deset tisoč novih ranljivosti v kodnih zbirkah podjetij in odprtokodnih projektov. Na strani obrambe se soočajo z zahtevnimi nalogami iskanja in odpravljanja ranljivosti, preden jih nasprotna stran lahko izkoristi. Pri družbi OpenAI si prizadevamo nagniti tehtnico v prid obrambe.

Aardvark predstavlja preboj pri raziskavah umetne inteligence in varnosti: avtonomni agent, ki lahko razvijalcem in varnostnim ekipam pomaga odkrivati in odpravljati varnostne ranljivosti v velikem obsegu. Aardvark je zdaj na voljo v zasebni različici beta, ki omogoča preverjanje in izpopolnjevanje njegovih zmogljivosti na tem področju.

Kako deluje Aardvark

Aardvark nenehno analizira repozitorije izvorne kode, da odkrije ranljivosti, oceni možnosti izkoriščanja, določi stopnjo resnosti in predlaga ciljno usmerjene popravke.

Aardvark deluje tako, da spremlja uveljavitve in spremembe v kodnih zbirkah, prepoznava ranljivosti, ugotavlja načine njihovega izkoriščanja ter predlaga popravke. Aardvark se ne zanaša na tradicionalne tehnike analiziranja programov, kot sta vnašanje neveljavnih, nepričakovanih ali naključnih vhodnih podatkov (fuzzing) ali analiza sestave programske opreme. Namesto tega uporablja sklepanje, podprto z velikimi jezikovnimi modeli (LLM-ji), in orodja za razumevanje vedenja kode in prepoznavanje ranljivosti. Aardvark išče programske napake tako, kot bi to počel človeški raziskovalec varnosti: z branjem in analiziranjem kode, pisanjem in izvajanjem preizkusov, uporabo orodij in drugim.

Diagram z naslovom »AARDVARK – potek dela agenta za odkrivanje ranljivosti«, ki prikazuje procesni tok od Git-repozitorija do modeliranja groženj, odkrivanja ranljivosti, peskovnika za potrjevanje, popravljanja s Codexom in človeškega pregleda, ki nazadnje vodi do izdaje zahteve za pridobivanje.

Aardvark se zanaša na večstopenjski proces prepoznavanja, pojasnjevanja in odpravljanja ranljivosti:

  • Analiza: Začne z analizo celotnega repozitorija, da ustvari model groženj, ki odraža njegovo razumevanje varnostnih ciljev in zasnove projekta.
  • Preverjanje uveljavitev kode: Ob vsaki uveljavitvi nove kode preveri ranljivosti tako, da pregleda spremembe na ravni uveljavitev kode glede na celoten repozitorij in model groženj. Aardvark ob prvi povezavi repozitorija pregleda njegovo zgodovino, da ugotovi obstoječe težave. Aardvark ranljivosti, ki jih najde, pojasni po korakih in doda opombe h kodi, ki olajšajo človeški pregled.
  • Potrditev: Ko Aardvark odkrije morebitno ranljivost, jo poskusi sprožiti v izoliranem okolju peskovnika, da potrdi, da jo je mogoče izkoriščati v slabe namene. Aardvark opiše korake, ki jih je sprejel, da bi uporabnikom zagotovil natančne, visokokakovostne vpoglede z majhnim številom lažno pozitivnih rezultatov.
  • Popravljanje: Aardvark se integrira z agentom OpenAI Codex za lažje odpravljanje ranljivosti, ki jih najde. Popravek, ki ga ustvari Codex in pregleda Aardvark, se priloži k vsaki ugotovitvi, kar omogoča človeški pregled in učinkovito popravljanje z enim samim klikom.

Aardvark deluje skupaj z inženirji ter se integrira s storitvijo GitHub, orodjem Codex in obstoječimi delovnimi tokovi, da zagotovi jasne, uporabne vpoglede brez upočasnjevanja razvoja. Čeprav je Aardvark zasnovan za varnost, smo med preizkušanjem ugotovili, da lahko odkrije tudi programske napake, kot so logične napake, nepopolni popravki in težave z zasebnostjo.

Resnični vpliv že danes

Aardvark je v uporabi že več mesecev in neprekinjeno deluje na OpenAI-jevih internih kodnih zbirkah in kodnih zbirkah zunanjih partnerjev stopnje alfa. Znotraj družbe OpenAI je odkril pomembne ranljivosti in s tem prispeval k njenemu obrambnemu ravnanju. Partnerji so izpostavili Aardvarkovo temeljitost analiziranja, saj je odkril težave, ki se pojavljajo le v zapletenih pogojih.

Pri primerjalnem preizkusu na »zlatih« repozitorijih je Aardvark identificiral 92 % znanih in umetno uvedenih ranljivosti, kar dokazuje njegovo visoko stopnjo prepoznavanja in učinkovitosti v resničnih pogojih.

Aardvark za odprtokodno programsko opremo

Aardvark je bil uporabljen tudi pri odprtokodnih projektih, kjer je odkril številne ranljivosti, ki smo jih odgovorno razkrili – deset jih je prejelo identifikacijske označbe CVE (Common Vulnerabilities and Exposures).

Kot uporabniki dognanj odprtih raziskav in odgovornih razkritij, ki segajo več desetletij v preteklost, smo zavezani k temu, da se oddolžimo – prispevamo orodja in ugotovitve, po zaslugi katerih je digitalni ekosistem varnejši za vse. Izbranim nekomercialnim odprtokodnim repozitorijem nameravamo ponuditi brezplačno pregledovanje, da tako prispevamo k varnosti odprtokodnega programskega ekosistema in dobavne verige.

Pred kratkim smo posodobili pravilnik o usklajenem razkrivanju navzven, ki namesto podajanja togih časovnic razkrivanja, zaradi katerih so lahko razvijalci pod pritiskom, zavzema razvijalcem prijazen pristop, osredotočen na sodelovanje in razširljiv vpliv. Pričakujemo, da bodo orodja, kot je Aardvark, privedla do odkritja čedalje večjega števila napak, in želimo trajnostno sodelovati za dosego dolgoročne odpornosti.

Zakaj je to pomembno

Programska oprema je danes nepogrešljiv steber vsake industrije, kar pomeni, da ranljivosti programske opreme predstavljajo sistemsko tveganje za podjetja, infrastrukturo in družbo. V letu 2024 je bilo prijavljenih več kot 40.000 splošnih ranljivosti in primerov izpostavljenosti (angl. CVE). Pri preizkušanju smo ugotovili, da pri približno 1,2 % uveljavitev kode pride do vnosa napak – gre za majhne spremembe kode, ki imajo lahko izredno resne posledice.

Aardvark je nov model, ki na prvo mesto postavlja obrambo: agentski varnostni raziskovalec, ki sodeluje z ekipami tako, da jim zagotavlja neprekinjeno zaščito med razvojem kode. Z zgodnjim zaznavanjem ranljivosti, potrjevanjem njihove možnosti izkoriščanja v resničnem svetu in ponujanjem jasnih rešitev lahko Aardvark okrepi varnost, ne da bi s tem upočasnil razvoj novosti. Verjamemo v širjenje dostopa do strokovnega znanja s področja varnosti. Začenjamo z zasebno različico beta, razpoložljivost pa bomo sproti povečevali hkrati z odkrivanjem novih spoznanj.

Zasebna različica beta je zdaj na voljo

Izbrane partnerje vabimo, da se pridružijo orodju Aardvark v zasebni različici beta. Sodelujoči partnerji bodo pridobili zgodnji dostop in bodo sodelovali neposredno z našo ekipo pri izpopolnjevanju natančnosti zaznavanja, delovnih tokov za potrjevanje in izkušnje poročanja.

Želimo preveriti zmogljivost v različnih okoljih. Če ste v vaši organizaciji ali pri odprtokodnem projektu zainteresirani za pridružitev, se lahko prijavite tukaj.

Avtor

OpenAI

Avtorji prispevkov

Akshay Bhat, Andy Nguyen, Dave Aitel, Harold Nguyen, Ian Brelinsky, Tiffany Citra, Xin Hu in Matt Knight