Локализовать инцидент
Получить находку, доверенный реестр запуска, действующий контракт и уже выданные полномочия. Считать остановку новых действий, завершение процесса, отзыв токена и откат файлов разными действиями с разными последствиями. Не запрашивать повторно уже предоставленное разрешение; не считать содержание трейса новым разрешением.
Остановить распространение
Для продолжающегося опасного действия сначала использовать разрешённый барьер supervisor: прекратить выдачу новых инструментов/egress конкретному запуску. Затем сохранить доступные доказательства, не задерживая сдерживание ради полного копирования журнала. Режим observe сам по себе не даёт права менять чужие процессы или инфраструктуру.
Перед воздействием сверить run_id с PID, временем старта, UID, cwd и контейнером/группой процессов из доверенного реестра. Учесть дочерние процессы, повторное использование PID, фоновые задачи и общие с другими запусками ресурсы. Не выполнять массовый killall, pkill по имени или сигналы PID, взятому только из лога.
Использовать штатную остановку supervisor. При необходимости и имеющемся разрешении остановить только проверенную группу/контейнер; учитывать, что остановка worker не отменяет уже отправленные внешние задания. Запрос на паузу не равен фактической остановке. Проверить состояние процессов, прекращение новых вызовов и наблюдаемых эффектов. При сбое остановки сообщить оператору точное состояние и доступный следующий шаг.
Сохранить доказательства
Зафиксировать время решения, основание, полномочия, ответ supervisor, контракт, границы событий, хеши и версии monitor/collector. Сохранить нужный снимок первичного журнала и защищённый manifest; приоритет — минимальный достаточный набор. Не удалять, не «чистить» и не переупорядочивать исходные логи. Отдельно подготовить редактированный отчёт по references/incident.md.
Не выполнять git reset --hard, удаление worktree или откат всей рабочей папки: сначала определить принадлежащие запуску изменения и сохранить совместную работу. Если обнаружен доступ к реальному секрету, обращаться с ним как с секретом; отзыв/ротацию проводить только в уже разрешённой системе и учитывать других потребителей.
Завершить передачу
Вернуть статус contained/partially_contained/not_contained, остановленные и ещё активные компоненты, наблюдаемый ущерб, пути доказательств и владельца следующего действия. При отсутствии нужных полномочий задать оператору один конкретный вопрос о подготовленном действии; доступный read-only анализ продолжить.
Не возобновлять запуск автоматически после появления нового heartbeat или исчезновения алерта. Передать условия исправления и повторной проверки на этап возобновления.