Безопасное использование Codex в OpenAI

Обзор элементов управления, ограничений и телеметрии, которые OpenAI использует для регулирования работы агентов-программистов в реальных рабочих процессах.
По мере того как системы искусственного интеллекта становятся все более функциональными, они все чаще действуют от имени пользователей. Агентские системы программирования способны автономно проверять репозитории, выполнять команды и взаимодействовать с инструментами разработки. Это задачи, которые раньше требовали непосредственного участия человека.
Вместе с Codex мы разработали эти возможности в сочетании с элементами управления, необходимыми организациям для безопасного развертывания. Командам безопасности нужны способы регулировать работу агентов: к чему они имеют доступ, когда требуется одобрение человека, с какими системами они могут взаимодействовать и какая телеметрия доступна для объяснения их поведения.
В OpenAI мы развертываем Codex с несколькими четкими целями: удерживать агента в рамках четких технических границ, позволять разработчикам быстро выполнять действия с низким уровнем риска и делать действия с более высоким уровнем риска явными. Мы также сохраняем специализированную агентскую телеметрию, чтобы понимать действия агента и проводить их аудиты. На практике это означает управляемую конфигурацию, ограниченное выполнение, сетевые политики и журналы уровня агента.
Управление работой Codex
Мы внедряем Codex, руководствуясь простым принципом: система должна быть производительной в рамках ограниченной среды, повседневные действия с низким уровнем риска не должны встречать препятствий, а более рискованные шаги должны приостанавливаться для проверки.
Песочница и подтверждения
Подтверждения и песочница работают в паре. Песочница определяет технические границы выполнения, включая области, куда Codex может выполнять запись, доступ к сети и защищенные пути. Политика подтверждений определяет, когда Codex должен запрашивать разрешение на выполнение действия — например, если ему нужно сделать что-то за пределами песочницы. Пользователи могут подтвердить действие единоразово или одобрить данный тип действий для текущего сеанса.
Для запросов, выходящих за рамки песочницы, мы используем режим автоматической проверки — функцию, которая при активации автоматически одобряет определенные типы запросов, снижая частоту, с которой пользователям приходится прерываться для подтверждения действий Codex. Codex отправляет планируемое действие и недавний контекст субагенту автопроверки, который может автоматически одобрять действия с низким уровнем риска (либо действия с высоким риском при достаточных полномочиях пользователя), избавляя человека от лишних прерываний. Это позволяет Codex продолжать выполнение рутинных задач, останавливаясь лишь при возникновении повышенных рисков или действий с непредвиденными последствиями.
TOML
1# config.toml2
3# Turn on auto_review4approvals_reviewer = "auto_review" 5# Add known development directories to the sandbox automatically6sandbox_workspace_write.writable_roots = ["~/development"] 7
8# requirements.toml9
10# Require Codex to operate inside the sandbox11allowed_sandbox_modes = ["read-only", "workspace-write"] Доступ к сети
Мы не запускаем Codex с неограниченным исходящим доступом. Наша управляемая сетевая политика разрешает соединения с ожидаемыми адресами, блокирует нежелательные направления и требует подтверждения для незнакомых доменов. Это позволяет Codex выполнять стандартные и проверенные рабочие процессы без предоставления ему широкого сетевого доступа.
TOML
1# requirements.toml2
3# Ensure web fetch only comes from OpenAI's cache4allowed_web_search_modes = ["cached"] 5
6[experimental_network]7# Turn on Network Proxy8enabled = true9# Allow Codex to interact with localhost10allow_local_binding = true 11# Block all requests to this domain12denied_domains = ["pastebin.com"] 13# Auto-allow requests to these domains14allowed_domains = ["login.microsoftonline.com", "*.openai.com"]Идентификация и учетные данные
Мы также управляем процедурой аутентификации Codex. Учетные данные OAuth для CLI и MCP хранятся в защищенном хранилище ключей операционной системы, вход принудительно осуществляется через ChatGPT, а доступ привязан к нашему корпоративному рабочему пространству ChatGPT. Это позволяет удерживать использование Codex в рамках политик нашего рабочего пространства и отображать активность Codex в платформе журналов соответствия (Compliance Logs Platform) ChatGPT для корпоративных клиентов.
TOML
1# config.toml2
3# Store CLI Auth Creds in OS Keychain4cli_auth_credentials_store = "keyring" 5# Store MCP Creds in OS Keychain6mcp_oauth_credentials_store = "keyring" 7# Require Auth via ChatGPT8forced_login_method = "chatgpt" 9# Require Auth to Specific ChatGPT Workspace10forced_chatgpt_workspace_id = ""Правила
Мы используем правила, чтобы Codex не относился ко всем командам оболочки как к одинаково безопасным. Распространенные безобидные команды, которые инженеры используют в повседневной разработке, разрешены без подтверждения вне песочницы, в то время как специфические опасные команды могут быть заблокированы или потребовать утверждения. Это позволяет Codex быстро справляться с обычными инженерными задачами, одновременно принудительно запрашивая проверку или блокируя паттерны, выполнение которых за пределами песочницы нежелательно.
Starlark
1# default.rules2
3prefix_rule(4 pattern = ["gh", "pr", ["view", "list"]],5 decision = "allow",6 justification = "Allows read-only GitHub PR inspection via gh CLI.",7)8prefix_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 для различных событий, таких как пользовательские запросы, решения об утверждении инструментов, результаты выполнения инструментов, использование серверов MCP, а также события разрешения или блокировки сетевого прокси. Журналы активности Codex также доступны через платформу соответствия OpenAI (OpenAI Compliance Platform) для корпоративных и образовательных клиентов.
TOML
1# config.toml2
3[otel]4log_user_prompt = true5environment = "prod"6
7[otel.exporter.otlp-http]8endpoint = "http://localhost:14318/v1/logs"9protocol = "binary"В OpenAI мы используем журналы Codex в сочетании с нашим агентом триажа безопасности на базе искусственного интеллекта. Когда оповещение конечной точки сообщает, что Codex сделал что-то необычное, инструмент безопасности конечной точки фиксирует подозрительное событие. После этого журналы Codex помогают объяснить сопутствующие намерения пользователя и агента. Наш ИИ-агент триажа безопасности использует журналы Codex для проверки исходного запроса, активности инструментов, решений об утверждении, результатов работы инструментов, а также любых связанных решений или блокировок сетевой политики. ИИ-агент безопасности передает результаты своего анализа нашему отделу безопасности для проверки, чтобы разграничить ожидаемое поведение агента, доброкачественные ошибки и активность, действительно требующую эскалации.
Мы также используем эту телеметрию в операционной деятельности. Мы анализируем эти журналы, чтобы понимать, как меняется уровень внутреннего внедрения, какие инструменты и серверы MCP используются, как часто сетевая песочница выполняет блокировки или выдает запросы на подтверждение, и в каких областях процесс внедрения все еще требует доработки. Эти журналы OpenTelemetry могут быть централизованы в системах SIEM и ведения журналов соответствия.
Взгляд в будущее
По мере того как такие агенты-программисты, как Codex, интегрируются в рабочие процессы разработки, командам безопасности требуются инструменты, специально предназначенные для управления этим переходом. Codex предоставляет интерфейсы управления, управление конфигурацией, песочницу и подробную телеметрию с учетом специфики агентов, необходимые для безопасного внедрения. Имея в распоряжении эти возможности, команды безопасности могут с большей уверенностью внедрять Codex, соблюдая баланс между производительностью разработчиков и видимостью с контролем, которые требуются для корпоративной безопасности. Более подробную информацию о настройке Codex можно найти здесь, а информацию о Compliance API — здесь.
Автор
Полный текст статьи читайте на OpenAI
