Skip to main content

title: Audit sessioni passate (beta) description: “Conta quante volte l’agente ha fatto cose improduttive o rischiose nei trascritti passati”

Funzionalità beta. L’audit viene distribuito come beta mentre raccogliamo i primi feedback. Il catalogo dei detector e il formato del report potrebbero cambiare prima della prossima versione stabile. Apri una issue se qualcosa non ti sembra corretto.
L’audit è ora esposto come la pagina /audit dashboard, non come un sottocomando CLI. Aprila dalla barra di navigazione del dashboard (tra Policies e Projects), oppure visita direttamente http://localhost:8020/audit quando esegui failproofai in locale.
failproofai          # apri il dashboard, poi clicca su "Audit"
Il dashboard scansiona i trascritti CLI dell’agente passato su questa macchina (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) e riporta quanto spesso l’agente ha fatto cose che failproofai è costruito per bloccare — controlli di variabili d’ambiente, force push, prefissi cd <cwd> ridondanti, loop di polling con sleep, ri-lettura di file appena modificati, e altro ancora. Per ogni trascritto, ogni evento tool-use viene riprodotto attraverso le 39 politiche builtin e attraverso 8 detector solo per l’audit che rilevano pattern non ancora coperti dalle politiche runtime. I conteggi vengono aggregati per politica / detector su tutte le sessioni.

Cosa ottieni

La pagina /audit è composta da sei sezioni:
  1. Identity — il tuo agente classificato in uno degli 8 archetipi (optimist, cowboy, explorer, goldfish, paranoid architect, precision builder, hammer, ghost) in base al segnale ponderato da ogni trascritto controllato.
  2. Strengths — numeri reali derivati dalla scansione (% clean-call, “0 credential leaks”, ecc.) limitati alle politiche di sanitize effettivamente attive.
  3. Score — 0-100 con fasce S/A/B/C/D/F e un miglioramento previsto se ogni politica consigliata fosse abilitata.
  4. Findings — schede per-politica con cosa è successo, costo, prove raccolte, e il comando esatto failproofai policy add <slug> per abilitare il builtin che lo avrebbe rilevato in tempo reale.
  5. Prescribed policies — lista di installazione aggregata con un comando failproofai policies --install unico.
  6. Re-audit reminder — “torna più preparato.” Imposta un promemoria email di 7 giorni tramite l’api-server (richiede accesso; vedi failproofai auth).

Detector solo per l’audit

Questi rilevano pattern di “comportamento stupido” non (ancora) forzati in tempo reale. Vengono eseguiti solo durante l’audit e non bloccano mai una chiamata tool live.
DetectorCosa conta
redundant-cd-cwdComandi Bash che iniziano con cd <cwd> && … anche se i comandi vengono già eseguiti in cwd.
prefer-edit-over-read-catcat/head/tail/less/more su un singolo file sorgente — usa lo strumento Read.
prefer-edit-over-sed-awksed -i / awk … > file modifiche in-place — usa lo strumento Edit.
prefer-write-over-heredocHeredoc / multi-line echo > file per scrivere file — usa lo strumento Write.
sleep-polling-loopLong sleep N (≥ 30s) o while …; sleep …; done loop di polling.
find-from-rootfind /, find /home, find /usr, ecc. — ristringi a cwd invece.
git-commit-no-verifygit commit … --no-verify / -n, saltando i hook.
reread-after-editRead di un file che è stato appena Edit/Write nella stessa sessione.

Cache

  • Cache per-trascritto in ~/.failproofai/cache/audit/<sha1>.json indicizzato da (mtime, size, engineVersion, detectorVersion). Si invalida automaticamente quando il codice della politica o del detector cambia.
  • Cache del risultato completo in ~/.failproofai/audit-dashboard.json (modalità 0600). Consente al dashboard di renderizzare istantaneamente durante la navigazione senza riesecuzione. Clicca [ re-audit now ] dal dashboard per aggiornare.

Note

  • Nessuna mutazione. L’audit viene riprodotto in modalità sola lettura. warn-repeated-tool-calls viene saltato perché il suo sidecar per-sessione verrebbe altrimenti modificato.
  • Politiche del workflow saltate. Le politiche require-*-before-stop vengono attivate solo su eventi Stop e execSync rispetto allo stato git live — non hanno interpretazione significativa “cosa sarebbe successo nel 2025”, quindi non compaiono nei conteggi dell’audit.
  • Politiche custom saltate. I custom hook forniti dall’utente non vengono riprodotti (potrebbero essere cambiati dalla sessione originale).