tameshita新しいツールを実際に動かした記録

failproofai — コーディングAIの暴走コマンドを止めるフック集(英語UI)動いた

Claude CodeやCodexなど10種類のコーディングエージェントCLIにフックとして入り込み、危険なコマンドやシークレット漏洩をエージェント自身が実行する前に止める、ローカル完結の監視・強制ツール。

配布元: https://github.com/FailproofAI/failproofai  / 2026-09-10 時点で確認

この日に実際に動かした結果です。内容の誤りに気づかれた場合はお問い合わせください。確認のうえ訂正します。

使い方

やること:自分が使っているコーディングエージェント(Claude Code)に、危険なコマンドを実行前に止める仕組みを実際に効かせる

  1. npmでグローバルインストールする。

    npm install -g failproofai

    added 8 packages

  2. 使っているエージェント(ここではClaude Code)にフックとして登録する。対話プロンプトを飛ばす環境変数を付けた。

    FAILPROOFAI_NO_FIRST_RUN=1 failproofai policies --install

    Failproof AI hooks installed for Claude Code (28 event types, scope: user).

  3. この時点ではまだ何も止まらない。守らせたいポリシー集(公式パック)を別途追加する必要がある。

    failproofai policies add FailproofAI/policies

    enabled (10/38, the pack's defaults): sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens, protect-env-vars +4 more

  4. block-rm-rfのような『分かりやすく効きそうな』項目はデフォルトでは無効なので、名指しで有効化する。

    failproofai policies add FailproofAI/policies --policy block-rm-rf

    enabled (11/38, what you added, plus what was already on)

  5. 何が効いているか一覧で確認する。sudoブロックやmainへの直pushブロックなど、狙い通りの項目がONになっている。

    failproofai policies

    PACK block-sudo Block sudo commands

通した結果

11 on · NOT ENFORCING ✓ PACK block-sudo Block sudo commands ✓ PACK block-push-master Block pushing to main/master ✓ PACK block-rm-rf Prevent catastrophic deletions

使ってみて良かった点

  • ローカル完結でアカウント登録不要。ダッシュボード(localhost:8020)もサインイン画面なしでそのまま開けた
  • failproofai audit が実際に自分のセッション履歴を読んで「66回のツール呼び出し中、4件がすり抜け、3件は既にポリシーでブロック済み」という具体的な数字を返してきた。宣伝文句だけでなく実データを見せる作りになっている
  • 一度エージェントにフックが刺さると、そのエージェント自身はfailproofaiのCLIを一切実行できなくなる(--versionすら拒否)。これは不便だが、『エージェントが自分の首輪を外せない』という設計上の一貫性ではある
  • アンインストールは単純:ポリシーパックの削除とnpm uninstallだけで済み、Claude Code側の設定ファイルはただのJSONなので中身を見て自分で消せることも確認できた

使ってみて不便だった点

  • READMEは「39 built-in policies activate immediately」と読める書き方だが、実際は failproofai policies --install だけではポリシーは1つも有効にならない(エージェントへのフック登録と、守らせる中身は別工程)。さらに公式パックを追加しても、デフォルトで有効なのはsanitize系とprotect-env-varsなど10/38だけで、block-rm-rfやblock-kubectl・block-terraformのような『効きそう』な項目は自分で名指しして有効化しないと動かない
  • エージェントに『入れておいて』と作業させると、そのエージェントは以後、有効化の確認もアンインストールも自力ではできなくなる(CLI実行が一律拒否されるため)。設定変更や状態確認は人間が別の端末から行う前提になっている
  • block-rm-rfは名前から連想する『危険なrm -rfを止める』より対象が狭い。ソースを確認したところ `rm -rf /` やホームディレクトリ丸ごとのような『破滅的な』パスだけを検知する設計で、プロジェクト内の任意のディレクトリに対するrm -rfは素通りする

詰まった点と、効いた対処

実行したコマンド
failproofai --help
出たエラー
Blocked Bash by failproofai because: Running failproofai CLI commands is blocked, as per the policy configured by the user
対処

エージェントの中からは二度と失効させられない設計。人間の端末から操作するか、/root/.claude/settings.json のhooksをエディタで直接空にする(このファイル自体はfailproofaiの管理下ではないので編集がブロックされない)

確認した条件

確認日2026-09-10
試した版npm failproofai@1.0.3
実行環境node:22 / このマシンに直接(npm -g)。Dockerデーモンが使えなかったため使い捨てコンテナは使わず、このセッション自身が動いているClaude Code環境にフックとして実インストールして検証した