Ugrás a fő tartalomra
OpenAI

A Codex biztonságos használata az OpenAI-nál

Áttekintés azokról a vezérlőkről, korlátokról és telemetriai megoldásokról, amelyeket az OpenAI a kódoló ügynökök valós munkafolyamatokban való irányítására használ.

Betöltés…

Ahogy az AI-rendszerek egyre nagyobb képességekre tesznek szert, egyre gyakrabban járnak el a felhasználók nevében. A kódoló ügynökök önállóan átvizsgálhatnak adattárakat, parancsokat futtathatnak, és fejlesztői eszközökkel léphetnek kapcsolatba. Ezeket a feladatokat korábban közvetlen emberi végrehajtás mellett lehetett elvégezni.

A Codex esetében ezeket a képességeket azokkal a vezérlőkkel együtt terveztük meg, amelyekre a szervezeteknek szükségük van a biztonságos bevezetéshez. A biztonsági csapatoknak eszközökre van szükségük az ügynökök működésének irányításához: mihez férhetnek hozzá, mikor szükséges emberi jóváhagyás, mely rendszerekkel léphetnek kapcsolatba, és milyen telemetria áll rendelkezésre a viselkedésük magyarázatához.

Az OpenAI-nál néhány világos céllal vezetjük be a Codexet: az ügynök maradjon egyértelmű technikai határok között, a fejlesztők gyorsan haladhassanak az alacsony kockázatú műveletekkel, a nagyobb kockázatú műveletek pedig legyenek egyértelműen jelölve. Emellett megőrizzük az ügynök natív telemetriáját is, hogy megérthessük és auditálhassuk, mit tett az ügynök. A gyakorlatban ez felügyelt konfigurációt, korlátozott végrehajtást, hálózati szabályzatokat és ügynök natív naplókat jelent.

A Codex működésének irányítása

A Codexet egy egyszerű elv mentén vezetjük be: legyen hatékony egy körülhatárolt környezetben, a kis kockázatú mindennapi műveletek legyenek gördülékenyek, a nagyobb kockázatú műveletek pedig álljanak meg felülvizsgálatra.

Sandbox és jóváhagyások

A jóváhagyások és a sandbox együtt működnek. A sandbox határozza meg a végrehajtás technikai határait, beleértve azt is, hogy a Codex hová írhat, elérheti-e a hálózatot, és mely útvonalak maradnak védettek. A jóváhagyási szabályzat azt határozza meg, mikor kell a Codexnek engedélyt kérnie egy művelet végrehajtásához, például amikor a sandboxon kívül kell tennie valamit. A felhasználók egyszer jóváhagyhatják a műveletet, vagy az adott munkamenetre jóváhagyhatják az ilyen típusú műveletet.

A sandbox határát átlépő kérésekhez az Auto-review módot(új ablakban nyílik meg) használjuk, amely egy olyan funkció, amely bekapcsolva automatikusan jóváhagy bizonyos típusú kéréseket, hogy ritkábban kelljen a felhasználóknak megszakítaniuk a munkát és jóváhagyniuk a Codex műveleteit. A Codex elküldi a tervezett műveletet és a közelmúltbeli kontextust az automatikus jóváhagyási rész-ügynöknek, amely a felhasználó megszakítása helyett automatikusan jóváhagyhatja az alacsony kockázatú műveleteket – vagy megfelelő szintű felhasználói jogosultság esetén a magas kockázatú műveleteket is. Ez lehetővé teszi, hogy a Codex haladjon a rutinfeladatokkal, miközben továbbra is megáll a nagyobb kockázatú vagy nem kívánt következményekkel járó műveleteknél.

TOML

1
# config.toml
2

3
# Turn on auto_review
4
approvals_reviewer = "auto_review"
5
# Add known development directories to the sandbox automatically
6
sandbox_workspace_write.writable_roots = ["~/development"]
7

8
# requirements.toml
9

10
# Require Codex to operate inside the sandbox
11
allowed_sandbox_modes = ["read-only", "workspace-write"]

Hálózati hozzáférés

Nem futtatjuk a Codexet korlátlan kimenő hozzáféréssel. Felügyelt hálózati szabályzatunk engedélyezi a várt célpontokat, blokkolja azokat a célpontokat, amelyeket nem szeretnénk, hogy a Codex elérjen, és jóváhagyást kér az ismeretlen domainekhez. Ez lehetővé teszi, hogy a Codex általános, megbízható munkafolyamatokat teljesítsen anélkül, hogy széles körű hálózati hozzáférést kapna.

TOML

1
# requirements.toml
2

3
# Ensure web fetch only comes from OpenAI's cache
4
allowed_web_search_modes = ["cached"]
5

6
[experimental_network]
7
# Turn on Network Proxy
8
enabled = true
9
# Allow Codex to interact with localhost
10
allow_local_binding = true
11
# Block all requests to this domain
12
denied_domains = ["pastebin.com"]
13
# Auto-allow requests to these domains
14
allowed_domains = ["login.microsoftonline.com", "*.openai.com"]

Azonosítás és hitelesítő adatok

Azt is kezeljük, hogyan hitelesíti magát a Codex. A CLI- és MCP-OAuth hitelesítő adatok a biztonságos operációsrendszer-kulcstartóban vannak tárolva, a bejelentkezés ChatGPT‑n keresztül kötelező, a hozzáférés pedig a ChatGPT vállalati munkaterületünkhöz van kötve. Ez biztosítja, hogy a Codex használata a munkaterület szintű vezérlőinkhez kapcsolódjon, és a Codex tevékenysége elérhető legyen a ChatGPT Compliance Logs Platformban a vállalati munkaterületünk számára.

TOML

1
# config.toml
2

3
# Store CLI Auth Creds in OS Keychain
4
cli_auth_credentials_store = "keyring"
5
# Store MCP Creds in OS Keychain
6
mcp_oauth_credentials_store = "keyring"
7
# Require Auth via ChatGPT
8
forced_login_method = "chatgpt"
9
# Require Auth to Specific ChatGPT Workspace
10
forced_chatgpt_workspace_id = "<workspace-uuid>"

Szabályok

Szabályokat használunk, hogy a Codex ne tekintsen minden shell-parancsot egyformán biztonságosnak. A mérnökök által a napi fejlesztésben használt, gyakori ártalmatlan parancsok a sandboxon kívül is jóváhagyás nélkül engedélyezhetők, míg bizonyos veszélyes parancsok blokkolhatók vagy jóváhagyást igényelhetnek. Ez lehetővé teszi, hogy a Codex gyorsan haladjon a szokásos mérnöki feladatokkal, miközben továbbra is kikényszeríti a felülvizsgálatot vagy blokkolja azokat a mintákat, amelyeket nem akarunk a sandboxon kívül futtatni.

Starlark

1
# default.rules
2

3
prefix_rule(
4
pattern = ["gh", "pr", ["view", "list"]],
5
decision = "allow",
6
justification = "Allows read-only GitHub PR inspection via gh CLI.",
7
)
8
prefix_rule(
9
pattern = ["kubectl", ["get", "describe", "logs"]],
10
decision = "allow",
11
justification = "Allows Kubernetes resource inspection for debugging.",
12
)

Felügyelt konfigurációk

Ezt a megközelítést felhőben felügyelt követelmények, macOS által felügyelt beállítások és helyi követelményfájlok kombinációjával alkalmazzuk. A követelmények rendszergazdák által kikényszerített vezérlők, amelyeket a felhasználók nem írhatnak felül. A macOS által felügyelt beállítások és a helyi követelményfájlok lehetővé teszik, hogy egységes alapállapotot tartsunk fenn, miközben továbbra is különböző konfigurációkat tesztelünk csapat, felhasználói csoport vagy környezet szerint. Ezek a konfigurációk a Codex helyi felületein át érvényesek, beleértve az asztali alkalmazást, a CLI-t és az IDE-bővítményt is.

Ügynök natív telemetria és auditnyomok

Az irányítás csak a feladat fele. Miután az ügynököket bevezették, a biztonsági csapatoknak láthatóságra van szükségük abba, hogy ezek az ügynökök mit csinálnak és miért. A hagyományos biztonsági naplók továbbra is hasznosak a Codex által végrehajtott műveletek vizsgálatakor, de többnyire csak arra válaszolnak, hogy mi történt: elindult egy folyamat, megváltozott egy fájl, megkíséreltek egy hálózati kapcsolatot. A védelmi szakembereknek továbbra is ki kell deríteniük, hogy a Codex miért tett valamit, vagy mi volt a felhasználó szándéka.

A Codex a biztonsági csapatoknak az ügynökök működésére jobban rálátó nézetet tud adni. A Codex támogatja az OpenTelemetry-naplók exportját különféle Codex-eseményekhez, például felhasználói utasításokhoz, eszközjóváhagyási döntésekhez, eszköz-végrehajtási eredményekhez, MCP-szerverhasználathoz, valamint hálózati proxy engedélyezési vagy tiltási eseményekhez. A Codex tevékenységi naplói az OpenAI Compliance Platformon keresztül is elérhetők az Enterprise és Edu ügyfelek számára.

TOML

1
# config.toml
2

3
[otel]
4
log_user_prompt = true
5
environment = "prod"
6

7
[otel.exporter.otlp-http]
8
endpoint = "http://localhost:14318/v1/logs"
9
protocol = "binary"

Az OpenAI-nál a Codex naplóit az AI-alapú biztonsági triázs ügynökünkkel együtt használjuk. Amikor egy végponti riasztás azt jelzi, hogy a Codex valami szokatlant tett, a végpontbiztonsági eszköz azt közli velünk, hogy gyanús esemény történt. A Codex naplói ezután segítenek megmagyarázni a felhasználó és az ügynök környező szándékát. AI-biztonsági triázs ügynökünk a Codex naplóit használja az eredeti kérés, az eszköztevékenység, a jóváhagyási döntések, az eszközeredmények, valamint minden releváns hálózati szabályzati döntés vagy blokkolás vizsgálatára. Az AI-biztonsági triázs ügynök az elemzését felülvizsgálatra a biztonsági csapatunk elé tárja, hogy különbséget lehessen tenni a várt ügynökviselkedés, az ártalmatlan hibák és a valóban eszkalációt igénylő tevékenység között.

Ugyanezt a telemetriát működési célokra is használjuk. Ezeket a naplókat arra használjuk, hogy megértsük, hogyan változik a belső elfogadás, mely eszközöket és MCP-szervereket használják, milyen gyakran blokkol vagy kérdez rá a hálózati sandbox, és hol kell még finomhangolni a bevezetést. Ezek az OpenTelemetry-naplók SIEM- és megfelelőségi naplózási rendszerekben központosíthatók.

Előretekintés

Ahogy a Codexhez hasonló kódoló ügynökök beépülnek a fejlesztési munkafolyamatokba, a biztonsági csapatoknak kifejezetten e változás kezelésére tervezett eszközökre van szükségük. A Codex biztosítja azokat a vezérlési felületeket, konfigurációkezelést, sandboxolást és részletes, az ügynökökre érzékeny telemetriát, amelyek a biztonságos bevezetéshez szükségesek. E képességek birtokában a biztonsági csapatok nagyobb bizalommal engedélyezhetik a Codex használatát, egyensúlyt teremtve a fejlesztői produktivitás és a vállalati biztonsághoz szükséges láthatóság és irányítás között. További információ a Codex konfigurálásáról itt(új ablakban nyílik meg), a Compliance API-ról pedig itt(új ablakban nyílik meg) található.

Szerző

OpenAI