Rularea în siguranță a Codex la OpenAI
O privire asupra controalelor, limitelor și telemetriei pe care OpenAI le folosește pentru a guverna agenții de programare în fluxuri de lucru reale.
Pe măsură ce sistemele de inteligență artificială devin mai capabile, acestea acționează tot mai mult în numele utilizatorilor. Agenții de programare pot analiza autonom depozite de cod, pot rula comenzi și pot interacționa cu instrumente de dezvoltare. Acestea sunt sarcini care înainte necesitau execuție umană directă.
Cu Codex, am proiectat aceste capabilități împreună cu măsuri de control de care organizațiile au nevoie pentru o implementare sigură. Echipele de securitate au nevoie de modalități de a guverna modul în care operează agenții: la ce pot avea acces, când este necesară aprobarea umană, cu ce sisteme pot interacționa și ce telemetrie există pentru a le explica comportamentul.
La OpenAI, implementăm Codex cu câteva obiective clare: să menținem agentul în limite tehnice clare, să le permitem dezvoltatorilor să ia rapid măsuri în cazul acțiunilor cu risc redus și să facem explicite acțiunile cu risc mai ridicat. De asemenea, păstrăm telemetria nativă la nivel de agent pentru a putea înțelege și audita ce a făcut agentul. În practică, acest lucru înseamnă configurare administrată, execuție constrânsă, politici de rețea și jurnale native la nivel de agent.
Implementăm Codex după un principiu simplu: să fie productiv într-un mediu delimitat, acțiunile uzuale cu risc redus să nu creeze probleme, iar acțiunile cu risc mai ridicat să fie oprite în vederea revizuirii.
Aprobările și izolarea funcționează împreună. Mediul de izolare definește limita tehnică de execuție, inclusiv unde poate scrie Codex, dacă poate accesa rețeaua și ce căi rămân protejate. Politica de aprobare stabilește când Codex trebuie să ceară permisiunea de a efectua o acțiune, de exemplu când trebuie să facă ceva în afara mediului de izolare. Utilizatorii pot aproba acțiunea o singură dată sau pot aproba acel tip de acțiune pentru sesiunea respectivă.
Pentru cererile care depășesc limita mediului de izolare, folosim modul Auto-revizuire(se deschide într-o fereastră nouă), o funcție care, atunci când este activată, aprobă automat anumite tipuri de cereri pentru a reduce cât de des utilizatorii trebuie să se oprească și să aprobe acțiunile Codex. Codex trimite acțiunea planificată și contextul recent către subagentul de aprobare automată, care poate aproba automat acțiunile cu risc redus sau acțiunile cu risc ridicat cu un nivel suficient de autorizare din partea utilizatorului în loc să întrerupă utilizatorul. Astfel, Codex își continuă activitatea de rutină, oprindu-se totuși în cazul acțiunilor cu risc mai ridicat sau al acțiunilor cu consecințe neintenționate.
Nu rulăm Codex cu acces de ieșire nelimitat. Politica noastră de rețea administrată permite destinațiile așteptate, blochează destinațiile la care nu dorim să ajungă Codex și solicită aprobare pentru domenii necunoscute. Astfel, Codex poate finaliza fluxuri de lucru comune și sigure, fără a i se oferi acces extins la rețea.
Administrăm și modul în care Codex se autentifică. Acreditările OAuth pentru CLI și MCP sunt stocate în managerul securizat de acreditări al sistemului de operare, autentificarea este impusă prin ChatGPT, iar accesul este fixat la spațiul nostru de lucru ChatGPT Enterprise. Astfel, utilizarea Codex rămâne legată de măsurile noastre de control la nivel de spațiu de lucru, iar activitatea Codex devine disponibilă în Platforma de jurnale de conformitate ChatGPT pentru spațiul nostru de lucru corporativ.
Folosim reguli astfel încât Codex să nu trateze fiecare comandă shell ca fiind la fel de sigură. Comenzile uzuale și inofensive pe care inginerii le folosesc în dezvoltarea de zi cu zi sunt permise fără aprobare în afara mediului de izolare, iar anumite comenzi periculoase pot fi blocate sau pot necesita aprobare. Astfel, Codex poate avansa rapid prin sarcini obișnuite de inginerie, impunând totuși revizuire sau blocând tiparele pe care nu dorim să le rulăm în afara mediului de izolare.
Aplicăm această abordare printr-o combinație de cerințe administrate din cloud, preferințe administrate de macOS și fișiere locale de cerințe. Cerințele sunt măsuri de control impuse de administrator, pe care utilizatorii nu le pot suprascrie. Preferințele administrate de macOS și fișierele locale de cerințe ne permit să menținem o bază consecventă, testând în același timp configurații diferite în funcție de echipă, grup de utilizatori sau mediu. Aceste configurații se aplică pe toate suprafețele locale Codex, inclusiv aplicația desktop, CLI și extensia IDE.
Controlul este doar jumătate din muncă. Odată ce agenții sunt implementați, echipele de securitate au nevoie de vizibilitate asupra a ceea ce fac acești agenți și de ce. Jurnalele tradiționale de securitate sunt încă utile când analizăm acțiunile efectuate de Codex, dar acestea răspund în principal la întrebarea ce s-a întâmplat: a pornit un proces, s-a modificat un fișier, s-a încercat o conexiune la rețea. Apărătorii trebuie în continuare să stabilească de ce a făcut Codex ceva sau care a fost intenția utilizatorului.
Codex poate oferi echipelor de securitate o perspectivă mai conștientă la nivel de agent. Codex acceptă exportul de jurnale OpenTelemetry pentru diverse evenimente Codex, precum solicitări ale utilizatorilor, decizii de aprobare a instrumentelor, rezultate ale execuției instrumentelor, utilizarea serverelor MCP și evenimente de permitere sau refuz din proxy-ul de rețea. Jurnalele de activitate Codex sunt disponibile și prin OpenAI Compliance Platform pentru clienții Enterprise și Edu.
La OpenAI, folosim jurnalele Codex împreună cu agentul nostru de triaj de securitate bazat pe inteligență artificială. Când o alertă de punct final spune că Codex a făcut ceva neobișnuit, instrumentul de securitate pentru puncte finale ne spune că a avut loc un eveniment suspect. Jurnalele Codex ajută apoi la explicarea intenției utilizatorului și a agentului în contextul înconjurător. Agentul nostru de triaj de securitate IA folosește jurnalele Codex pentru a inspecta cererea inițială, activitatea instrumentelor, deciziile de aprobare, rezultatele instrumentelor și orice decizie relevantă de politică de rețea sau blocare. Agentul de triaj de securitate IA își prezintă analiza echipei noastre de securitate pentru revizuire, pentru a distinge între comportamentul așteptat al agentului, greșeli benigne și activitate care justifică într-adevăr escaladarea.
Folosim aceeași telemetrie și la nivel operațional. Folosim aceste jurnale pentru a înțelege cum se schimbă adoptarea internă, ce instrumente și servere MCP sunt utilizate, cât de des mediul de izolare de rețea blochează sau solicită aprobare și unde implementarea mai are nevoie de ajustări. Aceste jurnale OpenTelemetry pot fi centralizate în sisteme SIEM și de jurnalizare pentru conformitate.
Pe măsură ce agenții de programare precum Codex devin integrați în fluxurile de lucru de dezvoltare, echipele de securitate au nevoie de instrumente concepute special pentru gestionarea acestei schimbări. Codex oferă suprafețele de control, gestionarea configurației, izolarea și telemetria detaliată, conștientă de agent, necesare pentru a asigura o adoptare sigură. Cu aceste capabilități implementate, echipele de securitate pot activa Codex cu mai multă încredere, echilibrând productivitatea dezvoltatorilor cu vizibilitatea și măsurile de control necesare pentru securitatea la nivel de companie. Mai multe informații despre configurarea Codex pot fi găsite aici(se deschide într-o fereastră nouă), iar despre Compliance API aici(se deschide într-o fereastră nouă).


