Failproof AI разработан так, чтобы отказ при принудительном применении был виден, а не молча допускал рискованные операции.
Диагностика блокировки при отказе
- Перейдите в Admin → enforcement и откройте машину.
- Проверьте последнее подключение, назначенное развертывание и сообщенное развертывание.
- Перейдите в Observe → policy и откройте сеанс отклоненного решения.
- Подтвердите, содержит ли причина сведения о доступности демона, рассогласовании версий или самой политике.
Повторное выполнение failproofai config обновляет и перезапускает демон после обновления пакета.
На машине, настроенной для использования failproofaid, демон является единственным оценивающим. Если он недоступен или его версия протокола не совпадает с версией CLI, вычисление хука завершается отказом. Действие отклоняется с причиной, которая направляет оператора на проверку или обновление демона.
До конфигурации демона хуки вычисляют политики внутри процесса. После того как конфигурация демона записана, Failproof AI не молча не переходит на второго оценивающего при отказе демона.
Ответ на решение об отказе при отказе
- Запустите
failproofai config --status.
- Если версии отличаются, переустановите пакет и повторно запустите
failproofai config.
- Если демон недоступен, проверьте состояние его сервиса и локальные журналы.
- Продолжайте работу агента только после того, как известный путь вычисления политики будет исправен.
Не повторяйте заблокированное действие несколько раз. Ответ об отказе означает, что система не смогла установить, что действие было безопасным.
Пакет не загружается
Машина, которой было приказано применить пакет и которая не может его запустить, отклоняет его, а не продолжает молча. Триггер — это записанное ожидание, никогда не пустое: машина без установленных пакетов молчит, а пакет, который объявлен и не разрешится — или зарегистрирует меньше, чем объявляет его манифест — отклоняется.
Отказ узконаправленный, в отличие от недоступного демона. Недоступный демон означает, что вычисление вообще не произошло, поэтому ничего нельзя считать безопасным. Пакет, который не загружается, имеет перечислимый набор отсутствующих политик, потому что каждая объявленная политика имеет свой собственный match — поэтому он отклоняет только события и инструменты, охватываемые этими политиками, а все остальное продолжается.
Он не срабатывает для:
- пакета
observe, который по конструкции вычисляет и отклоняет
- политик, которые вы никогда не брали или явно отключили
- пакета, который загрузчик никогда не получал, где нельзя отличить отсутствие регистраций от преднамеренного пропуска
- активной паузы сеанса
- превышения времени загрузки, что является переходным — один медленный момент диска не должен отклонять до тех пор, пока не вмешается человек
UserPromptSubmit инструктирует вместо отказа, какой бы отсутствующей политике ни объявляли. Полный отказ повлек бы это и заблокировал бы вам доступ к агенту, который мог бы решить проблему.
Что делать
Список отмечает установленный пакет, запись об установке или дайджест которого больше не проверяются, и объясняет почему. Он не импортирует пакет, поэтому тот, который не работает, пока не загружается — регистрирует меньше, чем объявляет его манифест — отображается как обычно; приведенный ниже отказ — это то, что его называет. В любом случае переустановите его (failproofai policies add <source>) или удалите его (failproofai policies remove <publisher/name>) — удаление снимает ожидание, и отказ прекращается вместе с ним.
Сам отказ атрибутируется pack/failproofai-pack-unavailable, которая имеет приоритет над загруженными политиками, поэтому заблокированный вызов инструмента называет отсутствующий пакет, а не какую-нибудь оставшуюся политику, которая сработала первой.