В шести ИИ-ассистентах обнаружили уязвимости GhostApproval
Исследователи кибербеза обнаружили новый класс уязвимостей в AI‑ассистентах для программирования — GhostApproval. Он затрагивает Amazon Q Developer, Anthropic Claude Code, Augment, Cursor, Google Antigravity и Windsurf.
Проблема связана с использованием символических ссылок, или symlink, известных в Unix‑системах и описанных как CWE-61. Этот механизм позволяет подменять путь к файлу, из-за чего операции выполняются не там, где ожидает пользователь. В контексте AI‑ассистентов это проявляется при работе с файлами в рабочей директории.
Вредоносный репозиторий может содержать файл, который выглядит как обычный конфигурационный, но на деле указывает на чувствительный объект вне workspace, например `~/.ssh/authorized_keys`. Агент получает инструкцию изменить его и записывает данные по фактическому пути. При этом интерфейс в ряде случаев показывает только имя внутри проекта, например `project_settings.json`, не раскрывая реальное расположение. Такая ситуация соответствует CWE-451, связанному с некорректным отображением критичной информации. Пользователь подтверждает изменение, считая его локальным, хотя фактически изменяется системный файл. Это может привести к компрометации системы. Например, добавление SSH‑ключа даёт злоумышленнику постоянный доступ без пароля. В некоторых инструментах запись выполняется ещё до появления окна подтверждения.
В Amazon Q Developer выявили запись до подтверждения пользователем. Уязвимость получила идентификатор CVE-2026-12958 и была устранена. Похожая проблема обнаружилась в Cursor и привела к критической уязвимости CVE-2026-50549, которая также уже исправлена. В Google Antigravity ошибка была связана с отображением пути и устранена.
На этом фоне Augment выделяется более серьёзными нарушениями. Система выполняла чтение и запись через символические ссылки без какого-либо подтверждения. Это позволяло извлекать данные из файлов вне рабочей директории и изменять системные настройки. Исправление на момент публикации не завершено.
В Windsurf выявлен сценарий, при котором запись в файловую систему происходит до появления окна подтверждения. Пользователь видит изменения уже после их применения, а кнопки согласия или отказа фактически выполняют роль отката. Обновлений по этой проблеме пока нет.
Anthropic заявила, что описанный сценарий в Claude Code не входит в модель угроз, так как пользователь сам подтверждает доверие к директории и выполняемые действия. При этом в новых версиях добавлена проверка символических ссылок и предупреждения при работе с чувствительными файлами. Позднее в компании уточнили, что эти изменения были внесены заранее в рамках внутренней проверки безопасности.
Исследователи отмечают, что проблема проявляется схожим образом в разных инструментах. Они рекомендуют заранее разрешать символические ссылки и показывать пользователю фактический путь к файлу, а также явно предупреждать при выходе за пределы рабочей директории и не выполнять запись до подтверждения.
Отдельно они указывают на ограничения модели безопасности Human-in-the-Loop, при которой действия выполняются после подтверждения пользователем. Этот подход работает только в том случае, если пользователь видит фактическое действие системы. Если интерфейс показывает одно, а операция выполняется по другому пути, подтверждение теряет смысл.