Предупреждение OpenAI: полный доступ к Codex может привести к потере данных – как безопасно использовать песочницу
Программный помощник OpenAI Codex может читать файлы, редактировать репозитории кода, запускать команды и взаимодействовать с инструментами разработки на машине пользователя. Эти функции делают его очень полезным для длительных инженерных задач, но также означают, что его безопасность во многом зависит от установленных пользователем разрешений и границ песочницы. По данным AIBase, OpenAI расследовала небольшое количество случаев, когда Codex удалял файлы из домашнего каталога пользователя. В отчете отмечается, что затронутые сеансы работы находились в

OpenAI предупреждает: полный доступ Codex может привести к потере данных
Введение
Кодовый агент Codex от OpenAI способен читать файлы, редактировать репозитории, выполнять команды и взаимодействовать с инструментами разработки на машине пользователя. Эти функции делают его пригодным для долгосрочной инженерной работы, однако одновременно означают, что его безопасность во многом зависит от выбранных пользователем разрешений и границ изолированной среды.
AIBase сообщает, что OpenAI расследовала несколько случаев удаления файлов из домашней директории пользователя агентом Codex. Согласно сообщению, затронутые сеансы выполнялись с включенным полным доступом и без защиты изолированной среды.
Техническое объяснение, предоставленное AIBase, касается ошибочного взаимодействия логики временных каталогов с переменной окружения $HOME. OpenAI не публиковала публичного пост-мортема, подтверждающего точный процесс.
То, что OpenAI подтвердила публично, является более общим и всё ещё важным: официальная документация Codex предупреждает, что полный доступ снимает границы проектного каталога и может привести к непреднамеренным деструктивным операциям, вызывающим потерю данных.
Следовательно, прямая рекомендация такова: если только не требуется неограниченный доступ, защищённый дополнительным уровнем изоляции, Codex следует ограничивать изолированной рабочей областью.

В чём заключается описанная проблема удаления файлов
Предоставленный отчёт AIBase описывает проблему как возникающую при определённой комбинации настроек:
- Codex предоставлен полный доступ к локальной машине.
- Границы изолированной среды отключены.
- Механизмы одобрения или автоматической проверки не активированы.
- Задача пыталась создать или использовать временный рабочий каталог.
- Ошибка, связанная с переменной окружения
$HOME, предположительно привела к тому, что домашняя директория пользователя была воспринята как цель для удаления.
В macOS и Linux $HOME обычно указывает на домашнюю директорию текущего пользователя. Эта директория может содержать:
- Папки «Рабочий стол» и «Документы».
- Репозитории исходного кода.
- SSH-конфигурацию и ключи.
- Настройки приложений.
- Конфигурационные файлы оболочки.
- Локальные базы данных.
- Личные файлы.
- Папки облачной синхронизации.
Таким образом, рекурсивное удаление по ошибочному пути может затронуть гораздо больше, чем просто текущий активный проект.
О чём предупреждает OpenAI официально
Текущая документация OpenAI по изолированной среде Windows указывает, что при работе Codex с полным доступом агент больше не ограничен каталогом проекта. Он может выполнять непреднамеренные деструктивные операции, приводящие к потере данных.
Документация OpenAI по разрешениям определяет три встроенных профиля разрешений:
| Профиль разрешений | Поведение файловой системы | Сценарий применения |
|---|---|---|
:read-only |
Локальное выполнение команд остаётся только для чтения | Проверка репозитория, планирование и рецензирование |
:workspace |
Разрешена запись в корень активного рабочего пространства и системный временный каталог | Обычное кодирование и обслуживание репозитория |
:danger-full-access |
Снимает ограничения локальной изолированной среды | Только когда неограниченный доступ намеренно и отдельно изолирован |
В официальной документации также описывается, что следующий режим является высокорискованным:
codex --dangerously-bypass-approvals-and-sandbox
Этого же поведения можно достичь с помощью псевдонима:
codex --yolo
Эти команды одновременно отключают изолированную среду и запросы на одобрение. Они перечислены здесь, чтобы пользователи могли распознать и избежать этой опасной конфигурации, а не для рекомендации к использованию.
OpenAI помечает этот режим как «без изолированной среды, без одобрения» и заявляет, что он не рекомендуется для нормального использования.
Почему полный доступ кардинально меняет уровень риска
Кодовые агенты не просто предлагают команды. В режиме локального агента они могут напрямую выполнять эти команды.
При использовании изолированной среды рабочего пространства операционная система и политики Codex ограничивают область записи команд. Ошибочная команда может повредить текущий проект, но не должна произвольно изменять посторонние каталоги.
При включении полного доступа технические границы исчезают. Модель и её Shell-команды потенциально могут получить доступ к:
- Всей домашней директории.
- Другим репозиториям кода.
- Подключённым дискам.
- Папкам облачной синхронизации.
- Файлам с учётными данными.
- Конфигурации менеджера пакетов.
- Локальным данным приложений.
- Внешним инструментам, доступным учётной записи пользователя.
Вот почему только формулировка подсказки недостаточна в качестве меры контроля. Сказать агенту «редактируй только эту папку» — это поведенческая инструкция, в то время как изолированная среда является принудительной границей.
OpenAI рассматривает изолированную среду и одобрение как взаимодополняющие меры контроля:
- Изолированная среда определяет, к чему агент имеет технический доступ.
- Политика одобрения определяет, когда агент должен остановиться и запросить разрешение.
Удаление обоих элементов контроля создаёт конфигурацию наивысшего риска.
Запросы на одобрение и автоматическая проверка не заменяют изолированную среду
Запросы на одобрение могут выявить риски до выполнения опасной операции, но не заменяют изоляцию файловой системы.
Пользователь может одобрить ошибочную команду. Автоматический рецензент также может оценивать только операции, переданные через систему одобрения.
Документация OpenAI поясняет, что автоматическая проверка проводит анализ рисков для соответствующих запросов на одобрение, включая деструктивные операции, доступ к учётным данным, кражу данных и ослабление безопасности постоянного действия.
Типичная конфигурация автоматической проверки выглядит так:
approval_policy = "on-request"
approvals_reviewer = "auto_review"
Это позволяет уменьшить утомляемость от одобрений, сохраняя при этом слой проверки.
Однако, когда Codex запущен в режиме обхода одобрения и изолированной среды, рецензент может не иметь границ, которые можно было бы принудительно применять.
Более безопасные режимы:
- Оставить включённой изолированную среду рабочего пространства.
- Использовать одобрение по запросу или автоматическую проверку.
- Добавлять узкие исключения только при необходимости.
- Избегать предоставления неограниченного доступа на хост-машине.
Рекомендуемый режим по умолчанию от OpenAI
OpenAI рекомендует разные настройки по умолчанию в зависимости от того, находится ли рабочий каталог под контролем версий:
- Папка под контролем версий: Запись в рабочее пространство + одобрение по запросу.
- Папка не под контролем версий: Режим только для чтения.
Для обычного репозитория явная команда CLI выглядит так:
codex --sandbox workspace-write --ask-for-approval on-request
Для проверки файлов без их редактирования:
codex --sandbox read-only --ask-for-approval
Одобрение по запросу
Эти настройки ограничивают Codex определёнными границами выполнения, позволяя при этом пользователю одобрять особые операции.
OpenAI также задокументировала компромисс для автоматических задач. Можно отключить запросы на одобрение, оставив изолированную среду активной:
codex --sandbox workspace-write --ask-for-approval never
В этом режиме Codex будет стараться выполнять задачи в пределах ограничений рабочего пространства, не запрашивая разрешения на выход за их границы. Это гораздо безопаснее, чем одновременное отключение и одобрения, и изолированной среды.
Как отключить полный доступ в Codex
В настольном приложении ChatGPT, Codex CLI и интеграциях с IDE конкретные элементы управления незначительно различаются, но принцип един.
Шаг 1: Откройте управление разрешениями
В интерфейсе настольного приложения или IDE откройте селектор разрешений рядом с компоновщиком подсказок.
Выберите режим ограничения рабочего пространства или режим изолированной среды по умолчанию, а не полный доступ.
Шаг 2: При обычном кодировании используйте доступ к рабочему пространству
Выберите режим, который позволяет Codex записывать только в активный проект или корень рабочего пространства.
В CLI используйте:
codex --sandbox workspace-write --ask-for-approval on-request
Шаг 3: При предварительном просмотре используйте режим только для чтения
Открывая незнакомый репозиторий, сначала используйте:
codex --sandbox read-only --ask-for-approval on-request
Позвольте Codex сначала просмотреть код и предложить план, прежде чем предоставлять права на запись.
Шаг 4: Проверьте текущие границы
В Codex
В процессе настройки с помощью интерфейса состояния или разрешений укажите, какие каталоги считаются корневыми рабочими каталогами, доступными для записи.
Не предполагайте, что папка, отображаемая в редакторе, является единственным каталогом, доступным агенту.
Шаг 5: Оставьте включённым утверждение для выхода за пределы разрешённого
Для команд, требующих дополнительных прав доступа, используйте утверждение по запросу.
Чтобы снизить трение в рабочем процессе, можно рассмотреть возможность автоматической проверки, а не полной отмены утверждения.
Шаг 6: Перезапустите существующие сеансы с полным доступом
Изменение файла конфигурации может не ретроактивно ограничить уже запущенные процессы.
После изменения настроек:
- Остановите текущий сеанс Codex.
- Подтвердите конфигурацию.
- Перезапустите Codex из целевого каталога проекта.
- Перед продолжением работы повторно проверьте текущие разрешения.
Более безопасные настройки config.toml
Codex поддерживает конфигурацию по следующему пути:
~/.codex/config.toml
Для уже настроенной системы изолированной среды более безопасными настройками по умолчанию будут:
approval_policy = "on-request"
sandbox_mode = "workspace-write"
Более строгая конфигурация проверки:
approval_policy = "on-request"
sandbox_mode = "read-only"
Можно добавить автоматическую проверку без удаления изолированной среды:
approval_policy = "on-request"
sandbox_mode = "workspace-write"
approvals_reviewer = "auto_review"
OpenAI также документирует файл профилей разрешений как более новую бета-версию системы конфигурации. Простая конфигурация рабочей области:
default_permissions = ":workspace"
Конфигурация по умолчанию только для чтения:
default_permissions = ":read-only"
Предупреждение о конфигурации: OpenAI отмечает, что более новая система профилей разрешений несовместима со старой настройкой
sandbox_mode. Настраивайте только одну из этих систем.
Иное; ни в коем случае не помещайте оба метода в одну активную конфигурацию, ожидая их автоматического объединения.
Пример: Ограничение записи в рабочую область и запрет файлов .env
Для пользователей, тестирующих бета-версию системы профилей разрешений, OpenAI предлагает пользовательские политики, расширяющие встроенные границы рабочей области.
Файл конфигурации проекта может запретить доступ к файлам окружения, оставляя рабочую область доступной для записи:
default_permissions = "project-edit"
[permissions.project-edit]
extends = ":workspace"
[permissions.project-edit.filesystem.":workspace_roots"]
"**/*.env" = "deny"
[permissions.project-edit.network]
enabled = false
Эта политика:
- Оставляет обычные файлы проекта доступными для записи.
- Сохраняет встроенные защитные механизмы рабочей области.
- Запрещает доступ к соответствующим файлам
.env. - Отключает сетевой доступ для команд.
Для многих задач локального написания кода это лучшая отправная точка, чем предоставление широкого доступа ко всей машине.
Корпоративные меры контроля для блокировки полного доступа
Организации могут использовать управляемые требования, чтобы предотвратить выбор пользователями неограниченного режима изолированной среды.
OpenAI демонстрирует список разрешённого, подобный следующему:
allowed_sandbox_modes = ["read-only", "workspace-write"]
Это предотвращает появление полного доступа как доступного варианта изолированной среды в управляемой среде.
Более новая система профилей разрешений также может быть централизованно ограничена. Администраторы могут определять одобренные профили и исключать :danger-full-access из набора разрешённых.
Это полезно, поскольку политика безопасности не должна полностью полагаться на то, что каждый разработчик запомнит выбор правильного режима.
Более безопасный ежедневный рабочий процесс с кодом
Практический рабочий процесс позволяет сохранить большую часть скорости Codex, не раскрывая всю хост-систему.
1. Работайте в выделенном репозитории
Запускайте Codex из каталога проекта, а не из домашнего каталога или родительской папки, содержащей посторонние проекты.
Избегайте широких путей, таких как:
~
или:
/
в качестве активной рабочей области.
2. Используйте систему контроля версий перед делегированием
OpenAI рекомендует использовать функциональные ветки и поддерживать чистоту git status перед передачей работы Codex.
Простой процесс подготовки:
git status
git switch -c codex/название_задачи
git add -A
git commit -m "Точка сохранения перед задачей Codex"
Адаптируйте название ветки и сообщение коммита в соответствии с проектом.
3. Часто делайте коммиты
Небольшие коммиты облегчают проверку и откат отдельных изменений.
Не ждите окончания длительного автономного сеанса, чтобы создать первую восстанавливаемую точку сохранения.
4. Проверяйте команды и различия
Рассматривайте вывод Codex как запрос на слияние:
- Проверьте предложенные им команды.
- Просмотрите различия в файлах.
- Запустите тесты.
- Подтвердите пути изменений.
- Проверьте на предмет случайных удалений.
- Задокументируйте важные решения.
5. Используйте рабочее дерево или контейнер для рискованных задач
Для крупных рефакторингов, экспериментов с зависимостями, изменений системы сборки или задач по очистке дополнительно изолируйте агента.
Варианты включают:
- Рабочее дерево Git.
- Одноразовые виртуальные машины.
- Контейнеры разработки.
- Контейнеры Docker.
- Временные учётные записи разработчика с ограниченными правами.
OpenAI предоставляет пример безопасного контейнера разработки для случаев, когда контейнер предназначен для...
Внешние границы изоляции.
6. Храните резервные копии в недоступном для агента месте
Система контроля версий защищает отслеживаемые файлы репозитория, но не все файлы на компьютере.
Используйте системы резервного копирования, которые Codex не может изменить через ту же учётную запись пользователя или смонтированную файловую систему. Примеры включают офлайн-резервное копирование, неизменяемые снимки или удалённые службы резервного копирования с поддержкой истории версий.
Действия после случайного удаления
Когда файл только что удалён, последующие операции записи могут перезаписать восстанавливаемые блоки диска.
Примите следующие меры предосторожности:
- Немедленно остановите сеанс Codex.
- Остановите инструменты сборки, менеджеры пакетов, клиенты синхронизации и другие процессы, записывающие данные на затронутый диск.
- Не переустанавливайте программное обеспечение на затронутый диск.
- Проверьте историю Git, рабочее дерево, локальную историю редактора, снимки и историю версий в облаке.
- В первую очередь восстановите данные из заведомо исправной резервной копии.
- Для незаменимых данных перед повторными попытками самостоятельного восстановления рассмотрите возможность обращения к профессиональным службам восстановления данных.
Для отслеживаемого исходного кода начните с неразрушающей проверки:
git status
git diff
git log --oneline --all
Не запускайте разрушительные команды восстановления Git, пока не确认ите, какие файлы и коммиты всё ещё доступны.
Что OpenAI улучшает
AIBase сообщает, что OpenAI обновляет предупреждения о полном доступе и усиливает меры защиты, одновременно готовя более подробные отчёты об анализе инцидентов.
Текущая публичная документация OpenAI уже содержит явные предупреждения о том, что полный доступ может привести к потере данных, а также рекомендует использовать границы изолированной среды, строгую политику исключений, процессы утверждения, профили разрешений, контрольные точки системы контроля версий и изолированные среды разработки.
На момент написания статьи официального публичного отчёта о расследовании точного механизма удаления каталога $HOME не было.
Это означает, что пользователи должны полагаться на текущие доступные меры контроля, а не ждать будущих объяснений:
- Не включайте полный доступ по умолчанию.
- Сохраняйте границы проекта нетронутыми.
- Оставляйте утверждение для операций с повышенными правами.
- Используйте систему контроля версий и резервное копирование.
- Изолируйте высокорисковые автоматизированные операции.
Важные разграничения
Ошибки модели — не единственный риск
Деструктивное поведение может возникнуть на нескольких уровнях:
- Модель выбрала небезопасную команду.
- Переменная развернулась в неожиданный путь.
- Оболочка неправильно интерпретировала кавычки.
Скрипт очистки указывает на неверный каталог.
- Инструмент был запущен из неожиданной рабочей директории.
- Пользователь подтвердил команду без проверки.
- Песочница была отключена.
Следовательно, безопасность не может полагаться исключительно на точность модели.
Для большинства задач по кодированию полный доступ не требуется
Обычное редактирование, тестирование, поиск и выполнение локальных команд обычно могут выполняться в пределах рабочей области.
Когда задаче требуется дополнительный доступ к определённому каталогу или сетевому ресурсу, рекомендуется добавлять точные исключения, а не предоставлять доступ ко всей системе.
Автоматическая проверка снижает операционные барьеры, но не меняет последствий
Автоматическая проверка помогает классифицировать запросы на одобрение, но не может сделать неограниченное выполнение безопасным.
Песочница остаётся самым надёжным локальным механизмом контроля, так как она ограничивает возможные действия команды, даже если сама команда содержит ошибку.
Часто задаваемые вопросы
Может ли Codex
с моего компьютера?
Когда Codex имеет права на запись, он может редактировать и удалять файлы. В режиме рабочей области эти действия ограничены настроенным корневым каталогом для записи; в режиме полного доступа локальные ограничения песочницы снимаются, что увеличивает потенциальное влияние ошибочных команд.
Подтвердила ли OpenAI точную уязвимость удаления $HOME?
Предоставленный отчёт AIBase приписывает это объяснение расследованию OpenAI. Публичная документация OpenAI подтверждает более широкий риск потери данных при полном доступе, однако по состоянию на 17 июля 2026 года нет публичного технического анализа, подтверждающего точный механизм $HOME.
Какой режим разрешений Codex самый безопасный?
Если Codex нужен только для проверки репозитория, используйте режим :read-only. Для обычного кодирования режимы :workspace или workspace-write с одобрением по запросу обеспечивают практический баланс между производительностью и контролем безопасности.
Безопасно ли использовать --yolo?
--yolo — это псевдоним, обходящий одобрение и песочницу. OpenAI описывает его как высокорисковый режим без песочницы и одобрения, поэтому его не следует использовать на обычных хостах, содержащих важные файлы.
Может ли Codex работать автоматически без запроса на одобрение, сохраняя при этом песочницу?
Да. Документация OpenAI указывает, что --ask-for-approval never совместим с режимом песочницы. Например, codex --sandbox workspace-write --ask-for-approval never избегает интерактивных запросов на одобрение, сохраняя границы рабочей области.
Может ли Git защитить меня от всех типов потери данных из-за Codex?
Нет. Git может восстановить отслеживаемые и закоммиченные файлы репозитория, но не может автоматически защитить неотслеживаемые файлы, учётные данные, личные документы, внешние базы данных или несвязанные папки. Используйте отдельные решения для резервного копирования любых данных, которые не хранятся безопасно в системе контроля версий.
Может ли автоматическая проверка заменить песочницу?
Нет. Автоматическая проверка оценивает запросы на одобрение, соответствующие критериям, в то время как песочница обеспечивает соблюдение границ файловой системы и сети. По возможности следует сохранять оба эти контроля, а не рассматривать один как замену другого.
Следует ли мне использовать режим полного доступа внутри контейнера?
Это разумно, когда контейнер или виртуальная машина специально спроектированы как внешний безопасный периметр и не содержат конфиденциальных смонтированных данных. Тщательно проверяйте точки монтирования, учётные данные, сетевой доступ и интеграцию с хостом, поскольку режим полного доступа всё ещё может повредить или раскрыть всё, что доступно внутри этой среды.
Связанные инструменты
- Codex CLI: Локальный агент командной строки OpenAI для кодирования, предназначенный для работы с репозиториями и автоматизации.
- Разрешения Codex: Официальная документация по режимам «только чтение», «рабочая область» и «полный доступ».
- Песочница Codex: Объяснение того, как обеспечивается соблюдение границ файловой системы и сети.
- Репозиторий Codex на GitHub: Официальный открытый репозиторий CLI Codex.
- Dev Containers в Visual Studio Code: Запуск рабочих процессов разработки в изолированных контейнерных средах.
- Git: Обеспечивает историю версий, ветвление, сравнение и откат для отслеживаемых исходных файлов.
Связанные ссылки
Одобрение агентов и безопасность: Официальное руководство по режимам песочницы, политикам одобрения, автоматической проверке и опасным настройкам.
- Разрешения Codex: Официальная справка по профилям минимальных привилегий.
- Песочница Codex: Объяснение границ проектов и поведения песочницы на платформе Codex.
- Песочница Windows для Codex: Содержит явное предупреждение OpenAI: полный доступ может привести к деструктивным операциям и потере данных.
- Безопасный запуск Codex в OpenAI: Описывает внутренние механизмы контроля OpenAI для ограниченного выполнения и проверки.
- Документация CLI Codex: Официальные инструкции по установке и локальному использованию.
- Репозиторий OpenAI Codex на GitHub: Исходный код, отчёты об ошибках, политика безопасности и информация о версиях.
Резюме
Задокументированный инцидент удаления файлов Codex произошёл в условиях максимального риска: полный доступ без границ песочницы. AIBase описывает одну предполагаемую ошибку очистки, связанную с $HOME, в то время как публичная документация OpenAI подтверждает более широкий факт: неограниченный доступ может привести к непреднамеренным деструктивным операциям и потере данных.
Для большинства разработчиков обычная работа с репозиториями кода не требует полного доступа. Ограниченная запись в рабочую область, одобрение по запросу, контрольные точки системы контроля версий и изолированные среды обеспечивают более безопасный режим работы, не ослабляя основных возможностей кодирования Codex.
При запуске автоматических задач пользователи могут отключить запросы на одобрение, сохранив при этом песочницу рабочей области. Это гораздо безопаснее, чем обходить обе эти защиты.
Практическое правило простое: предоставляйте Codex доступ только к тем проектам, которые ему нужны, а не ко всей машине.