Skip to main content
Fonctionnalité bêta. L’audit est fourni en version bêta pendant que nous recueillons les premiers retours. Le catalogue de détecteurs et le format de rapport sont susceptibles d’évoluer avant la prochaine version stable. N’hésitez pas à ouvrir un ticket si quelque chose vous semble incorrect.
L’audit est désormais accessible depuis la page du tableau de bord /audit, et non via une sous-commande CLI. Ouvrez-la depuis la barre de navigation du tableau de bord (entre Policies et Projects), ou accédez directement à http://localhost:8020/audit lorsque vous exécutez failproofai en local.
failproofai          # ouvrez le tableau de bord, puis cliquez sur "Audit"
Le tableau de bord analyse les transcriptions CLI passées de l’agent sur cette machine (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) et indique la fréquence à laquelle l’agent a effectué des actions que failproofai est conçu pour bloquer — vérifications de variables d’environnement, push forcés, préfixes cd <cwd> redondants, boucles de polling avec sleep, relecture de fichiers venant d’être modifiés, et bien plus encore. Pour chaque transcription, chaque événement d’utilisation d’outil est rejoué à travers les 39 politiques intégrées et à travers 8 détecteurs réservés à l’audit, qui identifient des patterns non encore couverts par les politiques en temps réel. Les occurrences sont agrégées par politique / détecteur sur l’ensemble des sessions.

Ce que vous obtenez

La page /audit est composée de six sections :
  1. Identité — votre agent classifié dans l’un des 8 archétypes (optimist, cowboy, explorer, goldfish, paranoid architect, precision builder, hammer, ghost) en fonction du signal pondéré sur l’ensemble des transcriptions auditées.
  2. Points forts — chiffres réels issus de l’analyse (% d’appels propres, “0 fuite de credentials”, etc.) conditionnés par le déclenchement effectif des politiques de sanitisation concernées.
  3. Score — de 0 à 100 avec des niveaux S/A/B/C/D/F et une estimation de l’amélioration projetée si toutes les politiques recommandées étaient activées.
  4. Résultats — fiches par politique indiquant ce qui s’est passé, le coût, les preuves capturées, et la commande exacte failproofai policy add <slug> pour activer le builtin en temps réel qui aurait détecté le problème.
  5. Politiques prescrites — liste d’installation agrégée avec une commande failproofai policies --install en une seule étape.
  6. Rappel de ré-audit — « revenez avec de meilleurs résultats ». Programmez un rappel par e-mail dans 7 jours via l’api-server (connexion requise ; voir failproofai auth).

Détecteurs réservés à l’audit

Ces détecteurs identifient des patterns de comportements sous-optimaux qui ne sont pas (encore) appliqués en temps réel. Ils s’exécutent uniquement lors de l’audit et ne bloquent jamais un appel d’outil en direct.
DétecteurCe qu’il compte
redundant-cd-cwdCommandes Bash commençant par cd <cwd> && … alors que les commandes s’exécutent déjà dans cwd.
prefer-edit-over-read-catcat/head/tail/less/more sur un seul fichier source — utilisez l’outil Read à la place.
prefer-edit-over-sed-awkModifications en place sed -i / awk … > file — utilisez l’outil Edit à la place.
prefer-write-over-heredocÉcriture de fichiers via heredoc / echo > file multi-lignes — utilisez l’outil Write à la place.
sleep-polling-loopLongues pauses sleep N (≥ 30s) ou boucles de polling while …; sleep …; done.
find-from-rootfind /, find /home, find /usr, etc. — limitez la portée à cwd.
git-commit-no-verifygit commit … --no-verify / -n, en contournant les hooks.
reread-after-editLecture (Read) d’un fichier qui vient d’être modifié via Edit/Write dans la même session.

Caches

  • Cache par transcription dans ~/.failproofai/cache/audit/<sha1>.json, indexé par (mtime, size, engineVersion, detectorVersion). Invalidé automatiquement lors de modifications du code des politiques ou des détecteurs.
  • Cache du résultat global dans ~/.failproofai/audit-dashboard.json (mode 0600). Permet au tableau de bord de s’afficher instantanément à la navigation sans relancer l’analyse. Cliquez sur [ re-audit now ] depuis le tableau de bord pour forcer une actualisation.

Remarques

  • Aucune mutation. L’audit s’exécute en mode lecture seule. warn-repeated-tool-calls est ignoré car son sidecar par session serait autrement modifié.
  • Politiques de workflow ignorées. Les politiques require-*-before-stop se déclenchent uniquement sur les événements Stop et via execSync sur l’état git en direct — elles n’ont pas d’interprétation pertinente dans un contexte de rejoue historique, et n’apparaissent donc pas dans les comptages d’audit.
  • Politiques personnalisées ignorées. Les hooks personnalisés fournis par l’utilisateur ne sont pas rejoués (ils peuvent avoir évolué depuis la session d’origine).