Heapjack и Overpatch позволяли обойти предусмотренные границы Codex и привести к действиям на хосте из недоверенного репозитория. Heapjack затрагивал глобально настроенный помощник node repl и общую кучу V8, а Overpatch использовал права apply patch, вычисляемые по путям из контролируемого атакующим патча.
ОпубликовалОтредактировано с помощью GPT-5.6 TerraИзображения созданы с помощью GPT Image 2
Ответ на исследование

Create a landscape editorial hero image for this Studio Global article: How did Accomplish AI researchers’ Heapjack and Overpatch vulnerabilities enable sandbox escapes and host-command execution in OpenAI’s Code. Article summary: Accomplish’s two findings bypassed Codex’s intended workspace/read-only boundaries by making a trusted enforcement component rely on attacker-influenced state. Both could turn an untrusted repository into host-level code. Topic tags: general, general web. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clic
Песочница Codex должна была ограничивать, что ИИ-агент может читать, изменять и запускать. Однако исследования Accomplish AI, получившие названия Heapjack и Overpatch, показали: границу можно обойти, если привилегированный компонент либо хранит секрет в памяти, доступной недоверенному коду, либо рассчитывает права на основе входных данных, которые контролирует атакующий. Обе проблемы, по сообщениям исследователей, исправлены. 4
8
Heapjack затрагивал интеграцию node_repl, устанавливаемую Codex Desktop. Как утверждают исследователи, настольное приложение добавляло конфигурацию MCP-сервера в общий файл ~/.codex/config.toml. Поэтому сеансы Codex CLI, использующие эту общую конфигурацию, также могли получать данный помощник. 8
9
Ключевой сбой изоляции находился в JavaScript-среде помощника:
Родительский процесс при этом работал вне песочницы. Следствием могли стать действия на уровне хост-системы, включая запуск команд, даже если Codex формально был переведён в режим «только чтение». Проблема заключалась не просто в исполнении JavaScript, а в том, что секрет, отделявший доверенные операции от недоверенных, находился в памяти, доступной недоверенному контексту. 8
15
Overpatch касался apply_patch в Codex CLI при режиме записи в рабочую область. Инструмент должен был разрешать изменения только внутри workspace, но логика авторизации предоставляла область записи на основе родительских каталогов, названных прямо в патче. 4
То есть пути из патча становились значимыми для безопасности. Accomplish продемонстрировала proof of concept: упоминание в патче в остальном бесполезного пути, такого как /tmp, приводило к расширению разрешений до корня файловой системы. Другое изменение в патче затем проходило по символьной ссылке, контролируемой репозиторием, и меняло файл вне рабочей области — в том числе файл запуска оболочки в домашнем каталоге пользователя. 4
9
Эффект проявлялся не мгновенно, но был существенным: код, добавленный в файл запуска оболочки, мог выполниться уже вне песочницы агента, когда разработчик позднее открывал терминал. Обычное подтверждение для такого действия на хосте не требовалось. 4
7
Технически Heapjack и Overpatch работали по-разному, но выявили один и тот же изъян проектирования: механизм, обеспечивающий защиту, доверял данным, до которых могла дотянуться недоверенная сторона.
| Уязвимость | Чему доверял механизм | Почему граница не сработала |
|---|---|---|
| Heapjack | Токену авторизации в общей куче V8 | Недоверенный код мог извлечь секрет, который отличал доверенные запросы. |
| Overpatch | Путям в патче, контролируемом агентом | Эти пути влияли на объём прав записи, а не только описывали предполагаемое изменение. |
Это пример проблемы confused deputy («запутавшийся заместитель»): более привилегированный помощник выполняет действие от имени менее доверенного ввода, не проверяя надёжно полномочия или конечную цель. Поэтому одной изоляции командной оболочки агента недостаточно, если вспомогательные процессы, токены, конфигурация и оркестрация остаются привилегированными либо зависят от содержимого репозитория.
Другие находки 2026 года в инструментах для ИИ-программирования отличались деталями, но были похожи архитектурно. В отчётах Accomplish о Beltdown и Beltdown2 отмечалось, что оболочка агента была изолирована, а внутренние команды Git в окружающей обвязке выполнялись вне песочницы. В .git/config репозитория можно было задать параметр Git core.fsmonitor, заставляющий Git запускать указанный помощник при проверке рабочего дерева. 17
18
Manifold Security описала более широкий класс таких проблем под названием GitSpawn: конфигурация Git, контролируемая репозиторием, могла запустить выбранный атакующим код, когда агент начинал изучать проект, иногда ещё до содержательного запроса подтверждения или решения о доверии. 20
21
Это не означает, что любой репозиторий автоматически опасен в любом сценарии. Но репозиторий следует рассматривать как потенциально активный ввод: инструменты могут читать метаданные, разрешать символьные ссылки, применять патчи, исполнять хуки и запускать вспомогательные процессы. Граница доверия продукта с ИИ-агентом охватывает все эти пути, а не только видимый пользователю инструмент запуска команд.
Минимальные версии с заявленными исправлениями:
По данным Accomplish, обе уязвимости были сообщены OpenAI 12 августа 2026 года, а исправления появились в течение восьми дней. 9
.git и его метаданные. При обычном git clone локальный .git/config удалённого репозитория, как правило, не передаётся. Главный вывод прост: установите исправления Codex, но не считайте внутрипроцессную песочницу единственным рубежом между неизвестным репозиторием и рабочей станцией разработчика.
Studio Global AI
На этой странице есть ответ, подтвержденный источником, который вы можете продолжить внутри Studio Global.
Heapjack и Overpatch позволяли обойти предусмотренные границы Codex и привести к действиям на хосте из недоверенного репозитория.
Heapjack и Overpatch позволяли обойти предусмотренные границы Codex и привести к действиям на хосте из недоверенного репозитория. Heapjack затрагивал глобально настроенный помощник node repl и общую кучу V8, а Overpatch использовал права apply patch, вычисляемые по путям из контролируемого атакующим патча.
Другие обнаруженные в 2026 году обходы у ИИ агентов через конфигурацию Git отличались технически, но указывали на ту же проблему: несандбоксный компонент оркестрации доверял данным из репозитория.
Heapjack и Overpatch позволяли обойти предусмотренные границы Codex и привести к действиям на хосте из недоверенного репозитория. Heapjack затрагивал глобально настроенный помощник node repl и общую кучу V8, а Overpatch использовал права apply patch, вычисляемые по путям из контролируемого атакующим патча.
ОпубликовалОтредактировано с помощью GPT-5.6 TerraИзображения созданы с помощью GPT Image 2
Ответ на исследование

Create a landscape editorial hero image for this Studio Global article: How did Accomplish AI researchers’ Heapjack and Overpatch vulnerabilities enable sandbox escapes and host-command execution in OpenAI’s Code. Article summary: Accomplish’s two findings bypassed Codex’s intended workspace/read-only boundaries by making a trusted enforcement component rely on attacker-influenced state. Both could turn an untrusted repository into host-level code. Topic tags: general, general web. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clic
Песочница Codex должна была ограничивать, что ИИ-агент может читать, изменять и запускать. Однако исследования Accomplish AI, получившие названия Heapjack и Overpatch, показали: границу можно обойти, если привилегированный компонент либо хранит секрет в памяти, доступной недоверенному коду, либо рассчитывает права на основе входных данных, которые контролирует атакующий. Обе проблемы, по сообщениям исследователей, исправлены. 4
8
Heapjack затрагивал интеграцию node_repl, устанавливаемую Codex Desktop. Как утверждают исследователи, настольное приложение добавляло конфигурацию MCP-сервера в общий файл ~/.codex/config.toml. Поэтому сеансы Codex CLI, использующие эту общую конфигурацию, также могли получать данный помощник. 8
9
Ключевой сбой изоляции находился в JavaScript-среде помощника:
Родительский процесс при этом работал вне песочницы. Следствием могли стать действия на уровне хост-системы, включая запуск команд, даже если Codex формально был переведён в режим «только чтение». Проблема заключалась не просто в исполнении JavaScript, а в том, что секрет, отделявший доверенные операции от недоверенных, находился в памяти, доступной недоверенному контексту. 8
15
Overpatch касался apply_patch в Codex CLI при режиме записи в рабочую область. Инструмент должен был разрешать изменения только внутри workspace, но логика авторизации предоставляла область записи на основе родительских каталогов, названных прямо в патче. 4
То есть пути из патча становились значимыми для безопасности. Accomplish продемонстрировала proof of concept: упоминание в патче в остальном бесполезного пути, такого как /tmp, приводило к расширению разрешений до корня файловой системы. Другое изменение в патче затем проходило по символьной ссылке, контролируемой репозиторием, и меняло файл вне рабочей области — в том числе файл запуска оболочки в домашнем каталоге пользователя. 4
9
Эффект проявлялся не мгновенно, но был существенным: код, добавленный в файл запуска оболочки, мог выполниться уже вне песочницы агента, когда разработчик позднее открывал терминал. Обычное подтверждение для такого действия на хосте не требовалось. 4
7
Технически Heapjack и Overpatch работали по-разному, но выявили один и тот же изъян проектирования: механизм, обеспечивающий защиту, доверял данным, до которых могла дотянуться недоверенная сторона.
| Уязвимость | Чему доверял механизм | Почему граница не сработала |
|---|---|---|
| Heapjack | Токену авторизации в общей куче V8 | Недоверенный код мог извлечь секрет, который отличал доверенные запросы. |
| Overpatch | Путям в патче, контролируемом агентом | Эти пути влияли на объём прав записи, а не только описывали предполагаемое изменение. |
Это пример проблемы confused deputy («запутавшийся заместитель»): более привилегированный помощник выполняет действие от имени менее доверенного ввода, не проверяя надёжно полномочия или конечную цель. Поэтому одной изоляции командной оболочки агента недостаточно, если вспомогательные процессы, токены, конфигурация и оркестрация остаются привилегированными либо зависят от содержимого репозитория.
Другие находки 2026 года в инструментах для ИИ-программирования отличались деталями, но были похожи архитектурно. В отчётах Accomplish о Beltdown и Beltdown2 отмечалось, что оболочка агента была изолирована, а внутренние команды Git в окружающей обвязке выполнялись вне песочницы. В .git/config репозитория можно было задать параметр Git core.fsmonitor, заставляющий Git запускать указанный помощник при проверке рабочего дерева. 17
18
Manifold Security описала более широкий класс таких проблем под названием GitSpawn: конфигурация Git, контролируемая репозиторием, могла запустить выбранный атакующим код, когда агент начинал изучать проект, иногда ещё до содержательного запроса подтверждения или решения о доверии. 20
21
Это не означает, что любой репозиторий автоматически опасен в любом сценарии. Но репозиторий следует рассматривать как потенциально активный ввод: инструменты могут читать метаданные, разрешать символьные ссылки, применять патчи, исполнять хуки и запускать вспомогательные процессы. Граница доверия продукта с ИИ-агентом охватывает все эти пути, а не только видимый пользователю инструмент запуска команд.
Минимальные версии с заявленными исправлениями:
По данным Accomplish, обе уязвимости были сообщены OpenAI 12 августа 2026 года, а исправления появились в течение восьми дней. 9
.git и его метаданные. При обычном git clone локальный .git/config удалённого репозитория, как правило, не передаётся. Главный вывод прост: установите исправления Codex, но не считайте внутрипроцессную песочницу единственным рубежом между неизвестным репозиторием и рабочей станцией разработчика.
Studio Global AI
На этой странице есть ответ, подтвержденный источником, который вы можете продолжить внутри Studio Global.
Heapjack и Overpatch позволяли обойти предусмотренные границы Codex и привести к действиям на хосте из недоверенного репозитория.
Heapjack и Overpatch позволяли обойти предусмотренные границы Codex и привести к действиям на хосте из недоверенного репозитория. Heapjack затрагивал глобально настроенный помощник node repl и общую кучу V8, а Overpatch использовал права apply patch, вычисляемые по путям из контролируемого атакующим патча.
Другие обнаруженные в 2026 году обходы у ИИ агентов через конфигурацию Git отличались технически, но указывали на ту же проблему: несандбоксный компонент оркестрации доверял данным из репозитория.