Изследователи по сигурността успяха да излязат от изолираните среди (sandboxes) на четири широко използвани AI асистенти за програмиране, включително Cursor, Codex на OpenAI, Gemini CLI на Google и Antigravity, без да атакуват директно самата изолирана среда.
Асистентът остава в рамките на ограниченията и спазва всяко правило. Той просто записва файл, който впоследствие доверен инструмент извън изолираната среда стартира, зарежда или сканира, при което компрометирането се случва автоматично.
Изследователският екип на Pillar Security (Ейлон Коен, Дан Лисичкин и Ариел Фогел) възпроизвежда пробивите в продължение на няколко месеца и ги публикува под формата на поредица, наречена "Седмица на бягствата от изолирана среда" (Week of Sandbox Escapes), с по един материал всеки ден.
Тези изолирани среди очертават проста граница: асистентът е доверен в рамките на работното пространство на проекта, а хост машината извън него е защитена. Проблемът е, че файловете в работното пространство не са инертни. Инструментите, работещи извън изолираната среда, ги четат и предприемат действия въз основа на тях. По този начин файл, който асистентът има право да запише, може да се превърне в команда, която хостът стартира по-късно.
Интегрираните среди за разработка (IDE) и CLI асистентите постоянно стартират собствени инструменти извън изолираната среда: Python разширения, които определят интерпретатори; Git интеграции, сканиращи хранилища; VS Code, изпълняващ конфигурационни файлове за задачи; обработчици на събития (hooks), стартиращи команди; или Docker Desktop, който излага локален сокет. Изолираният асистент може да спазва всички правила и въпреки това да влияе на файловете, които тези компоненти четат. Спусъкът е инжектирането на инструкции (prompt injection). Злонамерена инструкция, поставена в README файл, описание на проблем (issue), зависимост или разлика в кода (diff), се превръща в локално действие на машината на разработчика.
Pillar класифицира седемте открития в четири категории уязвимости:
- изолирани среди с черен списък (denylist), които не могат да се обновяват успоредно с операционната система;
- конфигурация на работното пространство, която всъщност представлява изпълним код;
- списъци с разрешени "безопасни" команди, които се доверяват на името на командата, а не на нейните аргументи;
- локални фонови процеси (daemons) с повишени привилегии, които се намират изцяло извън изолираната среда.
Повечето от проблемите вече са отстранени, като доставчиците са потвърдили съществуването им.
В Cursor контролирана от работното пространство конфигурация на .claude кука (hook) е довела до изпълнение на команди извън изолираната среда. Проблемът се проследява като CVE-2026-48124 и е коригиран във версия 3.0.0. Втора уязвимост в Cursor позволява на асистента да редактира интерпретатор във виртуална среда (virtualenv), който Python разширението на редактора впоследствие стартира автоматично. Трети пробив се възползва от факта, че метаданните на Git не е задължително да се намират в папка с име .git, задействайки изпълнение чрез fsmonitor и заобикаляйки правилата на Cursor, базирани на файлови пътища. Тази уязвимост е коригирана в 3.0.0, като се очаква присвояване на CVE.
В Codex CLI списъкът с разрешени "безопасни" команди се е доверявал на git show по име, докато реалното извикване не е било ограничено само до четене. OpenAI коригира уязвимостта във v0.95.0 и изплати възнаграждение за критична уязвимост, като се очаква присвояване на CVE.
Едно от откритията, свързано с Docker сокет, засяга едновременно Codex, Cursor и Gemini CLI. Локален фонов процес с повишени привилегии, до който асистентите имат достъп, се превръща в място извън изолираната среда за стартиране на код. Този проблем вече е коригиран.
Реакцията на Google относно двете открития в Antigravity – заобикаляне на черния списък на macOS Seatbelt и заобикаляне на защитения му режим (Secure Mode) чрез конфигурация на задачи в .vscode – беше по-сдържана. Според Pillar Google е класифицирала и двете като "други валидни уязвимости в сигурността" и е понижила техния приоритет, преценявайки ги като трудни за експлоатиране, тъй като изискват социално инженерство или потребителят да се довери на хранилище, съдържащо индиректно инжектиране на инструкции. Въпреки това екипът на Google е оценил високо работата, описвайки един от докладите като "с изключително качество".
Този клас уязвимости не е нов. През април Cymulate документира същия модел под името "Бягство от изолирана среда на базата на конфигурация" (Configuration-Based Sandbox Escape) в Claude Code, Gemini CLI и Codex CLI, при което файл, записан в изолираната среда, се изпълнява на хоста при следващото стартиране. Новото в случая е мащабът – един и същ тип пропуск се появява в четири инструмента от трима различни доставчици.
Предложеното от Pillar решение не е просто поредният списък със забранени имена на файлове. То се състои в наблюдение на момента, в който доверен локален инструмент стартира нещо, което е било записано от AI асистента. За всеки, който оценява инструменти за автоматизирано програмиране, това е по-важният сигнал: не дали асистентът разполага с изолирана среда, а какво се случва с файловете, които оставя след себе си.