AI coding agents больше не autocomplete
GhostApproval и Friendly Fire показывают, почему coding agents нужно защищать как привилегированные runtime-системы, а не как обычные editor helpers.
Разработчик клонирует незнакомый репозиторий, просит AI coding agent настроить проект и видит approval для безобидного файла внутри workspace. Проблема в том, что агент и файловая система могут знать больше, чем показывает диалог. Если этот файл — symbolic link, запись может уйти не в проект, а в shell startup file, SSH authorization file или другой чувствительный target.

Именно это показала GhostApproval, исследование Wiz от 8 июля. В тот же день AI Now Institute опубликовал Friendly Fire: proof-of-concept, где defensive workflow с Claude Code CLI и OpenAI Codex CLI превращается в путь к remote code execution. Вместе эти две работы говорят простую вещь: AI coding tools уже нельзя воспринимать как умный autocomplete. Во многих командах это локальные automation runtimes с доступом к файлам, shell, package managers, network calls, credentials and review decisions.
Это не значит, что ими нельзя пользоваться. Это значит, что прежняя модель доверия слишком слабая. Если инструмент читает untrusted repository text, запускает команды, меняет файлы и просит человека подтвердить частично пересказанное действие, его надо оценивать как CI runner, build agent или привилегированное IDE extension. Нужны границы, логи и policy.
Ассистенты стали runtime-системами
Ранние coding assistants в основном дописывали строки. Современные агенты обходят репозиторий, открывают файлы, выводят setup steps, правят код, запускают tests, ставят dependencies, вызывают внешние tools и иногда работают в режимах с минимальным approval. Это и есть продуктовая ценность. Это же и attack surface.
Обычная developer machine содержит SSH keys, cloud credentials, package tokens, internal repos, browser sessions, VPN access, shell config, package caches and history files. Агент, который может писать файлы и запускать команды на этой машине, не просто предлагает код. Он действует внутри чувствительной среды.
Security teams уже умеют мыслить так в других местах. CI runners изолируют. Deployers получают scoped credentials. Build systems ограничивают сетью. Security scanners для untrusted code запускают в sandbox. AI coding agents требуют такого же отношения.
GhostApproval простыми словами
Wiz назвала находку GhostApproval, потому что человек может подтвердить не то действие, которое реально произойдёт. По данным Wiz, паттерн затронул шесть AI coding assistants: Amazon Q Developer, Anthropic Claude Code, Augment, Cursor, Google Antigravity and Windsurf.
Техническая основа старая: symbolic links. Symlink выглядит как один путь, но указывает на другой. Если в репозитории есть файл, похожий на локальный config, но указывающий за пределы workspace, инструмент может записать в настоящий target.
Wiz описывает две проблемы вместе: symlink following, CWE-61, и UI misrepresentation of critical information, CWE-451. В части инструментов агент или runtime понимал настоящий target, но approval dialog не показывал его пользователю ясно. Разработчик думал, что подтверждает локальный edit, а запись могла затронуть файл за пределами проекта.
По vendor status Wiz сообщила, что AWS, Cursor and Google быстро выпустили fixes. Для Amazon Q Developer language server указаны affected versions before 1.69.0 и fix in 1.69.0, CVE-2026-12958. Для Cursor указаны versions before 3.0 and fix in 3.0, CVE-2026-50549. Augment and Windsurf были in progress на момент disclosure. Anthropic, по данным Wiz, отвергла report как outside its threat model, а SecurityWeek писала, что Anthropic заявила о прежних mitigations.
Таблица может обновиться. Класс проблемы останется: если UI показывает дружелюбный path, а runtime пишет в другой canonical target, человек подтверждает рассказ, а не операцию.
Friendly Fire: опасный сценарий review
Friendly Fire бьёт по популярной привычке: попросить агента проверить untrusted code на security issues. Именно это многие developers and AppSec teams хотят автоматизировать.
AI Now утверждает, что PoC даёт remote code execution в Anthropic Claude Code CLI и OpenAI Codex CLI при defensive assessment of open-source or third-party libraries. По brief, для атаки не нужны malicious MCP server, plugin, hook или special config. Prompt injections распределены по обычным source files библиотеки, которую агент читает при review.
Публиковать exploit recipe здесь не нужно. Важно другое: repository больше не является пассивным input. Если агент читает hostile text и использует tools based on that context, проект становится частью control channel.
Это касается и open-source maintainers. README, comments, tests, config files and issue templates могут быть написаны не только для человека, но и для AI reviewer with tools.
Trust layer: не только vulnerability
На той же неделе CNA сообщила, что китайский regulator предупредил о "security backdoor" risk in Claude Code, а Anthropic описала механизм как anti-abuse measure: checks timezone and proxy-related signals for unsupported regions and problematic entities. CNA также писала, что Alibaba told employees Claude Code would be banned from July 10 due to security concerns, citing people familiar with the matter.
Это не GhostApproval и не Friendly Fire. Но это та же управленческая тема: opaque local coding agents с network access and enterprise source code оцениваются не только по productivity. Компании хотят понимать, что инструмент видит, куда отправляет данные, как применяет policy и насколько честно vendor это документирует.
Developer forums показывают тот же дискомфорт. Hacker News thread про Claude Code "Extended Thinking" набрал сотни комментариев ещё до этих disclosures. Это не доказательство GhostApproval. Это сигнал, что developers спорят, где в AI tool правда, где summary, а где product surface. Когда речь о file-write approval, этот спор становится практическим.
Adoption обогнал governance
Dark Reading сформулировала бизнес-проблему так: security risk теперь часть productivity debate. Материал ссылается на GitLab 2026 AI Accountability Report: 91% organizations use two or more coding tools, 54% use three or more. Там же приведены данные SonarSource: 72% developers who tried AI coding tools use them daily; average perceived productivity gain 35%; 96% do not trust AI-generated code as functionally correct as-is; only 48% always check AI-generated code before committing.
Это survey signals, а не закон физики. Но направление понятно: компании внедрили несколько assistants раньше, чем построили единый control plane. Один tool в IDE, другой в terminal, третий в PR review, четвёртый для разовых задач. У каждого разные approval UI, sandbox story, telemetry posture and policy model.
Так productivity tool становится shadow infrastructure.
Что сделать сейчас
Сначала inventory. Какие AI coding tools разрешены? Какие versions? Кто использует terminal agents, IDE agents, hosted agents, browser tools? Какие из них могут run shell, edit files, access network, call MCP servers or read secrets?
Отключите auto-approve and auto-review для untrusted repositories. Если repo пришёл из интернета, от кандидата, vendor, customer, bug bounty report или suspicious dependency, считайте текст внутри hostile to the agent. Можно задавать модели вопросы, но нельзя позволять ей выполнять setup steps на обычной рабочей машине.
Используйте disposable workspaces: containers, dev VMs, cloud workstations, locked-down sandboxes. В среде не должно быть personal SSH keys, production cloud credentials, long-lived package tokens or internal network access без необходимости.
Secrets нужно отделить. Не запускайте agentic tools в shell, где загружены широкие tokens. Используйте short-lived credentials, least privilege, local secret stores with explicit access and secret scanning before commits.
Ограничьте network egress. Security-review agent, который читает hostile repo и свободно ходит в интернет, легче превратить в exfiltration path.
Логируйте actions: tool calls, commands, file writes, approvals, denials, network events. Chat transcript недостаточно для incident response.
Что должны доказать vendors
Планка не "user approved". Планка: user approved accurate information about the operation that actually happened.
Нужны canonical path display, workspace-boundary enforcement, symlink-safe writes, warnings for external targets, safe defaults for untrusted repositories, clear CVE status, versioned advisories and centrally auditable enterprise controls. Если есть auto-mode, документация должна прямо говорить, что он может делать без approval и как отключить его organization-wide.
Telemetry тоже должна быть описана обычным языком. Developers могут принять fraud prevention, если он видимый и ограниченный. Они хуже реагируют, когда локальный coding tool неожиданно анализирует environment signals.
Research layer тоже движется быстро: aiAuthZ предлагает off-host, identity-bound authorization for AI tool calls; другая July preprint систематизирует execution-security research for AI coding agents; третья разбирает Unicode TAG-block payloads in MCP metadata and approval-view fidelity gap. Это preprints, не standards. Но направление ясное: approvals and policies должны быть ближе к runtime boundary, а не только к model conversation.
Не надо преувеличивать
Не каждый AI coding agent — malware. GhostApproval and Friendly Fire are research disclosures. Public sources do not prove mass exploitation in the wild. Vendors patch, dispute, mitigate and harden at different speeds.
Но считать эти истории edge cases тоже опасно. Pattern повторяется: model reads attacker-controlled context, runtime has real authority, human approval layer may be incomplete. В следующий раз это могут быть hidden metadata, poisoned build scripts, malicious test fixtures, hostile MCP descriptions or comments written for models.
AI coding останется. Выиграют команды, которые перестанут обращаться с ним как с autocomplete. Sandbox, narrow credentials, limited network, truthful approvals, logs. Потом можно ускоряться.
Comments
Sign in to comment.
No comments yet.