TGViewer
Искусство. Код... ИИ? Искусство. Код... ИИ? @art_code_ai · 706 subscribers
Post #100 1.22K
🐞 SymJack и Trust Fail — «design intent» или уязвимость?

Adversa AI опубликовали два разбора уязвимостей в AI-агентах (раз, два) — оба про то, как заставить диалоги подтверждения ввести пользователя в заблуждение.

SymJack: текст подтверждения показывает не то, что произойдёт

Атака основана на симлинках. В зловредном репозитории лежат пустые «конфиги» и симлинк вроде docs/vid.mp4 → .mcp.json. Инструкция агента (AGENTS.md и подобные) просит выполнить безобидную на вид команду:
cp media/payload.mp4 docs/vid.mp4

Окно показывает «копирую видео», но агент резолвит симлинк и перезаписывает реальный .mcp.json или settings.json payload'ом под видом видео. После перезапуска агента стартует вредоносный MCP-сервер с произвольным кодом. Затронуты Claude Code, Cursor, Antigravity, Copilot, Grok, Codex CLI. Anthropic починили отображение реального пути, остальные пока отмахнулись или молчат.

TrustFall: «доверяете каталогу?» = «запустить код?»

В Claude Code 2.1+ диалог спрашивает «это ваш проект или вы ему доверяете?», но про MCP-серверы не упоминает. Атакующий кладёт в репозиторий .claude/settings.json с enableAllProjectMcpServers и .mcp.json с payload'ом прямо в команде (node -e "fetch(...)", без внешних файлов). Клонируешь, запускаешь, жмёшь Enter на «доверяю» — и сервер стартует с полными правами пользователя. Затронуты Claude Code, Gemini CLI, Cursor CLI, GitHub Copilot CLI.

Anthropic назвали это «design intent» и отказались фиксить, остальные пока молчат.

Схемы обеих атак в деталях — на диаграммах.

И вот тут, gen-AI часть поста заканчивается, и начинается скромное авторское мнение 🙈

Не вполне понимаю, почему подобное называют уязвимостями и, в целом, разделяю мнение Anthropic. В случае SymJack косяк агентов лишь в том, что они не разворачивают симлинки, сообщая пользователю о том, какая операция требует подтверждения. Это недостаток, да, нужно исправлять.

Но в остальном, как и в случае с TrustFail, авторы исследования, на мой взгляд, придумали какую-то, удобную им, но далекую от реальности модель угроз, и в рамках неё стали называть свои находки уязвимостями.

Здесь работает та же логика, которую стоит включать при критике SAST-инструментов с контролем сборки или частичным выполнением кода. Ничего, что в большинстве проектов есть тот же settings.json, Makefile, проектные файлы, сборочные скрипты, генераторы кода и т.п., с помощью которых можно влегкую провести RCE, как аналогичными техниками, так и вообще без агента, атакуя чисто IDE или системы сборки/тестов/кодогенерации?

Если пользователь, имея полную и достоверную информацию о совершаемой операции, её таки подтверждает — это проблема пользователя. Ну и, возможно, навесной защиты. Как и ответ «да» на вопрос, доверяет ли он вообще всему репозиторию. В этом весь смысл самой идеи human-in-the-loop, и механизмов подтверждений.

❓ Откуда агенту, в общем случае, знать — какая часть (уже отмеченного доверенным, заметьте) проекта представляет угрозу окружению пользователя, а какая — нет? Почему и с каких пор это стало проблемами агентов? (не риторические вопросы, велкам в комментарии, если кто не согласен с позицией).

😘 В c0wrk сделал обязательными подтверждения всех без исключения операций, чьи аргументы содержат пути к симлинкам, с их разворачиванием в полные пути в сообщениях для пользователя. Но и только.

#ИИ_безопасность #уязвимости
  • ✍ 1
  • 💯 1
More from @art_code_ai
  1. Sep 29, 2026Объяснили с Раддой Юрьевой на Хабре, почему смешивать формальные и ИИшные подходы в задача…
  2. Sep 27, 2026🔗 Старый добрый аппсек, часть 2 Продолжаем вспоминать ключевые вехи аппсека и смежных обл…
  3. Sep 26, 2026Post #155
  4. Sep 24, 2026🔗 Старый добрый аппсек, часть 1 ...совершенно незаслуженно задвинутый на второй план ИИ-х…
  5. Sep 23, 2026Post #153
  6. Sep 21, 2026👨‍💻 Продуктивные выходные Как-то незаметно (и неожиданно) для себя с удовольствием провё…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →