Руководство
Как мониторить ИИ-агентов для программирования на машинах разработчиков
За чем следить, когда Claude Code, Codex или Cursor работают на ноутбуках команды, что могут и не могут показать встроенные хуки и телеметрия и как уважать приватность.
· 9 мин чтения · Команда vetkit


Почему подтверждений недостаточно
ИИ-агенты для программирования спрашивают разрешения перед рискованными действиями или оставляют решение автоматическому ревьюеру. Это защищает момент подтверждения. Но это не говорит команде, что произошло за сотни сессий на десятках ноутбуков: какой агент прочитал облачные учётные данные, какой отправил данные на домен, который никто не узнаёт, и какой тихо отредактировал собственные настройки, чтобы при следующем запуске спрашивать меньше.
Мониторинг закрывает этот пробел. Цель не в том, чтобы следить за разработчиками, а в том, чтобы суметь ответить на простой вопрос, когда что-то выглядит подозрительно: что трогал агент? В руководстве о том, к чему агенты имеют доступ объясняется, почему эта поверхность больше, чем думает большинство.
За чем следить
Большая часть риска укладывается в несколько категорий. Полезный монитор охватывает каждую из них и связывает активность с агентом, который её вызвал.
| Категория | Примеры | Почему это важно |
|---|---|---|
| Доступ к учётным данным | SSH- и GPG-ключи, облачные учётные данные, токены, связка ключей, данные браузера | Самое ценное, что есть на машине разработчика |
| Исходящий трафик | Загрузки, paste-сервисы и файлообменники, впервые встреченные домены | Так данные уходят наружу; чтение учётных данных с последующей отправкой — классическая последовательность |
| Деструктивные действия | Массовые удаления, переписывание истории git, удаление таблиц, изменение облачных ресурсов | Ошибки здесь обходятся дорого даже без злоумышленника |
| Границы | Чтение, поиск и запись за пределами проекта | Задаче по программированию редко нужен весь остальной диск |
| Цепочка поставок | Установка пакетов, передача удалённого скрипта в shell через пайп, запуск MCP-серверов | Новый код приходит и выполняется с вашими правами |
| Закрепление и конфигурация | Объекты автозапуска, профили оболочки, настройки и файлы инструкций агента, режимы обхода подтверждений | Изменения, которые переживают сессию и определяют следующую |
Что инструменты дают из коробки
Сами агенты предоставляют полезные хуки и телеметрию. Это хорошая отправная точка, но с понятными ограничениями.
- Хуки. Claude Code, Codex и Cursor умеют запускать ваш собственный скрипт до или после вызова инструмента, например перед shell-командой или вызовом MCP. В документации Claude Code и Cursor указано, что по умолчанию при таймаутах или ошибках хуки пропускают действие (fail open), и Claude Code рекомендует для жёстких правил разрешения и запрета систему разрешений, а не хуки.
- OpenTelemetry. Claude Code и Codex могут экспортировать решения и результаты вызовов инструментов через OpenTelemetry. По умолчанию это выключено, промпты не логируются, пока вы явно это не включите, и ни один из инструментов не позволяет собственной конфигурации репозитория включать телеметрию или выбирать, куда она отправляется.
- Чего они не видят. Встроенные сигналы описывают, что агент попросил сделать свои инструменты. Shell-команда, запускающая другие процессы, скрипт внутри установки зависимости или контейнер, запущенный агентом, остаются вне поля зрения, и каждый инструмент отчитывается в своём формате.
Три способа мониторинга
| Подход | Сильные стороны | Ограничения |
|---|---|---|
| Хуки и телеметрия агентов | Точные вызовы инструментов, легко начать, поддерживается вендором | Отдельная настройка для каждого инструмента, fail open, не видит дочерние процессы, зависит от конфигурации каждого разработчика |
| Защита конечных точек (EDR) | Видит каждый процесс и каждое соединение на машине | Не знает, какая активность пришла из сессии агента, а правила написаны под вредоносное ПО, а не под активно работающего ассистента |
| Специализированный монитор агентов | Связывает активность в операционной системе с агентом и сессией, единое представление для всех инструментов, правила написаны под поведение агентов | Ещё одно приложение для установки; чтобы команда его приняла, нужна понятная модель приватности |
Эти подходы хорошо сочетаются. Хуки дают точное намерение, специализированный монитор — охват и атрибуцию, а EDR остаётся страховкой для всего остального на машине.
Думайте сессиями, а не событиями
Отдельное чтение файла редко представляет интерес. Сессия, которая прочитала облачные учётные данные, а затем что-то загрузила на впервые встреченный домен, — представляет. Две идеи делают мониторинг полезным, а не шумным:
- Группируйте по сессии и правилу. Повторы одного и того же поведения должны увеличивать счётчик, а не создавать каждый раз новый алерт.
- Делайте утверждения «не было» — честно. Самый успокаивающий результат работы монитора — утверждение вроде «никакого чтения за пределами проекта» или «исходящий трафик только на разрешённые домены». Такое утверждение надёжно ровно настолько, насколько полно покрытие сенсоров за ним, поэтому оно должно сообщать, когда покрытие было частичным, например после перезапуска сенсора или когда агент передал работу в Docker или по SSH.
Мониторинг без слежки
Наблюдение за тем, что инструмент делает на чьём-то ноутбуке, близко к мониторингу сотрудников, и проектировать его нужно соответственно:
- Привязка устройства должна быть явным действием самого человека на его машине.
- Выгружайте метаданные (алерты, сводки сессий), а не содержимое файлов, промпты или нажатия клавиш.
- Маскируйте секреты на устройстве, прежде чем что-либо его покинет.
- Позвольте организациям ограничивать, что видят администраторы, и логируйте каждый раз, когда администратор открывает чьи-то детали.
- Храните данные недолго и позвольте людям в любой момент отозвать своё устройство.
- Перед внедрением проверьте требования к уведомлению, согласию и участию совета работников по местному законодательству.
Где здесь vetkit
Agent Watch — десктопное приложение vetkit для этой задачи. Оно наблюдает за сессиями Claude Code, Codex, Cursor, Windsurf, Copilot, Gemini CLI, Cline и Aider на привязанной машине и сообщает о находках в категориях доступа к учётным данным, исходящего трафика, деструктивных команд, границ, цепочки поставок, закрепления и конфигурации, сгруппированных по правилу и устройству. Каждая сессия содержит аттестации с пометкой verified, partial или unknown в зависимости от покрытия сенсоров. Приложение наблюдает и сообщает, но не блокирует.
Оно следует описанной выше модели приватности: устройства привязываются по коду, который подтверждает сам человек, выгружаются только метаданные, сырые события выгружаются, только если это явно включили и организация, и пользователь, просмотр администратором деталей другого участника фиксируется в журнале аудита, а участники могут в любой момент отозвать своё устройство. О доступности и тарифах рассказано в документации Agent Watch. О стороне конфигурации — руководство по разрешениям: оно показывает, что аудит репозитория помечает в закоммиченных настройках агентов.
Источники
Утверждения о каждом инструменте мы взяли из его собственной документации :
Названия продуктов являются товарными знаками соответствующих владельцев. vetkit не связан с ними, не одобрен и не спонсируется ими. Заметили устаревшие сведения? Напишите на contact@vetkit.dev, и мы всё исправим.