Přeskoč na hlavní obsah
OpenAI

Bezpečné používání Codexu v OpenAI

Pohled na kontrolní mechanismy, hranice a telemetrii, které OpenAI používá ke správě agentů pro kódování v reálných pracovních postupech.

Načítání…

S tím, jak jsou AI systémy schopnější, stále častěji jednají jménem uživatelů. Agenti pro kódování mohou autonomně kontrolovat repozitáře, spouštět příkazy a pracovat s vývojářskými nástroji. Jde o úkoly, které dříve vyžadovaly přímé provedení člověkem.

U Codexu jsme tyto schopnosti navrhli spolu s kontrolními mechanismy, které organizace potřebují pro bezpečné nasazení. Bezpečnostní týmy potřebují způsoby, jak řídit fungování agentů: k čemu mají přístup, kdy je vyžadováno lidské schválení, se kterými systémy mohou pracovat a jaká telemetrie je k dispozici pro vysvětlení jejich chování.

V OpenAI nasazujeme Codex s několika jasnými cíli: udržet agent v jasně vymezených technických hranicích, umožnit vývojářům rychlý postup u nízkorizikových akcí a zviditelnit akce s vyšším rizikem. Zároveň zachováváme telemetrii nativní pro agenta, abychom mohli porozumět tomu, co agent udělal, a provádět audit. V praxi to znamená spravovanou konfiguraci, omezené provádění, síťové politiky a logy nativní pro agenta.

Řízení fungování Codexu

Codex nasazujeme podle jednoduchého principu: v omezeném prostředí má být produktivní, běžné nízkorizikové akce mají probíhat bez překážek a akce s vyšším rizikem se mají zastavit k přezkoumání.

Sandboxing a schvalování

Schvalování a sandboxing fungují společně. Sandbox vymezuje technickou hranici provádění, včetně toho, kam může Codex zapisovat, zda může přistupovat k síti a které cesty zůstávají chráněné. Zásady schvalování určují, kdy musí Codex požádat o provedení akce, například když potřebuje udělat něco mimo sandbox. Uživatelé mohou akci schválit jednou nebo schválit tento typ akce pro celou relaci.

U požadavků, které překračují hranici sandboxu, používáme režim automatické kontroly(otevře se v novém okně). Je to funkce, která po zapnutí automaticky schvaluje určité typy požadavků, aby uživatelé nemuseli tak často přerušovat práci a schvalovat akce Codexu. Codex odešle plánovanou akci a nedávný kontext subagentovi, aby to schválil. Ten může automaticky schvalovat nízkorizikové akce nebo vysoce rizikové akce s dostatečnou úrovní uživatelského oprávnění, a nerušit přitom uživatele. Díky tomu Codex pokračuje v rutinních úkolech, ale zároveň se zastaví u akcí s vyšším rizikem nebo nezamýšlenými důsledky.

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"]

Přístup k síti

Codex neprovozujeme s neomezeným odchozím přístupem. Naše spravovaná síťová politika povoluje očekávané cíle, blokuje cíle, ke kterým nechceme, aby Codex přistupoval, a u neznámých domén vyžaduje schválení. Díky tomu může Codex dokončit běžné a ověřené pracovní postupy, aniž by měl široký síťový přístup.

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"]

Identita a přihlašovací údaje

Řídíme také způsob, jakým se Codex ověřuje. Přihlašovací údaje OAuth pro CLI a MCP jsou uloženy v zabezpečené systémové klíčence, přihlášení je vynuceno přes ChatGPT a přístup je připnut k našemu podnikovému pracovnímu prostoru ChatGPT. Tím zůstává používání Codexu navázáno na kontroly na úrovni pracovního prostoru a aktivita Codexu je dostupná v platformě ChatGPT Compliance Logs pro náš podnikový pracovní prostor.

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>"

Pravidla

Používáme pravidla, aby Codex nepovažoval každý shellový příkaz za stejně bezpečný. Běžné neškodné příkazy, které vývojáři používají při každodenním vývoji, jsou bez schválení povoleny i mimo sandbox a konkrétní nebezpečné příkazy mohou být blokovány nebo mohou vyžadovat schválení. Díky tomu může Codex rychle postupovat v běžných vývojářských úkolech, zatímco vzorce, které nechceme spouštět mimo sandbox, jsou blokovány nebo vynucují kontrolu.

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
)

Spravované konfigurace

Tento přístup uplatňujeme kombinací požadavků spravovaných v cloudu, spravovaných předvoleb macOS a místních souborů s požadavky. Požadavky jsou administrátorsky vynucené kontroly, které uživatelé nemohou obejít. Spravované předvolby macOS a místní soubory s požadavky nám umožňují zachovat konzistentní základ a zároveň testovat různé konfigurace podle týmu, skupiny uživatelů nebo prostředí. Tyto konfigurace se uplatňují napříč místními rozhraními Codexu, včetně desktopové aplikace, CLI a rozšíření pro IDE.

Telemetrie nativní pro agenta a auditní stopy

Kontrola je jen polovina práce. Jakmile jsou agenti nasazeni, bezpečnostní týmy potřebují přehled o tom, co tito agenti dělají a proč. Tradiční bezpečnostní logy jsou při sledování akcí provedených Codexem stále užitečné, ale většinou odpovídají jen na to, co se stalo: byl spuštěn proces, změnil se soubor, byl učiněn pokus o síťové připojení. Obráncům pak stále zbývá zjistit, proč Codex něco udělal nebo jaký byl záměr uživatele.

Codex může bezpečnostním týmům poskytnout pohled více zohledňující agenty. Codex podporuje export logů OpenTelemetry pro různé události Codexu, jako jsou uživatelské prompty, rozhodnutí o schválení nástrojů, výsledky spuštění nástrojů, používání serveru MCP a události povolení nebo zamítnutí síťovým proxy. Logy aktivit Codexu jsou také dostupné prostřednictvím platformy OpenAI Compliance pro zákazníky Enterprise a Edu.

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"

V OpenAI používáme logy Codexu spolu s naším agentem pro bezpečnostní třídění poháněným AI. Když upozornění koncového bodu říká, že Codex udělal něco neobvyklého, nástroj zabezpečení koncového bodu nám sdělí, že došlo k podezřelé události. Logy Codexu pak pomáhají vysvětlit okolní záměr uživatele a agenta. Náš agent pro bezpečnostní třídění využívající AI používá logy Codexu ke kontrole původního požadavku, aktivity nástrojů, rozhodnutí o schválení, výsledků nástrojů a všech relevantních rozhodnutí síťových politik nebo blokací. Agent pro bezpečnostní třídění využívající AI předkládá svou analýzu našemu bezpečnostnímu týmu k přezkoumání, aby bylo možné rozlišit mezi očekávaným chováním agenta, neškodnými chybami a aktivitou, která skutečně vyžaduje eskalaci.

Stejnou telemetrii používáme i provozně. Tyto logy používáme k pochopení toho, jak se mění interní adopce, které nástroje a servery MCP se používají, jak často síťový sandbox blokuje nebo vyžaduje potvrzení a kde je ještě potřeba vyladit zavádění. Tyto logy OpenTelemetry lze centralizovat v systémech SIEM a systémech pro logování souladu.

Budoucnost

Jak se agenti pro kódování, jako je Codex, začleňují do vývojových pracovních postupů, bezpečnostní týmy potřebují nástroje navržené přímo pro řízení této změny. Codex poskytuje rozhraní pro řízení, správu konfigurace, sandboxing a podrobnou telemetrii zohledňující agenty potřebnou k zajištění bezpečného zavedení. S těmito schopnostmi mohou bezpečnostní týmy povolit Codex s větší jistotou a vyvážit produktivitu vývojářů s přehledem a řízením, které vyžaduje podnikové zabezpečení. Více informací o konfiguraci Codex najdete zde(otevře se v novém okně) a o Compliance API zde(otevře se v novém okně).

Autor

OpenAI