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 относится к нарушенной границе доверия между контекстами; сообщение не описывает переполнение кучи или повреждение памяти.
Что это значит
Контексты делили секрет
В Heapjack недоверенный код читал общий участок памяти и получал признак доверия. Разделение JavaScript-контекстов поэтому не создавало независимой границы полномочий: родительский процесс принимал запрос как разрешённый.
Путь расширял разрешение
В Overpatch инструмент вычислял область записи по входящему пути. Символическая ссылка затем переносила действие за рабочую папку. Ограничение проекта теряло смысл в тот момент, когда более привилегированный инструмент сам расширял доступ.
Общий урок двух исправлений
Проверка должна сохраняться при переходе от агента к инструменту, иначе локальное разрешение превращается в действие на хосте. По сообщению исследователя, оба пути исправлены. Демонстрации объясняют механизм обхода, но не устанавливают масштаб реального злоупотребления.
