Перейти к содержимому

7. Агент, MCP и рабочая копия ​

Суть этапа ​

Агент получает сводку проверки и исследует конкретные находки через MCP. В 0.1.0 проверяем сценарий на одном внешнем MCP-клиенте. Встроенного агента Agentfy подключаем в 0.2.0 к тем же операциям.

Доступ агента ​

Для внешней интеграции owner создаёт отдельный API-ключ команды с нужными разрешениями и сроком действия. Агент работает только с проектами этой команды; чтение кода, запуск сканера и изменение копии требуют своих прав. Ключ хранится в настройках интеграции, вне чата и skills. Встроенный агент использует ограниченный серверный контекст сессии пользователя.

Инструменты для исследования ​

  • Статус задачи, сводка, список и детали находок.
  • Дерево файлов, поиск текста и чтение ограниченного диапазона строк.
  • Получение свидетельств с хешами и признаками неполного покрытия.
  • Подготовка плана, просмотр diff, изменение копии и повторная проверка.

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

Skills описывают порядок исследования и условия остановки. Для 0.1.0 достаточно поиска текста и чтения файлов; структурный поиск оцениваем позже.

История изменений и восстановление ​

Рабочую копию создаём из неизменяемого snapshot в S3. Для каждого исправления сохраняем план и запись remediation, diff, исходные хеши и новый снимок результата. Повторный scan проверяет именно этот результирующий снимок.

В одной рабочей копии выполняется только одно активное исправление. Неудачная попытка остаётся в истории; следующую начинаем из выбранного сохранённого снимка. Для восстановления копии используем снимок и его манифест, а не обратное применение diff. Diff нужен для просмотра изменений; бинарные файлы сравниваем по хешам и сохраняем их версии в снимках.

Файлы с секретами хранятся с ограниченным доступом; секретные значения не попадают в обычный diff, индекс поиска или контекст модели. Восстановление рабочей копии не означает откат сайта на хостинге.

Жизненный цикл среды ​

MCP адресует workspaceId, а не конкретный контейнер. Постоянный контейнер для агента не нужен: временная папка доступна через контролируемые операции. Состояние копии и история сохраняются вне исполнителя. После простоя среду можно удалить и восстановить из снимка и сохранённых изменений. Неподтверждённая правка после сбоя не должна выдаваться за сохранённую.

Результат этапа ​

Агент объясняет конкретную находку, собирает свидетельства и предлагает план. Результат исследования связан с исходным снимком и не теряется вместе со средой.

Securify · Документация проекта · Прототип → MVP