Skip to main content
Функция в стадии beta. Аудит поставляется как beta, пока мы собираем ранние отзывы. Каталог детекторов и формат отчета могут измениться перед следующим стабильным релизом. Пожалуйста, откройте issue, если что-то покажется вам неправильным.
Аудит теперь доступен как страница /audit dashboard, а не как подкоманда CLI. Откройте его из навигационной панели dashboard (между Policies и Projects), или посетите http://localhost:8020/audit напрямую при запуске failproofai локально.
failproofai          # откройте dashboard, затем нажмите "Audit"
Dashboard сканирует прошлые транскрипты CLI агента на этом компьютере (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) и отчитывается о том, как часто агент выполнял операции, которые failproofai построен, чтобы предотвратить — проверки переменных окружения, force push, избыточные префиксы cd <cwd>, циклы опроса с sleep, повторное чтение только что отредактированных файлов и многое другое. Для каждого транскрипта все события использования инструментов проигрываются через 39 встроенных политик и через 8 детекторов, предназначенных только для аудита, которые ловят паттерны, не охватываемые пока политиками реального времени. Счетчики агрегируются по политикам / детекторам для всех сессий.

Что вы получаете

Страница /audit состоит из шести разделов:
  1. Identity — ваш агент классифицируется в один из 8 архетипов (optimist, cowboy, explorer, goldfish, paranoid architect, precision builder, hammer, ghost) на основе взвешенного сигнала для каждого проверенного транскрипта.
  2. Strengths — реальные цифры, полученные из сканирования (процент чистых вызовов, “0 утечек учетных данных” и т. д.), учитывая факт срабатывания соответствующих политик sanitize.
  3. Score — 0-100 с полосами S/A/B/C/D/F и прогнозируемым улучшением, если будет включена каждая рекомендуемая политика.
  4. Findings — карточки по каждой политике с информацией о том, что произошло, стоимостью, собранными доказательствами и точной командой failproofai policy add <slug> для включения встроенной политики реального времени, которая бы это поймала.
  5. Prescribed policies — агрегированный список установки с одной командой failproofai policies --install.
  6. Re-audit reminder — “вернитесь лучше подготовленными.” Установите напоминание по электронной почте на 7 дней через api-server (требуется вход; см. failproofai auth).

Детекторы, предназначенные только для аудита

Эти детекторы выявляют паттерны “глупого поведения”, не (пока) применяемые в реальном времени. Они работают только во время аудита и никогда не блокируют вызов инструмента в реальном времени.
ДетекторЧто подсчитывается
redundant-cd-cwdBash-команды, начинающиеся с cd <cwd> && …, даже если команды уже выполняются в cwd.
prefer-edit-over-read-catcat/head/tail/less/more на одном исходном файле — используйте инструмент Read.
prefer-edit-over-sed-awksed -i / awk … > file in-place правки — используйте инструмент Edit.
prefer-write-over-heredocHeredoc / многострочный echo > file для записи файлов — используйте инструмент Write.
sleep-polling-loopДлительные sleep N (≥ 30s) или while …; sleep …; done циклы опроса.
find-from-rootfind /, find /home, find /usr и т. д. — ограничьте до cwd.
git-commit-no-verifygit commit … --no-verify / -n, пропуск хуков.
reread-after-editRead файла, который был только что Edit/Write в той же сессии.

Кэши

  • Кэш для каждого транскрипта по адресу ~/.failproofai/cache/audit/<sha1>.json с ключом (mtime, size, engineVersion, detectorVersion) — автоматически инвалидируется при изменении транскрипта или кода политик/детекторов. Каждая запись также хранит временную метку cachedAt как TTL метаданные (не являются частью ключа кэша); записи старше 7 дней отклоняются при чтении, чтобы долгоживущие результаты не пережили эволюцию намерений детектора.
  • Кэш полного результата по адресу ~/.failproofai/audit-dashboard.json (режим 0600). Позволяет dashboard визуализироваться мгновенно при навигации без повторного запуска. Также отклоняется при чтении после 7-дневного TTL/audit затем переходит в пустое состояние и предлагает свежий запуск. Нажмите [ re-audit now ] близко к низу отчета для обновления — повторный аудит отправляет noCache: true, поэтому он обходит кэш для каждого транскрипта и пересканирует каждый транскрипт вместо возврата кэшированного результата; запуск выполняется с отображением прогресса через липкую верхнюю полосу и заменяет результат на месте при успехе (без перезагрузки страницы; неудачный повторный аудит сохраняет предыдущий отчет).

Примечания

  • Без изменений. Аудит проигрывается в режиме только для чтения. warn-repeated-tool-calls пропускается, потому что его побочный файл для каждой сессии в противном случае был бы изменен.
  • Политики рабочего процесса пропущены. Политики require-*-before-stop срабатывают только на события Stop и execSync против живого состояния git — они не имеют значимой интерпретации “что бы произошло в 2025”, поэтому они не появляются в счетчиках аудита.
  • Пользовательские политики пропущены. Пользовательские хуки не проигрываются (они могли измениться с момента исходной сессии).