Varna uporaba Codexa v OpenAI
Pogled na nadzore, omejitve in telemetrijo, ki jih OpenAI uporablja za upravljanje agentov za kodiranje v resničnih delovnih tokovih.
Ker sistemi UI postajajo zmogljivejši, vse pogosteje delujejo v imenu uporabnikov. Kodirni agenti lahko samostojno pregledujejo repozitorije, izvajajo ukaze in uporabljajo razvojna orodja. Za takšne naloge je bilo prej potrebno neposredno delo človeka.
Pri Codexu smo te zmožnosti zasnovali skupaj z nadzornimi mehanizmi, ki jih organizacije potrebujejo za varno uvedbo. Varnostne ekipe morajo imeti možnost upravljati delovanje agentov: do česa lahko dostopajo, kdaj je potrebna odobritev človeka, s katerimi sistemi smejo komunicirati in katera telemetrija je na voljo za pojasnitev njihovega ravnanja.
V OpenAI Codex uvajamo z nekaj jasnimi cilji: agent mora ostati znotraj jasno določenih tehničnih meja, razvijalci morajo lahko hitro opravljati dejanja z nizkim tveganjem, dejanja z višjim tveganjem pa morajo biti jasno označena. Hranimo tudi telemetrijo iz samega agenta, da lahko razumemo in revidiramo, kaj je agent naredil. V praksi to pomeni upravljano konfiguracijo, omejeno izvajanje, omrežne politike in dnevnike iz samega agenta.
Codex uvajamo po preprostem načelu: v omejenem okolju mora omogočati produktivno delo, pri vsakodnevnih dejanjih z nizkim tveganjem mora biti čim manj ovir, dejanja z višjim tveganjem pa se morajo ustaviti za pregled.
Odobritve in peskovnik se dopolnjujejo. Peskovnik določa tehnične meje izvajanja, med drugim kam lahko Codex zapisuje, ali lahko dostopa do omrežja in katere poti ostanejo zaščitene. Politika odobritev določa, kdaj mora Codex zaprositi za dovoljenje za izvedbo dejanja, na primer kadar mora izvesti nekaj zunaj peskovnika. Uporabniki lahko dejanje odobrijo enkrat ali pa za to sejo odobrijo celotno vrsto takšnih dejanj.
Za zahteve, ki presegajo peskovnik, uporabljamo način samodejnega pregleda(odpre se v novem oknu). Ta funkcionalnost ob vklopu samodejno odobri nekatere vrste zahtev, zato uporabnikom ni treba tako pogosto prekiniti dela in odobriti dejanj za Codex. Codex načrtovano dejanje in nedavni kontekst pošlje podagentu za samodejno odobritev, ki lahko dejanja z nizkim tveganjem ali dejanja z visokim tveganjem ob zadostni ravni uporabnikove avtorizacije odobri sam, ne da bi prekinil uporabnika. Tako Codex lahko nadaljuje rutinsko delo, vendar se še vedno ustavi pri dejanjih z višjim tveganjem ali možnostjo nenamernih posledic.
Codexa ne izvajamo z neomejenim izhodnim dostopom. Naša upravljana omrežna politika dovoljuje pričakovane cilje, blokira cilje, za katere ne želimo, da jih Codex doseže, za neznane domene pa zahteva odobritev. Tako lahko Codex dokonča običajne in preverjeno ustrezne delotoke, ne da bi imel širok omrežni dostop.
Upravljamo tudi način avtentikacije Codexa. Poverilnice OAuth za vmesnik z ukazno vrstico in protokol za modelni kontekst so shranjene v varnem hranilniku ključev operacijskega sistema, prijava mora potekati prek ChatGPT, dostop pa je vezan na naš delovni prostor ChatGPT Enterprise. Tako uporaba Codexa ostane povezana z nadzornimi mehanizmi na ravni delovnega prostora, dejavnost Codexa pa je za naš delovni prostor Enterprise na voljo v platformi ChatGPT Compliance Logs Platform.
Pravila uporabljamo zato, da Codex vseh ukazov lupine ne obravnava kot enako varnih. Pogosti nenevarni ukazi, ki jih inženirji uporabljajo pri vsakodnevnem razvoju, so zunaj peskovnika dovoljeni brez odobritve, posamezni nevarni ukazi pa so lahko blokirani ali zahtevajo odobritev. Tako Codex hitro opravlja običajne inženirske naloge, hkrati pa še vedno zahteva pregled ali blokira vzorce, ki jih zunaj peskovnika ne želimo izvajati.
Ta pristop uveljavljamo s kombinacijo zahtev, upravljanih v oblaku, upravljanih nastavitev za macOS in lokalnih datotek z zahtevami. Zahteve so nadzorni ukrepi, ki jih uveljavljajo skrbniki in jih uporabniki ne morejo preglasiti. Upravljane nastavitve za macOS in lokalne datoteke z zahtevami nam omogočajo, da ohranjamo dosledno izhodiščno konfiguracijo, hkrati pa različne konfiguracije preizkušamo po ekipah, skupinah uporabnikov ali okoljih. Te konfiguracije veljajo za lokalne vmesnike Codexa, vključno z namizno aplikacijo, vmesnikom z ukazno vrstico in razširitvijo za integrirano razvojno okolje.
Nadzor je samo del naloge. Ko so agenti uvedeni, varnostne ekipe potrebujejo vpogled v to, kaj ti agenti počnejo in zakaj. Tradicionalni varnostni dnevniki so pri pregledu dejanj Codexa še vedno uporabni, vendar večinoma povedo, kaj se je zgodilo: proces se je zagnal, datoteka se je spremenila, prišlo je do poskusa omrežne povezave. Ekipe za obrambo morajo še vedno ugotoviti, zakaj je Codex nekaj naredil oziroma kakšen je bil namen uporabnika.
Codex lahko varnostnim ekipam ponudi pogled, ki je bolje prilagojen delovanju agentov. Codex podpira izvoz dnevnikov OpenTelemetry za različne dogodke Codexa, kot so uporabniški pozivi, odločitve o odobritvi orodij, rezultati izvajanja orodij, uporaba strežnikov MCP ter dogodki, pri katerih omrežni posrednik dostop dovoli ali zavrne. Dnevniki dejavnosti Codexa so strankam paketov Enterprise in Edu na voljo tudi prek platforme OpenAI Compliance Platform.
Na podjetju OpenAI dnevnike Codexa uporabljamo skupaj z našim varnostnim agentom za razvrščanje težav po prioritetah, ki ga poganja UI. Ko opozorilo na končni točki pokaže, da je Codex naredil nekaj neobičajnega, nam varnostno orodje za končne točke sporoči, da se je zgodil sumljiv dogodek. Dnevniki Codexa nato pomagajo pojasniti širši namen uporabnika in agenta. Naš varnostni agent za razvrščanje težav po prioritetah uporablja dnevnike Codexa za pregled prvotne zahteve, dejavnosti orodij, odločitev o odobritvah, rezultatov orodij ter vseh relevantnih odločitev ali blokad omrežne politike. Analizo predloži naši varnostni ekipi v pregled, da lahko ta loči med pričakovanim ravnanjem agenta, nenevarnimi napakami in dejavnostjo, ki dejansko zahteva stopnjevanje.
Isto telemetrijo uporabljamo tudi pri operativnem delu. S temi dnevniki spremljamo, kako se spreminja interna uporaba, katera orodja in strežniki MCP se uporabljajo, kako pogosto omrežni peskovnik dostop blokira ali zahteva potrditev ter kje je treba uvedbo še prilagoditi. Dnevnike OpenTelemetry je mogoče centralizirati v sistemih SIEM in sistemih za beleženje zaradi skladnosti.
Ko se kodirni agenti, kot je Codex, vključujejo v razvojne delotoke, varnostne ekipe potrebujejo orodja, zasnovana posebej za upravljanje tega premika. Codex zagotavlja nadzorne mehanizme, upravljanje konfiguracij, peskovnik in podrobno telemetrijo, prilagojeno agentom, ki so potrebni za varno sprejemanje. S temi zmožnostmi lahko varnostne ekipe z večjo gotovostjo omogočijo uporabo Codexa ter uskladijo produktivnost razvijalcev z vidljivostjo in nadzorom, ki ju zahteva varnost v podjetjih. Več informacij o konfiguriranju Codex najdete tukaj(odpre se v novem oknu), o API-ju Compliance pa tukaj(odpre se v novem oknu).


