Անցնել հիմնական բովանդակությանը
OpenAI

OpenAI-ում Codex-ի անվտանգ գործարկումը

Հայացք վերահսկման միջոցներին, սահմաններին և տելեմետրիային, որոնք OpenAI-ն օգտագործում է իրական աշխատանքային հոսքերում կոդավորման ագենտները կառավարելու համար։

Բեռնվում է…

Քանի որ ԱԲ համակարգերը դառնում են ավելի կարողունակ, դրանք մեծապես գործում են օգտատերերի անունից։ Կոդավորման ագենտները կարող են ինքնավար կերպով վերանայել ռեպոզիտորիաները, գործարկել հրամաններ և փոխգործակցել մշակման գործիքների հետ։ Սրանք առաջադրանքներ են, որոնք նախկինում պահանջում էին մարդու անմիջական կատարում։

Codex-ի հետ մենք այս հնարավորությունները նախագծել ենք այն վերահսկման միջոցների հետ միասին, որոնք կազմակերպություններին անհրաժեշտ են անվտանգ ներդրման համար։ Անվտանգության թիմերին պետք են միջոցներ՝ կառավարելու, թե ինչպես են գործում գործակալները՝ ինչի հասանելիություն կարող են ունենալ, երբ է պահանջվում մարդու հաստատումը, որ համակարգերի հետ կարող են փոխգործակցել, և ինչ տելեմետրիա գոյություն ունի նրանց վարքը բացատրելու համար։

OpenAI-ում մենք Codex-ը ներդնում ենք մի քանի հստակ նպատակներով՝ պահել գործակալին հստակ տեխնիկական սահմաններում, թույլ տալ մշակողներին արագ առաջ շարժվել ցածր ռիսկային գործողությունների դեպքում և ավելի բարձր ռիսկային գործողությունները դարձնել ակնհայտ։ Մենք նաև պահպանում ենք գործակալին հատուկ տելեմետրիան, որպեսզի կարողանանք հասկանալ և աուդիտ անել, թե ինչ է արել գործակալը։ Գործնականում դա նշանակում է կառավարվող կարգավորում, սահմանափակված կատարում, ցանցային քաղաքականություններ և գործակալին հատուկ մատյաններ։

Codex-ի աշխատանքի վերահսկում

Մենք Codex-ը ներդնում ենք մի պարզ սկզբունքով․ այն պետք է արդյունավետ լինի սահմանափակ միջավայրում, ցածր ռիսկային առօրյա գործողությունները պետք է լինեն առանց ավելորդ խոչընդոտների, իսկ ավելի բարձր ռիսկային գործողությունները պետք է կանգ առնեն վերանայման համար։

Սենդբոքսինգ և հաստատումներ

Հաստատումներն ու սենդբոքսինգը աշխատում են միասին։ Սենդբոքսը սահմանում է տեխնիկական կատարման սահմանը, ներառյալ՝ որտեղ կարող է Codex-ը գրել, արդյոք այն կարող է հասնել ցանցին, և որ ուղիներն են մնում պաշտպանված։ Հաստատման քաղաքականությունը որոշում է, թե երբ Codex-ը պետք է հարցնի որևէ գործողություն կատարելու համար, օրինակ՝ երբ պետք է անի ինչ-որ բան սենդբոքսից դուրս։ Օգտատերերը կարող են հաստատել գործողությունը մեկ անգամ կամ տվյալ նստաշրջանի համար հաստատել այդ տեսակի գործողությունը։

Sանդբոքսի սահմանը հատող հարցումների համար մենք օգտագործում ենք Ավտոմատ կերպով վերանայման ռեժիմը(բացվում է նոր պատուհանում), որը մի հնարավորություն է, և միացված լինելու դեպքում ավտոմատ կերպով հաստատում է որոշ տեսակի հարցումներ՝ նվազեցնելու օգտատերերի կողմից կանգ առնելու և Codex-ի գործողությունները հաստատելու հաճախականությունը։ Codex-ը պլանավորված գործողությունն ու վերջին համատեքստն ուղարկում է ավտոմատ հաստատման ենթագործակալին, որը կարող է ավտոմատ կերպով հաստատել ցածր ռիսկի գործողությունները կամ բարձր ռիսկի գործողությունները՝ օգտատիրոջ լիազորման բավարար մակարդակի դեպքում՝ օգտատիրոջն ընդհատելու փոխարեն։ Դա թույլ է տալիս Codex-ին շարունակել սովորական աշխատանքը՝ միաժամանակ կանգ առնելով ավելի բարձր ռիսկային կամ ոչ ցանկալի հետևանքներ ունեցող գործողությունների դեպքում։

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

Ցանցային հասանելիություն

Մենք Codex-ը չենք գործարկում բաց ավարտով ելքային հասանելիությամբ։ Մեր կառավարվող ցանցային քաղաքականությունը թույլ է տալիս սպասվող նշանակետերը, արգելափակում է այն նշանակետերը, որոնց չենք ցանկանում, որ Codex-ը հասնի, և պահանջում է հաստատում անծանոթ դոմենների համար։ Սա թույլ է տալիս Codex-ին ավարտել սովորական, հայտնի և անվտանգ աշխատանքային հոսքերը՝ առանց նրան լայն ցանցային հասանելիություն տալու։

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

Ինքնություն և մուտքի տվյալներ

Մենք նաև կառավարում ենք, թե ինչպես է Codex-ը նույնականացվում։ CLI և MCP OAuth մուտքի տվյալները պահվում են ՕՀ-ի անվտանգ keyring-ում, մուտքը պարտադրվում է ChatGPT‑ի միջոցով, իսկ հասանելիությունը կապվում է մեր ChatGPT ձեռնարկության աշխատատարածքին։ Դա Codex-ի օգտագործումը կապում է մեր աշխատատարածքի մակարդակի վերահսկման միջոցներին և Codex-ի գործունեությունը հասանելի է դարձնում ChatGPT‑ի համապատասխանության գրանցամատյանների հարթակում՝ մեր ձեռնարկության աշխատատարածքի համար։

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

Կանոններ

Մենք օգտագործում ենք կանոններ, որպեսզի Codex-ը յուրաքանչյուր shell հրաման հավասարապես անվտանգ չհամարի։ Սովորական անվնաս հրամանները, որոնք ինժեներներն օգտագործում են առօրյա մշակման ընթացքում, թույլատրվում են առանց հաստատման սենդբոքսից դուրս, իսկ որոշ վտանգավոր հրամաններ կարող են արգելափակվել կամ պահանջել հաստատում։ Դա թույլ է տալիս Codex-ին արագ անցնել սովորական ինժեներական առաջադրանքների միջով՝ միաժամանակ պարտադրելով վերանայում կամ արգելափակելով այն օրինաչափությունները, որոնք չենք ցանկանում գործարկել սենդբոքսից դուրս։

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
)

Կառավարվող կազմաձևեր

Մենք այս քաղաքականությունը կիրառում ենք ամպից կառավարվող պահանջների, macOS-ի կառավարվող նախընտրությունների և տեղային պահանջների ֆայլերի համակցությամբ։ Պահանջները ադմինիստրատորի կողմից պարտադրվող սահմանափակումներ են, որոնք օգտատերերը չեն կարող փոփոխել կամ շրջանցել։ macOS-ի կառավարվող նախընտրությունները և տեղային պահանջների ֆայլերը մեզ թույլ են տալիս պահպանել միասնական բազային կազմաձև՝ միաժամանակ փորձարկելով տարբեր կարգավորումներ՝ ըստ թիմի, օգտատերերի խմբի կամ միջավայրի։ Այս կարգավորումները կիրառվում են Codex-ի բոլոր տեղային միջավայրերում, ներառյալ աշխատասեղանի հավելվածը, CLI-ն և IDE ընդլայնումը։

Գործակալին հատուկ տելեմետրիա և աուդիտի հետքեր

Վերահսկումը գործի միայն կեսն է։ Երբ գործակալները ներդրված են, անվտանգության թիմերին պետք է տեսանելիություն, թե ինչ են անում այդ ագենտները և ինչու։ Անվտանգության ավանդական մատյանները դեռ օգտակար են Codex-ի կատարած գործողությունները դիտարկելիս, բայց դրանք հիմնականում պատասխանում են՝ ինչ է տեղի ունեցել․ գործընթաց է սկսվել, ֆայլ է փոխվել, ցանցային կապի փորձ է արվել։ Պաշտպաններին դեռ մնում է հասկանալ, թե ինչու է Codex-ը որևէ բան արել, կամ որն էր օգտատիրոջ մտադրությունը։

Codex-ը կարող է անվտանգության թիմերին տալ ավելի գործակալակենտրոն պատկերացում։ Codex-ը աջակցում է OpenTelemetry մատյանների արտահանմանը Codex-ի տարբեր իրադարձությունների համար, ինչպիսիք են օգտատերերի հարցումները, գործիքի հաստատման որոշումները, գործիքի կատարման արդյունքները, MCP սերվերի օգտագործումը և ցանցային proxy-ի թույլատրման կամ մերժման իրադարձությունները։ Codex-ի գործունեության մատյանները հասանելի են նաև OpenAI-ի համապատասխանության հարթակի միջոցով Enterprise և 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"

OpenAI-ում մենք Codex-ի մատյաններն օգտագործում ենք մեր ԱԲ-ով աշխատող անվտանգության տրիաժի ագենտի հետ միասին։ Երբ վերջնակետի ազդանշանը ասում է, որ Codex-ը անսովոր բան է արել, վերջնակետի անվտանգության գործիքը մեզ ասում է, որ տեղի է ունեցել կասկածելի իրադարձություն։ Այնուհետև Codex-ի մատյաններն օգնում են բացատրել օգտատիրոջ և ագենտի հարակից մտադրությունը։ Մեր ԱԲ անվտանգության տրիաժի գործակալը օգտագործում է Codex-ի մատյանները՝ ստուգելու սկզբնական հարցումը, գործիքի ակտիվությունը, հաստատման որոշումները, գործիքի արդյունքները և ցանկացած համապատասխան ցանցային քաղաքականության որոշում կամ արգելափակում։ ԱԲ անվտանգության տրիաժի գործակալը իր վերլուծությունը ներկայացնում է մեր անվտանգության թիմին վերանայման համար՝ տարբերակելու սպասվող ագենտային վարքագիծը, անվնաս սխալները և այն գործունեությունը, որն իսկապես պահանջում է էսկալացիա։

Մենք նույն տելեմետրիան օգտագործում ենք նաև գործառնական նպատակներով։ Մենք օգտագործում ենք այս մատյանները՝ հասկանալու, թե ինչպես է փոխվում ներքին ընդունումը, որ գործիքներն ու MCP սերվերներն են օգտագործվում, որքան հաճախ է ցանցային սենդբոքսը արգելափակում կամ հուշում, և որտեղ է ներդրումը դեռ ճշգրտման կարիք ունենում։ Այս OpenTelemetry մատյանները կարող են կենտրոնացվել SIEM և համապատասխանության մատյանագրման համակարգերում։

Նայելով դեպի ապագա

Քանի որ Codex-ի նման կոդավորման գործակալները ինտեգրվում են մշակման աշխատանքային հոսքերին, անվտանգության թիմերին անհրաժեշտ են հատուկ այս անցումը կառավարելու համար նախատեսված գործիքներ։ Codex-ը տրամադրում է վերահսկման միջոցներ, կազմաձևումների կառավարում, սանդբոքսինգ և գործակալակենտրոն մանրամասն տելեմետրիա, որոնք անհրաժեշտ են անվտանգ ընդունումն ապահովելու համար։ Այս հնարավորությունների առկայության դեպքում անվտանգության թիմերը կարող են Codex-ը ակտիվացնել ավելի մեծ վստահությամբ՝ հավասարակշռելով մշակողների արդյունավետությունը ձեռնարկությունների անվտանգության համար պահանջվող տեսանելիության և վերահսկման հետ։ Codex-ի կազմաձևման մասին ավելի շատ տեղեկություն կարելի է գտնել այստեղ(բացվում է նոր պատուհանում), իսկ Compliance API-ի մասին՝ այստեղ(բացվում է նոր պատուհանում)։

Հեղինակ

OpenAI