Новоразкрита уязвимост, наречена „GhostApproval“, изложи на риск сигурността шест от най-широко използваните AI асистенти за програмиране: Amazon Q Developer, Anthropic Claude Code, Augment, Cursor, Google Antigravity и Windsurf. Тя позволява на злонамерени хранилища да заобиколят защитните контроли с човешко участие (Human-in-the-Loop) и потенциално да постигнат отдалечено изпълнение на код (RCE) на машините на разработчиците.
Открита от изследователи на Wiz, GhostApproval експлоатира измамно проста, но изключително въздействаща техника: следване на символни връзки (symlink following - CWE-61).
Символната връзка (symlink) е показалец във файловата система, който кара един път тихо да се пренасочва към друг. Докато този примитив е експлоатиран от десетилетия за бягство от Docker контейнери (CVE-2024-21626), мениджъри на пакети като npm (CVE-2021-32803) и ескалация на привилегии в Linux, прилагането му към AI агенти за програмиране представлява нова и систематична повърхност за атака.
Атаката е елегантно проста. Нападателят създава злонамерено хранилище, съдържащо символна връзка, например: project_settings.json -> ~/.ssh/authorized_keys.
Когато жертвата клонира хранилището и поиска от своя AI асистент да „настрои работното пространство“, агентът следва символната връзка и записва публичния SSH ключ на нападателя директно във файла authorized_keys на жертвата. Резултатът: постоянен SSH достъп без парола до машината на разработчика.
Това, което издига GhostApproval над обикновения symlink експлоит, е слоят на грешно представяне в потребителския интерфейс (UI misrepresentation - CWE-451). Най-яркият пример беше наблюдаван в Claude Code на Anthropic.
По време на тестовете вътрешните разсъждения на агента изрично гласяха: „Виждам, че project_settings.json всъвност е конфигурационен файл на zsh“. Въпреки това, подканата за потвърждение, показана на потребителя, просто питаше: „Желаете ли да извършите тази редакция в project_settings.json?“
Агентът знаеше истинската цел. Потребителят не я знаеше. Това превръща заобикалянето на пясъчника в заобикаляне на информираното съгласие.
Трима доставчици отстраниха уязвимостта своевременно: AWS, Cursor и Google. AWS коригира проблема във версия 1.69.0 на езиковия сървър (пусната на 27 май 2026 г.) под CVE-2026-12958. Cursor пусна своята корекция във v3.0 (5 юни 2026 г.) под CVE-2026-50549. Google внедри своята корекция на 22 май 2026 г.
От Augment и Windsurf признаха за докладите, но не предоставиха допълнителна информация към момента на публикацията на Wiz. Вариантът при Windsurf беше особено опасен: агентът записва на диска, преди да се появи диалоговият прозорец за приемане/отхвърляне, което означава, че потвърждението работи по-скоро като бутон за отмяна (undo), отколкото като бариера за оторизация.
Първоначално Anthropic отхвърли доклада като „извън нашия модел на заплахи“, но версии 2.1.173+ вече разрешават символните връзки и предупреждават потребителите преди запис в чувствителни файлове.
Изследователите на Wiz очертаха три основни мерки за смекчаване на риска за доставчиците на AI инструменти:
- Разрешаване на символните връзки преди показване на подкани – винаги да се показва каноничният целеви път, а не името на символната връзка.
- Изрично предупреждение, когато разрешеният път излиза извън работното пространство.
- Никога да не се записва на диска преди изрично разрешение от потребителя.