30 секунд

Codex мог передать недоверенному коду действие за пределами песочницы двумя путями: через общий JavaScript-процесс и через инструмент изменения файлов. Орен Йомтов сообщил об ошибках OpenAI 12 августа; по данным Accomplish AI, их исправили за восемь дней. BleepingComputer описал Heapjack и Overpatch 20 сентября, а в обновлении от 21 сентября OpenAI подтвердила исправления. Это показанные исследователем обходы ограничений, а не сведения о массовой эксплуатации.

Подробнее

В Heapjack доверенная управляющая логика и недоверенный JavaScript работали в разных контекстах, но делили память одного процесса Node.js. Исследователь получил доступ к строке с токеном доверия и смог передать команду родительскому процессу вне песочницы. Демонстрация включала запуск приложения на компьютере.

Overpatch касалась CLI и инструмента применения изменений. При разрешении workspace-write инструмент обладал более широкими правами родительского процесса. Обработка пути и символической ссылки позволяла записать файл за пределами рабочей папки. В демонстрации это использовали для изменения настройки оболочки.

Accomplish AI указывает исправленные Desktop 26.818.21641 и CLI 0.149.0. В обновлении статьи от 21 сентября представитель OpenAI подтвердил, что обе проблемы устранены в августе, и сообщил о дальнейшем усилении проверок записи. Heapjack относится к нарушенной границе доверия между контекстами; сообщение не описывает переполнение кучи или повреждение памяти.

Разбор NewsAndNext

Что это значит

Контексты делили секрет

В Heapjack недоверенный код читал общий участок памяти и получал признак доверия. Разделение JavaScript-контекстов поэтому не создавало независимой границы полномочий: родительский процесс принимал запрос как разрешённый.

Путь расширял разрешение

В Overpatch инструмент вычислял область записи по входящему пути. Символическая ссылка затем переносила действие за рабочую папку. Ограничение проекта теряло смысл в тот момент, когда более привилегированный инструмент сам расширял доступ.

Общий урок двух исправлений

Проверка должна сохраняться при переходе от агента к инструменту, иначе локальное разрешение превращается в действие на хосте. По сообщению исследователя, оба пути исправлены. Демонстрации объясняют механизм обхода, но не устанавливают масштаб реального злоупотребления.