Безопасность и корпоративное управление Codex

Codex предоставляет многоуровневые механизмы безопасности и функции корпоративного управления для обеспечения безопасности данных и поддержки командной работы.


Обзор механизмов безопасности

Архитектура безопасности Codex разделена на несколько уровней:

УровеньМеханизмФункция
Изоляция песочницыРежим песочницыОграничение области доступа к файлам и командам
Политики подтвержденияПолитика одобренияУправление подтверждением перед выполнением операции
Движок правилПравилаОпределить разрешения на выполнение команд
Управление сетьюНастройки доступа к сетиОграничить доступ к внешней сети
Защита данныхКорпоративные функцииЖурналы аудита, резидентность данных

Режим песочницы

Песочница — основной механизм безопасности Codex, ограничивающий область работы Агента.

Три режима песочницы

ModeИзменение файловВыполнение командДоступ к сетиПрименимые сценарии
read-onlyЗапретитьЗапретитьЗапретитьПроверка кода, анализ
workspace-writeТолько рабочая областьРазрешеноЗапретитьЕжедневная разработка (рекомендуется)
danger-full-accessРазрешеноРазрешеноРазрешеноОсобые сценарии (использовать с осторожностью)

Установить режим песочницы

Конфигурация песочницы

# Указано в CLI
codex --sandbox read-only
codex --sandbox workspace-write
codex --sandbox danger-full-access

# Файл конфигурации
[mycode4 type="toml"]
# ~/.codex/config.toml
sandbox = "workspace-write"
[/mycode4]

Границы песочницы

  • Границы рабочего пространства: режим workspace-write позволяет изменять файлы только внутри каталога проекта
  • Границы команд: read-only запрещает любое выполнение команд
  • Границы сети: по умолчанию доступ к сети на этапе Agent запрещён

Рекомендуется по умолчанию использовать режим workspace-write, а danger-full-access применять только при необходимости.


Политика одобрения

Политики одобрения управляют поведением подтверждения перед выполнением операций Codex.

Четыре режима одобрения

ModeПоведениеУровень риска
suggestТолько предлагать рекомендации, не выполнять никаких операцийМинимум
interactiveЗапрашивать подтверждение перед чувствительными операциямиНизкая
auto-editАвтоматически редактировать файлы, для команд требуется подтверждениеСредняя
full-autoАвтоматически выполнять все операцииВысокая

Установить политику подтверждения

Конфигурация подтверждения

# Обозначение CLI
codex --approval-mode interactive

# Переключение во время сеанса
/approval suggest
/approval auto-edit

# Файл конфигурации
[mycode4 type="toml"]
approval_policy = "interactive"
[/mycode4]

Движок правил

Правила используют язык Starlark для определения политик выполнения команд.

Типы правил

ПравилаОписание
prefix_ruleСопоставление префикса команды
glob_ruleСопоставление шаблонов путей к файлам

Типы решений

Принятие решенийПоведение
allowАвтоматически одобрять выполнение
promptЗапросить у пользователя подтверждение
forbiddenЗапретить выполнение

Примеры правил

Определения правил

# ~/.codex/rules/default.rules

# Разрешить команды Git
prefix_rule(
    pattern = ["git"],
    decision = "allow",
    justification = "Команды Git безопасны для контроля версий"
)

# Разрешить npm install
prefix_rule(
    pattern = ["npm", "install"],
    decision = "allow",
    justification = "Ожидается установка пакета"
)

# Запретить удаление корневого каталога
prefix_rule(
    pattern = ["rm", "-rf", "/"],
    decision = "forbidden",
    justification = "Предотвратить повреждение системы"
)

# Спрашивать о командах sudo
prefix_rule(
    pattern = ["sudo"],
    decision = "prompt",
    justification = "Повышенные привилегии требуют проверки"
)

Управление доступом к сети

Управляет возможностями Codex по доступу к сети для предотвращения утечки данных.

Управление облачной сетью

ЭтапДоступ по умолчаниюОписание
Скрипты настройкиРазрешеноНеобходимо скачать зависимости
Выполнение агентаЗапретитьПо умолчанию отключено, можно включить

Белый список доменов

Конфигурация сети

# Предустановленный белый список
domain_allowlist = "common-dependencies"
# Включает: github.com, npmjs.com, pypi.org

# Пользовательские домены
domain_allowlist = [
    "github.com",
    "api.mycompany.com"
]

# Ограничить HTTP-методы
allowed_methods = ["GET", "HEAD", "OPTIONS"]

Риски безопасности

Риски включения сетевого доступа Agent:

  • Инъекция промпта: получение инструкций с вредоносных веб-страниц
  • Утечка данных: отправка кода или секретов наружу
  • Вредоносные зависимости: загрузка пакетов, содержащих вредоносный код

Включайте сетевой доступ Agent только при необходимости и ограничивайте его с помощью белого списка доменов.


Корпоративные функции управления

Тариф Enterprise предоставляет функции безопасности и управления корпоративного уровня.

Обзор корпоративных функций

ОсобенностиОписание
SCIMАвтоматическая подготовка пользователей
SAML SSOИнтеграция единого входа
MFAМногофакторная аутентификация
EKMКорпоративное управление ключами
RBACУправление доступом на основе ролей
Журналы аудитаПолные журналы операций
Резидентность данныхУкажите регион хранения данных

Управляемая конфигурация

Администраторы предприятия могут распространять унифицированные конфигурации.

Приоритет управляемой конфигурации

Порядок слияния конфигураций:

  1. Управляемая конфигурация (корпоративное развёртывание) - наивысший приоритет
  2. Конфигурация проекта (.codex/config.toml)
  3. Пользовательская конфигурация (~/.codex/config.toml) — наименьший приоритет

Пример управляемой конфигурации

Управляемая конфигурация предприятия

# Управляемая конфигурация, выпущенная предприятием

# Обязательный режим песочницы
sandbox = "workspace-write"

# Обязательная политика утверждения
approval_policy = "interactive"

# Отключённые модели
disabled_models = ["gpt-5.4-mini"]

# Белый список сетей
domain_allowlist = ["github.com", "internal-api.company.com"]

# Конфигурация аудита
audit_logging = true

Журналы аудита

Тариф Enterprise предоставляет полноценную функциональность журнала аудита.

Содержимое журнала

Типы записейОписание
Записи сессийСоздание, изменение и удаление каждой сессии
Вызовы инструментовПодробная информация о чтении/записи файлов и выполнении команд
Вызовы моделейВызовы API, использование токенов
Действия пользователяАутентификация пользователей, изменения разрешений

Доступ к журналам

Журналы аудита

# Доступ к журналам аудита через корпоративную панель управления

# Экспортируется как:
- Формат JSON
- Формат CSV
- Формат интеграции с SIEM-системой

Резидентность данных

Предприятие может указать регионы хранения данных.

Параметры резидентности

ОбластьОписание
СШАРегион по умолчанию
ЕвропаСоответствие GDPR
Другие регионыНастройка в соответствии с потребностями предприятия

Для настройки параметров резидентности данных необходимо обратиться в отдел продаж.


Управление командой

Подготовка пользователей

Конфигурация SCIM

# Автоматическое управление пользователями через IdP (например, Okta, Azure AD)

# Поддерживаемые операции:
- Автоматическое создание пользователей
- Автоматическое обновление атрибутов пользователей
- Автоматически отключать/Удалять пользователей

Разрешения роли

РольРазрешения
АдминистраторПолные административные разрешения
УчастникСтандартные разрешения на использование
НаблюдательРазрешения только для чтения

Лучшие практики безопасности

Ежедневное использование

  • По умолчанию использовать режим песочницы workspace-write.
  • Для чувствительных операций используется режим интерактивного подтверждения
  • Регулярно проверяйте конфигурацию Rules
  • Ключи API, хранящиеся как Secrets

Корпоративное развертывание

  • Включение SAML SSO и MFA
  • Настройка управляемой конфигурации для единых политик
  • Включить ведение журнала аудита
  • Настройка размещения данных с учетом требований соответствия
  • Используйте белый список доменов для ограничения сетевого доступа

ЧАВО

Вопрос: Как запретить Codex удалять важные файлы?

Используйте режим песочницы read-only или workspace-write и добавьте Rules для запрета команд удаления.

Вопрос: как предприятия настраивают единообразно?

Используя функцию управляемой конфигурации, администраторы предприятия могут развертывать единые конфигурации, которые переопределяют пользовательские настройки.

Вопрос: какая информация включается в журналы аудита?

Содержит полную запись всех сессий, вызовов инструментов, вызовов модели и операций пользователя.

Вопрос: Как обрабатывать конфиденциальные данные?

Используйте Secrets для хранения конфиденциальной информации; они доступны только в скриптах настройки и автоматически удаляются на этапе Agent.

Другие расширения