Skip to main content
ベータ機能。 この監査機能は、初期フィードバックを収集しながらベータ版として提供しています。 検出器カタログとレポート形式は、次の安定版リリース前に変更される可能性があります。 問題を発見した場合は、Issueを作成してください。
監査機能は、CLIサブコマンドではなく /audit ダッシュボードページ として提供されています。ダッシュボードのナビゲーションバー(PoliciesとProjectsの間)から開くか、failproofai をローカルで実行している場合は http://localhost:8020/audit に直接アクセスしてください。
failproofai          # ダッシュボードを開き、"Audit" をクリック
ダッシュボードは、このマシン上にある過去のエージェントCLIトランスクリプト(Claude Code、Codex、Copilot、Cursor、OpenCode、Pi、Gemini)をスキャンし、failproofai が防ぐよう設計した操作(環境変数のチェック、強制プッシュ、冗長な cd <cwd> プレフィックス、スリープポーリングループ、編集直後のファイル再読み込みなど)がどれだけ行われたかを報告します。 各トランスクリプトについて、すべてのツール使用イベントが39個の組み込みポリシーと、ランタイムポリシーではまだカバーされていないパターンを検出する8つの監査専用検出器を通じて再実行されます。カウントはすべてのセッションにわたって、ポリシー/検出器ごとに集計されます。

確認できる内容

/audit ページは6つのセクションで構成されています。
  1. Identity — 監査済みのすべてのトランスクリプトにわたる重み付きシグナルに基づいて、エージェントを8つのアーキタイプ(optimistcowboyexplorergoldfishparanoid architectprecision builderhammerghost)のいずれかに分類します。
  2. Strengths — スキャンから得られた実際の数値(クリーンコール率、「認証情報漏洩ゼロ」など)。関連するsanitizeポリシーが実際に機能していることが条件となります。
  3. Score — 0〜100のスコアにS/A/B/C/D/Fのバンドと、推奨ポリシーをすべて有効にした場合の予測改善値を表示します。
  4. Findings — ポリシーごとのカード。何が起きたか、コスト、取得済みの証拠、および検出できたであろうライブタイム組み込み機能を有効にする正確な failproofai policy add <slug> コマンドを表示します。
  5. Prescribed policiesfailproofai policies --install コマンド一発でインストールできるように集約されたリストです。
  6. Re-audit reminder — 「より良い状態で戻ってきてください」。APIサーバー経由で7日間のメールリマインダーを設定できます(サインインが必要。failproofai auth を参照)。

監査専用検出器

これらは、リアルタイムでは(まだ)適用されていない「非効率な動作」パターンを検出します。監査中のみ実行され、ライブのツール呼び出しをブロックすることはありません。
検出器カウント対象
redundant-cd-cwdコマンドがすでに cwd で実行されているにもかかわらず、cd <cwd> && … で始まるBashコマンド。
prefer-edit-over-read-cat単一のソースファイルへの cat/head/tail/less/more 操作 — Read ツールを使用すべき。
prefer-edit-over-sed-awksed -i / awk … > file によるインプレース編集 — Edit ツールを使用すべき。
prefer-write-over-heredocヒアドキュメントや複数行の echo > file によるファイル書き込み — Write ツールを使用すべき。
sleep-polling-loop長い sleep N(30秒以上)や while …; sleep …; done によるポーリングループ。
find-from-rootfind /find /homefind /usr などのルートからの検索 — cwd にスコープを絞るべき。
git-commit-no-verifygit commit … --no-verify / -n によるフックのスキップ。
reread-after-edit同一セッション内で Edit/Write した直後のファイルへの Read 操作。

キャッシュ

  • トランスクリプトごとのキャッシュ~/.failproofai/cache/audit/<sha1>.json に保存され、(mtime, size, engineVersion, detectorVersion) をキーとしています。トランスクリプトやポリシー/検出器のコードが変更されると自動的に無効化されます。各エントリには cachedAt タイムスタンプが TTLメタデータ として保存されます(キャッシュキーには含まれません)。7日以上経過したエントリは読み取り時に拒否されるため、長期間保持された結果が進化する検出器の意図と乖離することはありません。
  • 結果全体のキャッシュ~/.failproofai/audit-dashboard.json(モード0600)に保存されます。ナビゲーション時に再実行なしでダッシュボードを即座にレンダリングできます。こちらも 7日間のTTL を超えると読み取り時に拒否されます — その場合 /audit は空の状態にフォールバックし、新たな実行を促します。レポート下部にある [ re-audit now ] をクリックして更新できます。再監査は noCache: true を送信するため、トランスクリプトごとのキャッシュをバイパスして、キャッシュ済みの結果を返さずすべてのトランスクリプトを再スキャンします。実行の進捗はページ上部のスティッキーストリップでストリーミング表示され、成功するとページのリロードなしに結果がその場で更新されます(再監査が失敗した場合は直前のレポートが維持されます)。

注意事項

  • 変更なし。 監査は読み取り専用モードで再実行されます。warn-repeated-tool-calls はスキップされます。これは、実行するとセッションごとのサイドカーが変更されてしまうためです。
  • ワークフローポリシーはスキップ。 require-*-before-stop ポリシーは Stop イベント時にのみ機能し、ライブのgit状態に対して execSync を実行します。「2025年に何が起きていたか」という意味のある解釈ができないため、監査カウントには表示されません。
  • カスタムポリシーはスキップ。 ユーザーが設定したカスタムフックは再実行されません(元のセッション以降に変更されている可能性があるため)。