8. План, изменение копии и повторная проверка
Суть этапа
Применяем ограниченное изменение к рабочей копии и проверяем его результат. На этом этапе агент не получает права записывать файлы на хостинг клиента.
Что содержит план
Находку и причину изменения, список файлов, diff, исходные хеши, ожидаемые проверки и способ восстановления. План имеет собственную версию и относится к конкретной рабочей копии.
Первый MVP должен поддерживать один выбранный проверяемый сценарий. Кандидат — восстановление подтверждённо нежелательного изменения файла ядра WordPress из доверенной версии. Несовпадение хеша само по себе не доказывает взлом.
Как применяем
- Проверяем права, область изменения и соответствие плана задаче.
- Закрепляем исходный снимок от удаления на время работы и срок восстановления.
- Проверяем его доступность и целостность: он уже хранит оригиналы файлов.
- Сверяем текущие файлы с исходными хешами плана.
- Применяем изменение, фиксируем результат и историю.
- Повторяем соответствующие проверки и сравниваем результаты.
При конфликте исходника останавливаем применение и пересматриваем план. Повтор MCP-вызова не должен повторно менять уже изменённые файлы. При частичном сбое фиксируем неудачную попытку и пересоздаём всю копию из исходного снимка. Частичный откат отдельных файлов в 0.1.0 не нужен. В одной рабочей копии допускаем только одно активное исправление. Результат сохраняем новым снимком в S3 и связываем с remediation; повторную проверку привязываем к этому снимку. Неудачная попытка остаётся в истории, следующая начинается из явно выбранного сохранённого снимка.
Что означает проверка
Повторный статический анализ подтверждает только результаты этих проверок. Он не доказывает, что магазин или форма работают. Если сценарий требует запуска сайта, нужна отдельно изолированная среда с тестовой БД и отключёнными платежами, почтой и другими внешними эффектами.
Результат этапа
Есть новая версия копии, точный diff и результаты повторных проверок либо понятный статус ошибки. Утверждение «исправлено» ограничено тем, что действительно проверено.