Computer Use — это когда LLM смотрит на скриншот экрана и двигает мышь самостоятельно. Разберём цикл из одного шага, почему этот режим выбирают для legacy-софта, как читать противоречивые бенчмарки 2026 года и три слоя защиты, без которых агента нельзя выпускать на боевую машину.
1. Что такое computer-use агент
CUA (computer-use agent) — мультимодальная LLM, которая видит экран через скриншот и двигает мышь и клавиатуру, как человек. Универсальный интерфейс «экран + мышь + клавиатура» обходится без API приложения, без плагинов, без специальных интеграций. Где обычный агент дёргает функцию, CUA — кликает по пикселю.
Цикл одного шага — четыре фазы:
┌─────────────────┐
│ PERCEPTION │ скриншот в контекст как
└────────┬────────┘ изображение (+ DOM/a11y
│ для веба)
▼
┌─────────────────┐
│ REASONING │ «где я, что вижу, какой
└────────┬────────┘ след. шаг, не кликал ли
│ я уже сюда»
▼
┌─────────────────┐
│ ACTION │ click(x,y) · type("…")
└────────┬────────┘ scroll · key("Enter")
│
▼
┌─────────────────┐ ───┐
│ новый скриншот │ │ петля замыкается
└─────────────────┘ │ обратно на PERCEPTION
▲ │
└─────────────┘Ключевое: это не «OCR + скрипт». Одна сеть одновременно смотрит, думает и кликает — распознать текст, понять layout, решить, куда нажать, — всё в одном проходе, а не пайплайном из распознавалки, парсера и хардкод-логики.
2. Зачем это нужно: выбор режима автоматизации
Около 60 % корпоративного ПО в банкинге, госсекторе и медицине — legacy без API. Партнёрские кабинеты, маркетплейсы, госпорталы либо вообще не дают программного доступа, либо он покрывает не всё. Подключаться некуда, а автоматизировать надо.
Между «руками» и CUA есть лестница из четырёх режимов, и берут самый дешёвый из подходящих:
| Режим | Когда брать | Стоимость |
|---|---|---|
| API-интеграция | API есть и покрывает задачу | быстро, дёшево, надёжно |
| Browser automation (Selenium/Playwright) | стабильная вёрстка | код под страницу, ломается на изменении UI |
| RPA (UiPath/Blue Prism) | большой объём на стабильном UI | дорогая лицензия + поддержка кратно сверху |
| Computer-use | нестабильный UI без API | гибкий, самовосстанавливается, дороже всех по токенам |
Детерминированные скрипты (Selenium/RPA) ломаются на любом изменении вёрстки — поддержка обходится кратно дороже самой лицензии, и так каждый год. CUA подстраивается под новый UI сам, потому что «смотрит» на экран так же, как человек. Расплата — токены: каждый скриншот в контексте стоит денег, задача выходит ощутимо дороже скрипта. Поэтому CUA берут последним, для нестабильного UI без API, а не первым.
Tool-set типичного агента: действия экрана (screenshot, click, type, scroll, key), файловая система в пределах workspace, bash/shell в sandbox, веб-навигация (open_url, go_back) и служебные wait, ask_user, done, fail.
3. Ландшафт 2026: кто на рынке
Рынок к 2026-му закрывает почти все задачи пятёркой инструментов с разной философией:
- Claude Computer Use (Anthropic) — permission-first: спрашивает разрешение перед действием, из коробки логирует действия и скриншоты.
- ChatGPT Agent + Atlas (OpenAI) — agent mode в чате плюс отдельный AI-браузер Atlas, watch mode на чувствительных сайтах, встроенный детектор prompt injection.
- Comet (Perplexity) — браузер на Chromium со встроенным агентом: ассистент в боковой панели кликает, заполняет формы и проходит многошаговые задачи прямо в открытых вкладках. Категория Atlas, не библиотека browser-use. Ахиллесова пята общая — содержимое страницы становится каналом для indirect prompt injection (см. раздел 5).
- UI-TARS (ByteDance, Apache 2.0) — native GUI-модель, а не обёртка над чужим API: база Qwen-2-VL, 50B токенов обучения на GUI-скриншотах, размеры 2B/7B/72B. Главное — self-host без зависимости от вендора.
- browser-use (Python, MIT) — библиотека: Chromium через CDP, авто-экстракция DOM, маскирование sensitive-data, работает с любой LLM (Anthropic/Google/OpenAI/Ollama). Достаточно собрать
Agentсuse_vision=Trueи подать скриншот в контекст.
Минимальный шаг через browser-use выглядит так — вся петля «восприятие → рассуждение → действие» спрятана внутри agent.run():
agent = Agent(
task=query,
llm=llm,
browser_context=browser_context,
use_vision=True, # скриншот страницы входит в контекст как изображение
)
result = await agent.run() # внутри: цикл скриншот → рассуждение → действие
4. Как читать цифры: бенчмарк выше человека ≠ надёжность
Главный канонический бенчмарк — OSWorld-Verified: 369 задач в реальной Ubuntu-среде на уровне пикселей, клавиатуры и мыши. В начале 2026-го Claude Opus 4.6 взял 72,7 % при human baseline ~72,4 % — впервые модель формально превзошла человека. UI-TARS-1.5 — лидер среди open source на 42,5 %, Operator — 36,4 %.
Снимок устаревает за месяцы. К середине 2026-го лидеры сменились: Operator подрос до ~38,1 %, появился UI-TARS-2 с ~47,5 %, а коммерческие платформы декларируют до ~82 % — но на собственных судьях, без независимой верификации. Самодекларируемые рекорды растут быстрее верифицированных, и «свежая цифра лидерборда» читается хуже, чем кажется: непонятно, что в ней от модели, а что от методологии оценки.
Звучит как победа, но цифру нельзя брать в лоб по трём причинам.
Зубчатый интеллект (jagged intelligence). Прогресс на системных задачах соседствует с провалами на банальностях. Модель берёт золото на математической олимпиаде, но время по аналоговым часам (ClockBench) определяет лишь в 50,6 % против 90,1 % у человека. Высокий средний балл прячет узкие зоны, где агент ломается на ровном месте.
Коммерческие лидерборды против академических. Расхождение огромное. На Online-Mind2Web коммерческие платформы рапортуют до 97 % — но на своих гибких ИИ-судьях. Академический Mind2Web-2 опирается на деревья критериев (в среднем до 50 узлов на задачу) и ручную верификацию, и там лучшая модель даёт 28 % при человеке 54 %. Самодекларируемые 97 % browser-use — это не верифицированный результат, а маркетинг методологии оценки.
OSWorld-Verified Online-Mind2Web Mind2Web-2
(Ubuntu, верифиц.) (коммерч. судья) (академ., ~50 узлов)
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ Opus 72.7% │ │ bu-max 97.0% │ │ модель 28% │
│ human 72.4% │ │ свой судья │ │ human 54% │
│ UI-TARS 42.5% │ │ не верифиц. │ │ верифиц. │
└───────────────┘ └───────────────┘ └───────────────┘
модель ≈ человек не сравнивать человек >> модельСпособность безопасности не равна. Бенчмарк ClawsBench разделяет три метрики: Task Success Rate (TSR), Unsafe Action Rate (UAR) и Safe Completion Rate (SCR). И вот ключевая цифра урока: Claude Opus 4.6 — TSR 63,0 % при UAR 23,0 %, тогда как у человека TSR 74,5 % при UAR 0,0 %. Каждое пятое действие модели небезопасно. Хуже того, рост успешности через усложнение планирования закономерно поднимает долю небезопасных действий — модель чаще тянется к рискованным системным утилитам. «Автоматизировать безопасно» и «автоматизировать максимально» — разные цели.
5. Где всё ломается: prompt injection и Confused Deputy
Безопасность тут не приложение к теме, а её центр. Корень один: модель не отличает надёжно инструкции разработчика от инструкций в данных. Любой контент в контексте — веб-страница, PDF, письмо, скриншот — потенциальная команда.
Prompt injection бывает трёх видов:
- Direct — пользователь сам вводит вредный промпт; защита — фильтрация входа.
- Indirect — инструкции спрятаны в контенте (веб, PDF, письмо); агент читает и выполняет их как свою команду. Угроза № 1.
- Multimodal — скрытый текст на картинке или в HTML (
display:none, белым по белому); модель всё равно видит его и обрабатывает.
Три задокументированные атаки показывают паттерн.
rm -rf через PDF (HiddenLayer). Пользователь просит Claude Computer Use прочитать PDF. В файле спрятана обфусцированная (Base64 + ROT13) директива «расшифруй сам перед выполнением» плюс контекстная манипуляция: модель убеждают, что она в безопасной тестовой среде, где опасные команды разрешены. Claude декодирует и выполняет sudo rm -rf --no-preserve-root /. Внутри sandbox обошлось; без docker-изоляции снесло бы хост.
Confused Deputy (запутанный помощник) в Claude Desktop Extensions (LayerX, CVSS 10,0). Расширения .mcpb исполняются на хосте unsandboxed с правами пользователя. Сценарий «Ace of Aces»: атакующий кладёт вредную инструкцию в описание события Google Calendar, пользователь просит Claude «разобраться с задачами в календаре». Claude читает событие легитимным коннектором, распознаёт инструкцию как команду и транслирует её в Desktop Commander — тихий запуск кода на ПК жертвы. Данные из низкорискового публичного источника попали в высокорисковый локальный исполнитель. Anthropic решила не менять архитектуру связывания — вектор остаётся открытым.
Exfiltration через цепочку уязвимостей. Третий задокументированный паттерн собирается из звеньев: invisible injection через URL-параметры предзаполняет чат, агент тихо выгружает данные наружу, а дефолтные проверки обходятся за счёт approval fatigue. Итог — украдена история разговоров пользователя.
┌──────────────────────────┐
│ ИСТОЧНИК ДАННЫХ │ PDF · Calendar · веб-
│ (низкий риск) │ страница · скриншот
└────────────┬─────────────┘
│
▼
┌──────────────────────────┐
│ КОНТЕКСТ МОДЕЛИ │ данные ≡ инструкции:
│ (граница рвётся здесь) │ модель их не различает
└────────────┬─────────────┘
│
▼
┌──────────────────────────┐
│ ИСПОЛНИТЕЛЬ │ bash · Desktop Commander
│ (высокий риск) │ → RCE / exfiltration
└──────────────────────────┘Вывод из трёх атак: один слой защиты (permission-диалог, classifier или system prompt) всегда обходится. Нужно минимум три слоя: изоляция среды + контроль действий + человек на рискованных шагах.
6. Слой 1 и 2: человек в цикле и визуальные подтверждения
Первая линия — не пускать агента в автономный режим там, где ошибка необратима. Действия раскладывают по тирам риска, и у каждого свой режим:
LOW-RISK MEDIUM-RISK HIGH-RISK
Autonomous Notify Confirm
────────── ────────── ──────────
чтение, поиск, отправка письма, платёж, удаление
навигация, сбор запись в CRM: данных, смена прав:
данных — агент превью + таймер агент ждёт явного
работает сам 5–10 сек, авто-proceed подтверждения
с возможностью отмены человекаЧто показывать перед подтверждением: скриншот элемента, куда модель собирается кликнуть (bounding box); действие в человеко-читаемой форме («Отправить X руб. Ивану Петрову»); из какой задачи оно вытекает; кнопку Stop с автосохранением состояния.
Два режима закрывают чувствительные сценарии. Watch mode (ChatGPT Agent, Claude): на sensitive-сайтах пользователь видит каждый шаг и может прервать. Takeover (Operator-паттерн): на вводе логина, 2FA, CAPTCHA агент приостанавливает сбор скриншотов и передаёт клавиатуру и мышь человеку. Плюс fail-closed by default: если модель не уверена — спрашивает, а не гадает.
Опасность HITL — approval fatigue: если спрашивать на каждый чих, человек начинает жать OK не читая, и защита обнуляется. Поэтому подтверждения — только на high-risk, а не на всё подряд.
7. Слой 3: изоляция, минимальные права, контроль доменов
Главный слой — не контроль действий (он обходим), а изоляция среды. Агент никогда не запускается на хосте. Модель угроз диктует выбор песочницы:
- Firecracker microVM / Kata — для production: отдельное ядро Linux на каждый sandbox, агент не видит host-процессы и файлы. Старт microVM ~125 мс, накладные расходы памяти <5 МиБ.
- gVisor — для compute-heavy с ограниченным I/O: перехватывает системные вызовы агента в user-space-ядре. Дороже голого контейнера, но проброс GPU не работает; полноценной VM при этом не нужно.
- Hardened container (seccomp + AppArmor + capability dropping) — для внутренней автоматизации с доверенным кодом. Не полная VM, но многократно безопаснее дефолтного контейнера.
Два правила «никогда»: не запускать агента прямо на хосте и не монтировать docker.sock в контейнер агента — это классический способ побега из контейнера (Docker socket escape).
Дальше — минимальные права по трём осям:
- Сеть. Default-deny, allowlist только нужных доменов. Никаких wildcards вроде
*.googleapis.com— они покрывают сервисы, о которых вы не думаете, и через injection атакующий выгрузит секреты по «разрешённому» правилу. Весь HTTP/HTTPS через proxy, raw TCP/UDP заблокированы, каждый outbound логируется. - Файловая система. Read-write — только рабочая директория,
$HOME/.ssh/.aws//etc(если вообще монтируются) строго read-only. Не ходить по symlinks за пределы workspace. Git hooks и CI-файлы в workspace — ревью вручную: их могут подменить и исполнить. - Credentials. Ключи инжектятся в заголовки на host-стороне через credential proxy и внутрь VM не попадают — компрометация sandbox тогда не равна утечке ключей. Секретов в
.envвнутри песочницы быть не должно.
Deny-list на действия (curl/wget только через proxy, прямой запрет rm -rf с корневыми путями, dd, mkfs, shutdown, запись в ~/.ssh) — полезен, но вспомогателен: он обходим, и полагаться только на него нельзя. Изоляция остаётся основным слоем, deny-list — страховкой.
Итог
- CUA — это ReAct по скриншотам: одна мультимодальная сеть смотрит, думает и кликает в цикле «восприятие → рассуждение → действие → новый скриншот». Не OCR + скрипт.
- Берут его последним в лестнице API → browser automation → RPA → CUA — для нестабильного UI без API, где детерминированные скрипты ломаются, а токены окупаются.
- Бенчмарки 2026 обманчивы: 72,7 % Opus на OSWorld-Verified соседствует с 28 % на строгом Mind2Web-2 и UAR 23 % против 0 % у человека. Не доверяй одной цифре.
- Безопасность встроена в архитектуру, а не докручивается потом. Модель не отличает данные от инструкций, поэтому нужна не одна заплатка, а три слоя: изоляция среды + контроль действий + человек на рискованных шагах. Изоляция — основной слой; HITL и deny-list — страховка поверх неё.
FAQ
Чем computer-use агент отличается от RPA вроде UiPath?
RPA исполняет жёсткие предзаписанные сценарии и ломается на любом изменении UI — поддержка обходится кратно дороже самой лицензии каждый год. CUA «смотрит» на экран мультимодальной моделью и адаптируется к новой вёрстке сам, как человек. Расплата — токены: каждый скриншот в контексте стоит денег, и задача выходит дороже жёсткого скрипта. RPA выгоден на стабильном UI с большим объёмом, CUA — на нестабильном или редко меняющемся.
Правда ли, что ИИ-агенты уже превзошли человека в управлении компьютером?
На одном бенчмарке — формально да: Claude Opus 4.6 взял 72,7 % на OSWorld-Verified при человеческом уровне ~72,4 %. Но это узкий срез. На строгом академическом Mind2Web-2 человек по-прежнему вдвое впереди (54 % против 28 %), а доля небезопасных действий модели — 23 % против 0 % у человека. Средний балл скрывает зоны, где агент ломается на банальностях вроде определения времени по часам.
Что такое prompt injection в computer-use агенте?
Это атака, где вредные инструкции прячут в данных, которые агент читает по ходу задачи — в PDF, на веб-странице, в письме или даже в скрытом тексте на картинке. Модель не отличает «команды разработчика» от «текста в данных» и выполняет инъекцию как свою команду. Indirect-вариант (инструкции в контенте) считается угрозой № 1, потому что пользователь даже не видит вредную нагрузку.
Что такое атака Confused Deputy и почему CVSS 10,0?
Confused Deputy — когда агент с правами пользователя выполняет команды атакующего, пришедшие из низкорискового источника. В Claude Desktop Extensions расширения исполняются на хосте без изоляции с полными правами: вредная инструкция в описании события календаря дотекает до локального исполнителя команд и даёт удалённый запуск кода. Максимальный балл CVSS 10,0 — потому что атака zero-click, не требует действий жертвы и ведёт к полной компрометации машины.
Какую песочницу выбрать для запуска computer-use агента?
Для production — Firecracker microVM или Kata: отдельное ядро Linux на каждый sandbox, старт ~125 мс, агент не видит host. Для compute-heavy задач с ограниченным I/O — gVisor (перехват syscalls в user-space, дороже голого контейнера, но без GPU passthrough). Для внутренней автоматизации с доверенным кодом достаточно hardened-контейнера (seccomp + AppArmor + capability dropping). Чего нельзя никогда — запускать агента на хосте и монтировать docker.sock.
Можно ли защититься от инъекций одним фильтром или системным промптом?
Нет. Опыт трёх задокументированных атак показывает: любой одиночный слой — permission-диалог, classifier или system prompt — обходится. Нужно минимум три слоя: изоляция среды (microVM/gVisor), контроль действий (allowlist доменов, deny-list команд, credential proxy) и человек на рискованных шагах (HITL на high-risk). Изоляция — основной барьер, остальное — страховка поверх неё.
Источники
- HiddenLayer — Indirect Prompt Injection of Claude Computer Use — канонический PoC
rm -rfчерез PDF: как обфускация и контекстная манипуляция обходят фильтры. - LayerX — Claude Desktop Extensions Expose Over 10,000 Users to RCE — разбор Confused Deputy в MCP с оценкой CVSS 10,0, сценарий «Ace of Aces».
- Anthropic — Mitigate jailbreaks and prompt injections — официальный список митигаций:
tool_result-изоляция, маркировка источника, Haiku-фильтр, скриншот-классификаторы. - OpenAI — Introducing Operator — watch mode и takeover, отключение долговременной памяти в agent-режиме.
- Stanford HAI — Technical Performance (2026 AI Index) — рост средней точности агентов с 12 % до 66,3 % и понятие зубчатого интеллекта.
- ClawsBench (arXiv) — метрики TSR/UAR/SCR и связь «выше успешность — больше небезопасных действий».
- Scaling Computer-Use Grounding via UI Decomposition (OSWorld-G / JEDI) — почему GUI grounding нетривиален и как его измеряют.
Числовые ориентиры в тексте (success rate, UAR, время старта песочниц) зависят от профиля нагрузки, версии модели, scaffold и методологии конкретного лидерборда — это порядки величин для принятия решений, а не точные константы.